如何使用C#发送原始以太网数据包?
有没有办法通过C#将原始数据包以太网发送到其他主机? 在Windows 7中,如果它有所不同。
根据Saint_pl的建议:
我发现可能更好的解决方案 – 类似于SharpPcap。 它是Pcap.Net – WinPcap的.NET包装器。 现在我可以随意修改我的数据包了。
我有一些资源可能对您有所帮助。 我不尝试在Windows 7中使用该解决方案,但它可能包含一些很好的信息。
CodeProject上的 原始以太网数据包操作或镜像
本文的目的是解释如何在Microsoft平台上使用C#发送原始以太网数据包。 原始以太网数据包是发送到物理线路的完整第2层网络帧。 发送这样的帧允许您操作目标和源MAC地址以及第3层协议字段。
还有一些关于原始套接字的信息(以防万一你也有趣):
客户端(和服务器)套接字通信看一下整章,但这里是关键部分:
不发送数据包但可能很有趣: C#中的网络嗅探器 , SharpPcap – 用于.NET的数据包捕获框架
iphelper API有一些低级别的东西 – 但可能没有你想要的那么低
上述就是C#学习教程:如何使用C#发送原始以太网数据包?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ip = new IPEndPoint(IPAddress.Parse("10.25.184.11"), 4456); server.Connect(ip); byte[] sendData = new byte[] { 0, 8, 32, 64 }; server.Send(sendData); //done. now let's listen for data byte[] receiveData = new byte[1024]; int receivedDataLength = server.Receive(receiveData); //if the response is a string message string stringData = Encoding.ASCII.GetString(receiveData, 0, receivedDataLength); Console.WriteLine(stringData);
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1030400.html