我正试图用C#编写一个端口扫描器。我对端口扫描方法做了一些研究。
如果您感兴趣,以下是我发现有用的链接:
来问我的问题。这些是端口扫描方法:
但我只实现了TCP Connect() Scan(如这里所示)。但是这是非常慢的(测试每个端口需要>0.5秒)。为了实现其余的方法,我需要数据包级别的访问。我需要创建原始数据包。在C#中可以这样做吗?如果是这样的话,怎么做呢?
发布于 2010-01-04 18:52:34
当我很久以前使用这个伟大的WinPCap库时,它似乎是一个很好的包装器:
http://sourceforge.net/projects/sharppcap/
我肯定现在好多了。
发布于 2010-01-04 18:41:01
您必须有一个驱动程序(NDIS)或类似的东西来访问原始数据包。您还可能需要使用本机Win32 API和使用P/Invoke。
以下是一些有用的东西:http://www.codeproject.com/KB/IP/sendrawpacket.aspx
https://stackoverflow.com/questions/2001300
复制相似问题