您的位置:首页 > 其它

使用SharpPcap发送虚假构造的伪IP的UDP数据包

2009-01-04 15:48 561 查看
发送虚假构造的伪IP的UDP数据包。
构造数据包经常出错!!!原因是很多属性没设置好。。我调试了很多次才发送成功!!!
private void SendPacket()
{
string strGateWayIp = "192.168.100.1";
string strSouMac = new Class1().GetMACFromIP("192.168.100.106");//
PcapDeviceList allDevices = SharpPcap.GetAllDevices();
PcapDevice device = allDevices[0];
NetworkDevice device2 = (NetworkDevice)device;
int lLen = EthernetFields_Fields.ETH_HEADER_LEN;
string strGateWayMac = new Class1().GetMACFromIP(strGateWayIp);// zfrong
byte[] bytes = new byte[60];

UDPPacket p = new UDPPacket(lLen, bytes);//
p.EthernetProtocol = EthernetProtocols_Fields.IP;
p.IPVersion = IPVersions_Fields.IPV4;
p.IPProtocol = IPProtocols_Fields.UDP;//

p.TimeToLive = 2;//
p.IPHeaderLength = IPFields_Fields.IP_HEADER_LEN;//
p.Length = 60;//

p.SourceHwAddress = strSouMac;
p.DestinationHwAddress = strGateWayMac;

p.SourceAddress = "201.23.12.88";
p.SourcePort = 12345;

p.DestinationAddress = "192.168.100.106";
p.DestinationPort = 9000;

p.ComputeIPChecksum(true);//
p.ComputeUDPChecksum(true);

int k=0;
while(k<20)
{
device2.PcapOpen(true, 200);
device2.PcapSendPacket(p); k++;
device2.PcapClose();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: