我想要做什麼:在用戶空間中實現第2層協議。如何在wlan上發送/接收第2層幀
所以我使用的是Linux的PCAP 2.6.32下嗅探包:
...
struct pcap_t *pcap_h = pcap_open_live("wlan0", BUFSIZ, 1, 0, errbuf);
...
while (1) {
int ret = pcap_loop(pcap_h, -1, newpkt_callback, NULL);
...
}
...
這工作得很好,所有數據包。但是,當我使用PCAP與沒有ether_head並沒有IP報頭髮送數據包:
const char pkt[] = "WHATEVER";
nsent = pcap_sendpacket(pcap_h, (const u_char *)pkt, len);
...
我只能嗅出localhost上的分組,而不是在運行同一程序的其他筆記本電腦。所以問題是「我如何在沒有ether_head的情況下在wlan上廣播消息」?任何指針將不勝感激。
我確實嘗試過使用原始套接字和PF_PACKET,但問題仍然存在。至於AP,協議的要點是不使用接入點。換句話說,我正在尋找一種簡單的方法將數據注入無線設備,並在另一端接收數據。 – Peyman 2011-02-02 00:28:14