我正在尝试编写一个在 C# 中发送原始套接字的应用程序。我在 C/C++ 方面没有太多经验,所以更喜欢 C#。我在 C# 中找到了多个用于原始套接字的选项,但没有一个允许我设置标志,如 ACK、SYN、PSH、FIN 等。关于是否可以在 C# 中完成这件事有什么想法吗?
如有任何提示,我们将不胜感激。
更新: 我正在尝试编写一个工具来测试防火墙,我想发送状态数据包,具有不同标志的数据包。我正在使用 Win 2008,据我所知,我可以在上面做原始套接字。如果需要,我会求助于 C/C++,目前看起来就是这样。
进一步更新: SharpPcap 看起来不错,好像v4.0 没有源码,只有3.5 有。我将尝试糊弄它,因为文档也不完整。有人用过吗?
最终编辑: SharpPcap 看起来很棒!它正在做我需要的事情!!我将发布一个后续问题,因为我不是 .NET 大师,它捕获得很好,我只是无法从捕获委托(delegate)部分发送数据包。
谢谢大家!
最佳答案
查看 SharpPcap .
根据描述:
SharpPcap is a cross-platform packet capture framework for the .NET environment, based on the famous pcap / WinPcap libraries. It provides an API for capturing, injecting, analyzing and building packets using any .NET language such as C# and VB.NET.
它在内部使用 WinPcap 驱动程序,因此它允许您使用自己的 IP/TCP header 构建原始数据包。
关于c# - RAW 套接字 - C# - 设置标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438804/