我试图建立一种嗅探器来捕捉无线探测请求。如何获取抓包的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)。 –