【发布时间】:2011-05-30 10:05:45
【问题描述】:
我知道我必须使用 libpcap 库来捕获 IEEE 802.11 帧以显示它们的 MAC 地址,例如我的无线适配器处于监控模式,并且在我执行 pcap_datalink 时仅支持“802.11 plus radiotap radio header”。
在 pcap_loop 的回调函数中,我应该如何从数据包中提取 MAC 地址?我如何区分不同类型的数据包?谷歌搜索并没有太多答案,主要是关于如何从有线接口提取数据包。
void procPacket(u_char *arg, const struct pcap_pkthdr *pkthdr, const u_char *packet)
{
//what should i do here?
}
pcap_t *handler=pcap_open_live ("wlan0", BUFSIZ,1,-1,errbuff);
if(pcap_datalink(handler) == DLT_IEEE802_11_RADIO)
{
pcap_loop(handler, -1 ,procPacket, NULL );
}
【问题讨论】: