gpt4 book ai didi

c# - 使用 SharpPcap 和 Packet.Net 发送我自己的 ARP 数据包

转载 作者:太空狗 更新时间:2023-10-29 21:34:48 66 4
gpt4 key购买 nike

到目前为止,我尝试使用 SharpPcap 发送我通过 Packet.Net 创建的 ARP 数据包,但没有成功。问题是即使我使用 device.SendPacket 发送数据包,它实际上并没有被发送,我不知道为什么。

这是我的代码:

ARPPacket arpPacket = new ARPPacket(ARPOperation.Request, PhysicalAddress.Parse("000000000000"), targetIpAddress, device.Interface.MacAddress, myIpAddress);
EthernetPacket ethPacket = new EthernetPacket(device.Interface.MacAddress, PhysicalAddress.Parse("FFFFFFFFFFFF"), EthernetPacketType.Arp);
ethPacket.PayloadPacket = arpPacket;
device.Open();
device.SendPacket(ethPacket);
device.Close();

顺便说一下,重要的是我发送自己的 ARP 数据包,而不是只使用 SharpPcap ARP 类。

最佳答案

public static void ARP(IPAddress ipAddress , LivePcapDevice device)
{
if (ipAddress == null )
throw new Exception("ARP IP address Cannot be null");
var ethernetPacket = new PacketDotNet.EthernetPacket(device.Addresses[1].Addr.hardwareAddress, PhysicalAddress.Parse("FF-FF-FF-FF-FF-FF"), PacketDotNet.EthernetPacketType.Arp);

var arpPacket = new PacketDotNet.ARPPacket(PacketDotNet.ARPOperation.Request, PhysicalAddress.Parse("00-00-00-00-00-00"), ipAddress , device.Addresses[1].Addr.hardwareAddress, device.Addresses[0].Addr.ipAddress );
ethernetPacket.PayloadPacket = arpPacket;

device.SendPacket(ethernetPacket);
}

试试这个功能,来自:http://stolenpackets.net/?p=29

关于c# - 使用 SharpPcap 和 Packet.Net 发送我自己的 ARP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14114971/

66 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com