如何用 C# 发送原始以太网数据包? [关闭]

2024-05-26

有没有办法通过 C# 将原始数据包以太网发送到其他主机?在 Windows 7 中,如果有区别的话。


根据 Saint_pl 的建议:

我找到了可能更好的解决方案 - 类似于 SharpPcap。它是Pcap.Net https://github.com/PcapDotNet/Pcap.Net- WinPcap 的 .NET 包装器。现在我可以随意修改我的数据包。


我有一些资源可能对您有帮助。我不会在 Windows 7 中尝试该解决方案,但也许它包含一些好的开始信息。

原始以太网数据包操作 http://www.osix.net/modules/article/index.php?id=824 or CodeProject 上的镜像 http://www.codeproject.com/KB/IP/sendrawpacket.aspx

本文的目的是解释如何在 Microsoft 平台上使用 C# 发送原始以太网数据包。原始以太网数据包是发送到物理线路的完整第 2 层网络帧。发送这样的帧允许您操纵目标和源 MAC 地址以及第 3 层协议字段。

还有一些有关原始套接字的信息(以防万一您也感兴趣):

客户端(和服务器)套接字通信 http://www.winsocketdotnetworkprogramming.com/clientserversocketnetworkcommunication8chap.html看一下整个章节,但这里是关键部分:

  • C# 原始 UDP 套接字程序示例 http://www.winsocketdotnetworkprogramming.com/clientserversocketnetworkcommunication8h.html
  • C# 原始套接字 Ping 程序示例part A http://www.winsocketdotnetworkprogramming.com/clientserversocketnetworkcommunication8i.html | part B http://www.winsocketdotnetworkprogramming.com/clientserversocketnetworkcommunication8i_1.html
  • 所有示例 http://www.winsocketdotnetworkprogramming.com/windowsocketdotnetprojectdownload.html

不发送数据包,但也许有趣:C# 中的网络嗅探器 http://www.codeproject.com/KB/IP/CSNetworkSniffer.aspx, SharpPcap - .NET 的数据包捕获框架 http://www.codeproject.com/KB/IP/sharppcap.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用 C# 发送原始以太网数据包? [关闭] 的相关文章

随机推荐