c# - RAW 套接字 - C# - 设置标志

标签 c# sockets

我正在尝试编写一个在 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/

相关文章:

C#:如何对十六进制数字进行位移

c# - 从 unity3d 内部发送电子邮件

c# - 表达式的正确评估

C# 同时使用 2 个 sqldatareader?

c# - Parallel.ForEach 的奇怪行为

将 32 位网络命令转换为 C 中的主机

python - 如何将非常大的图像从python脚本传输到NodeJS,而又不引起 Node 应用程序( Electron )的滞后

java - 子服务器套接字关闭时如何制作ZMQ pub客户端套接字缓冲区消息

java - 调用 socket.close() 时套接字未关闭

c++ - 创建多个 TCP Socket 连接