{开源接口}linux/windows下的数据包获取libpcap接口
#include#includetypedef struct MAC_header{unsigned char D[6];unsigned char s[6];unsigned short type;} MAC_header;void packet_handler(u_char *param, const struct pcap_pkthdr *header, c
#include <stdio.h>
#include<pcap.h>
typedef struct MAC_header
{
unsigned char D[6];
unsigned char s[6];
unsigned short type;
} MAC_header;
void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
int main(int argc,char *argv[])
{
char *device;
char errbuf[PCAP_ERRBUF_SIZE];
pcap_t *p;
device=pcap_lookupdev(errbuf);
p=pcap_open_live(device,65536,1,1000,errbuf);
pcap_loop(p,0,packet_handler,NULL);
return(0);
}
void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
{
int i;
MAC_header *mac_header;
mac_header=(MAC_header *)pkt_data;
if(mac_header->type==0x0608)
{
printf("PPPOE arp\n");
for(i=0;i<6;i++)
printf("%02x ",pkt_data[i]);
putchar('\n');
for(i=6;i<12;i++)
printf("%02x ",pkt_data[i]);
putchar('\n');
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)