我試圖建立一種嗅探器來捕捉無線探測請求。如何獲取抓包的MAC地址?
使用Wireshark,我只需設置一個像eth.type eq 0x0806 and eth.dst eq ff:ff:ff:ff:ff:ff
的過濾器,告訴我我正在監聽ARP協議上的所有廣播數據包。我還沒有找到如何監控信號強度,但也許我會發現它有一天...
我想對Pcap.Net做同樣的事情。因此,一旦數據包已經被逮住,我看
//Check if the packet is Ethernet
if (packet.DataLink.Kind == DataLinkKind.Ethernet)
{
//Check if the Ethernet packet is ARP
if (packet.Ethernet.EtherType == EthernetType.Arp)
{
[...]
}
}
但而包使用Wireshark逮住,沒有什麼是逮住我的C#代碼。
另一個問題,如何獲取數據包的源MAC地址?如何獲得無線設備的信號強度?
如果刪除兩個if語句,你是否捕獲數據包? – wimh
MAC地址位於幀頭中,而不是數據包頭。幀的頭部有第2層(MAC)地址,數據包頭部有第3層(IP)地址,段頭有第4層(端口)地址。幀封裝封裝封裝應用數據的段的封包。當你想做這種事情時,你應該研究[OSI模型](https://en.wikipedia.org/wiki/OSI_model#Description_of_OSI_layers)。 –