【问题标题】:C# - a userland TCP stack in Windows XP SP IIIC# - Windows XP SP III 中的用户态 TCP 堆栈
【发布时间】:2010-10-18 01:17:21
【问题描述】:
我正在尝试创建一个应用程序来制作数据包,以便能够在此处调试某些网关,并尝试 TCP DoS 情况。
尽管如此,这应该很容易,我没有找到一种方法来为 Windows 应用程序实现它。
我开始在 Unix 机器上使用 Python 中的 Core Security 中的 Impacket,但我现在想避免这种情况。首先,Impacket 不适用于 Windows,而且它似乎并不能完全满足我的要求。
有谁知道如何在 Windows 中获得类似原始套接字的简单行为?我知道不再有原始套接字。但是有没有类似的东西?我可以使用的任何 C# 库......我没有找到任何东西。
谢谢 ;)
【问题讨论】:
标签:
networking
tcp
raw-sockets
penetration-testing
【解决方案1】:
创建套接字并不多。
using System.Net.Sockets;
Socket rawSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Raw);
或者如果它是您所追求的自定义 TCP 数据包:
Socket rawSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
如果您计划发送 .Net 框架未公开的 IP 或更高层数据包。但是,IP 和 TCP 数据包很容易组合在一起,如果您正在测试格式错误的数据包,您很可能需要自定义数据包。
【解决方案2】:
尝试使用 libpcap (winpcap),它可以在 tcp/ip 堆栈下工作,只是在原始数据包级别。