我将使用SharpPcap框架制作我的欺骗程序,因此我需要在源地址字段中使用另一个IP地址编辑我的机器的IP地址。
我在SharpPcap项目中找到了一些示例,但是如何编辑或更改发送数据包的源地址字段?
以下是发送随机数据包的示例代码:
byte[] bytes = GetRandomPacket();
private static byte[] GetRandomPacket()
{
byte[] packet = new byte[200];
Random rand = new Random();
rand.NextBytes( packet );
return packet;
}
- device.SendPacket(字节);
答案 0 :(得分:9)
请尝试Pcap.Net。
以下是如何在Pcap.Net中构建具有特定源和目标地址以及自定义有效负载的简单IPv4数据包:
Packet packet =
PacketBuilder.Build(DateTime.Now,
new EthernetLayer
{
Source = new MacAddress("11:22:33:44:55:66"),
Destination = new MacAddress("11:22:33:44:55:67"),
},
new IpV4Layer
{
Source = new IpV4Address("1.2.3.4"),
Destination = new IpV4Address("1.2.3.5"),
Ttl = 64,
Identification = 100,
},
new PayloadLayer
{
Data = new Datagram(new byte[] {1, 2, 3, 4})
});