WinPcap编程0x0300 发送一个数据包
2012-12-29 05:44
155 查看
WinPcap编程0x0300发送一个数据包
0x0300
#include <pcap.h> int main(int argc,char* argv[]) { pcap_t *fp; char errbuf[PCAP_ERRBUF_SIZE]; u_char packet[100]; int i; /* 检查命令行参数的合法性 */ if (argc != 2) { printf("usage: %s interface (e.g., rpcap://DEVICENAME. DEVICENAME can be obtained through pcap_findalldevs_ex())\n", argv[0]); return 0; } /* 打开输出设备 */ if ( (fp= pcap_open_live(argv[1], // 设备名 100, // 要捕获的部分 (只捕获前100个字节) 1, // 混杂模式 1000, // 读超时时间 errbuf // 错误缓冲 ) ) == NULL) { fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", argv[1]); return 0; } /* 假设在以太网上,设置MAC的目的地址为 1:1:1:1:1:1 */ packet[0]=1; packet[1]=1; packet[2]=1; packet[3]=1; packet[4]=1; packet[5]=1; /* 设置MAC源地址为 2:2:2:2:2:2 */ packet[6]=2; packet[7]=2; packet[8]=2; packet[9]=2; packet[10]=2; packet[11]=2; /* 填充剩下的内容 */ for(i=12;i<100;i++) { packet[i]=i%256; } /* 发送数据包 */ if (pcap_sendpacket(fp, packet, 100 /* size */) != 0) { fprintf(stderr,"\nError sending the packet: \n", pcap_geterr(fp)); return 0; } return 0; }
0x0301 调试程序
程序运行需要设备名作为参数(args[1]),也就是第一个程序中生成的设备名(例如:\Device\NPF_{16D7B6FC-5ED8-4A30-A6D2-C779A9733472})将设备名写到命令参数中调试,
单击“项目”→“属性”→“配置属性”→“调试”→在“命令参数”填入设备名。
0x0302捕获的数据包
相关文章推荐
- 外网主机怎样将数据包发送到共用一个公网IP的局域网某特定主机上的
- 怎么把一个结构体的数据包通过串口发送出去?
- 网络编程——设计一个发送TCP数据包的程序
- 发送一个记录数据包
- 网络编程——设计一个发送TCP数据包的程序
- NS 发送一个 cbr 数据包的过程
- 外网主机如何将数据包发送到共用一个公网IP的局域网某特定主机上的
- CC2640 一个连接事件发送10个数据包
- 外网主机怎样将数据包发送到共用一个公网IP的局域网某特定主机上的
- TCP、UDP数据包大小的限制(UDP数据包一次发送多大为好)——数据帧的物理特性决定的,每层都有一个自己的数据头,层层递减
- PC到PC之间怎么传送数据包?包括一个路由器,一个交换机,2台PC,由PCA发送经过交换机,路由器到PC2
- C# 自己写的一个类,用来将结构体或类中的数据打成"数据包",进行网络发送
- C# 自己写的一个类,用来将结构体或类中的数据打成"数据包",进行网络发送(转载)
- C# 一个类用来将结构体或类中的数据打成"数据包",进行网络发送
- Chilkat----开源站点之VS2010 CKMailMan一个很好的邮件发送开源开发包
- 找到的一个 关于用USB连接到手机发送短消息的DEMO CODE
- 【JAVA基础】0013--------java实现的一个发送手机短信的小例子
- [置顶] Android DIY之路 (四)拖拽替换,一个view发送其他所有view绑定即可监听到。
- WinPcap基础知识(第八课:发送数据包)
- 一个页面中用Get方法到底可以发送多少字节的数据呢?