阅读:2286回复:0
怎样获取本机发出的arp包的数量
1、方法一 Iphlpapi
if ((dwRetVal = GetIfTable(ifTable, &dwSize, 0)) == NO_ERROR) { if (ifTable-> dwNumEntries > 0) { pMibIfRow-> dwIndex = 2; outppt = pMibIfRow-> dwOutUcastPkts; descr. Format("%ld",outppt); AfxMessageBox(_T( descr)); } } 获得的dwOutUcastPkts是本机发出的包的数量,但是我做试验用wpcap开发的工具发的arp包没有被dwOutUcastPkts统计出来,没有用。 2、方法二 用wpcap if (*(unsigned short *)(pkt_data+12) == htons(2054) && *(unsigned short*)(pkt_data+20)==htons(1)) ArpRequest++; 是arp协议的就统计出来,但不是本机发出的 3、方法三 if( (capstat = pcap_stats(pfp, &pstat ))==0) psent =pstat.ps_sent; 我发arp包,psent总是为0 我没有什么思路了,各位大哥指点一下。。。。。。。。。。。 |
|