在pcap.net中操作和发送ARP响应
本文关键字:ARP 响应 操作 pcap net | 更新日期: 2023-09-27 18:12:04
我正在建造一座人工桥,为了让数据包通过它,它必须发送一个arp响应,就好像它是目标计算机一样,以便针对网络另一端的数据包通过它。
我发现了一种发送ARP请求广播的方法使用SharpPcap和packet发送我自己的ARP包。净
但是我找不到关于如何发送响应的任何API描述。
谢谢
我查找了一个示例ARP pcap文件,发现如下:http://packetlife.net/captures/icmp_in_l2tpv3.cap(在Wireshark中搜索ARP)。
这是Pcap。Net代码应该创建一个与此文件中的ARP应答包等效的数据包:
Packet packet = PacketBuilder.Build(
DateTime.Now,
new EthernetLayer
{
Source = new MacAddress("00:50:56:a5:64:4d"),
Destination = new MacAddress("00:50:56:9a:78:c7"),
EtherType = EthernetType.Arp
},
new ArpLayer
{
ProtocolType = EthernetType.IpV4,
SenderHardwareAddress = new byte[] {0x00, 0x50, 0x56, 0xa5, 0x64, 0x4d}.AsReadOnly(),
SenderProtocolAddress = new byte[] {0x0a, 0xd8, 0x64, 0xd2}.AsReadOnly(),
TargetHardwareAddress = new byte[] {0x00, 0x50, 0x56, 0x9a, 0x78, 0xc7}.AsReadOnly(),
TargetProtocolAddress = new byte[] {0x0a, 0xd8, 0x64, 0xd3}.AsReadOnly(),
Operation = ArpOperation.Reply,
});