你可以使用许多工具来完成这个任务,比如Netdiscover、arp-scan、nmap甚至WireShark。这些工具通常用于无线网络渗透测试,可以通过知道IP地址和MAC地址来了解谁在网络中。
ARP(地址解析协议)用于将MAC地址映射到内部网络上的IP地址。路由器和交换机向网络上的所有MAC地址发送广播ARP请求,要求它们回应自己的IP地址。然后每个系统都会回应自己的IP地址,交换机或其他设备会创建一个小型数据库,将MAC地址映射到IP地址,以便知道“谁是谁”。这两个工具都使用ARP数据包来获取这些信息。
使用 Netdiscover
Netdiscover 用于主动或被动扫描那些没有 DHCP 服务器的无线网络。它也可以用于扫描集线器/交换机网络。
netdiscover -i eth0 -r 192.168.2.0/24
其中 -i 表示接口(这里是 eth0)和 -r 表示要测试的 IP 范围。
使用 arp-scan
arp-scan(也称为 ARP 扫描或 MAC 扫描器)是一个非常快速的 ARP 数据包扫描工具,可以显示网络中的每个活动 IPv4 设备。由于 ARP 是不可路由的,它只在本地局域网(本地子网或网络段)中起作用。它显示所有活动设备,即使它们有防火墙也能扫描到。
arp-scan --interface=wlan0 [ --localnet ] 192.168.0.1/24
这部分正是对您提出的问题关于附近设备的MAC地址和信号的确切回答。为此,我们可以使用Airmon-ng工具设置无线监视器,然后使用Airodump-ng将监视器中的无线信号转储到屏幕上。这两个工具都是Aircrack-ng的一部分,Aircrack-ng是用于对无线网络进行渗透测试的一套工具。这是您想要的完美工具。
使用Aircrack-ng套件并不容易,但它值得投入时间和精力。在答案中写下所有的命令会让它变得相当乏味,所以一系列简短的命令步骤如下:
检查接口状态:
airmon-ng
检查可能对Airmon-ng造成麻烦的任何进程并将其关闭:
airmon-ng check kill
在给定的无线接口(wlan0)上启用监控模式(开始)
airmon-ng start wlan0
其中wlan0是无线接口的名称。在终端上输入iwconfig以获取您机器上无线设备的无线接口名称。
启动Airodump-ng以从无线监视器中转储数据包
airodump-ng mon0
其中mon0是在接口wlan0上启动的监视器。现在,您将清楚地看到附近所有设备的MAC地址和信号强度。完成后,按下Ctrl+C停止监视。
最后停止接口上的监控模式
airmon-ng stop wlan0
从Windows PC上,您可以:
1. 使用WifiChannelMonitor来自Nirsoft:
WifiChannelMonitor是一个用于Windows的实用程序,它使用Microsoft Network Monitor捕获驱动程序以监视模式捕获wifi流量,并显示有关接入点和连接到它们的wifi客户端的详细信息。 WifiChannelMonitor还允许您查看未连接到任何接入点的wifi客户端的信息,包括它们正在尝试连接的SSID(网络名称)列表。
注意:
示例输出:
2. 使用WifiInfoView来自Nirsoft:
WifiInfoView扫描您所在区域的无线网络,并显示有关它们的详细信息,包括:网络名称(SSID),MAC地址,PHY类型(802.11g或802.11n),RSSI,信号质量,频率,信道号,最大速度,公司名称,路由器型号和路由器名称(仅适用于提供此信息的路由器)等等...
当您在此工具的上窗格中选择一个无线网络时,下窗格会以十六进制格式显示从该设备接收到的Wi-Fi信息元素。
WifiInfoView还具有摘要模式,它按信道号、制造路由器的公司、PHY类型或最大速度对所有检测到的无线网络进行分组显示。
示例输出:
3. 使用命令提示符中的netsh命令行工具:netsh wlan show networks mode=bssid
示例输出:
> netsh wlan show networks mode=bssid
Interface name : Wireless Network Connection
There are 19 networks currently visible.
SSID 1 : TP-LINK_6A7CD0
Network type : Infrastructure
Authentication : WPA2-Personal
Encryption : CCMP
BSSID 1 : e8:94:f6:6a:7c:d0
Signal : 24%
Radio type : 802.11g
Channel : 4
Basic rates (Mbps) : 1 2 5.5 11
Other rates (Mbps) : 6 9 12 18 24 36 48 54
SSID 2 : Virgin Media
Network type : Infrastructure
Authentication : WPA2-Enterprise
Encryption : CCMP
BSSID 1 : d2:05:c2:fb:7d:89
Signal : 26%
Radio type : 802.11g
Channel : 6
Basic rates (Mbps) : 1 2 5.5 11
Other rates (Mbps) : 6 9 12 18 24 36 48 54
BSSID 2 : 52:0d:10:91:50:d9
Signal : 18%
Radio type : 802.11g
Channel : 6
Basic rates (Mbps) : 1 2 5.5 11
Other rates (Mbps) : 6 9 12 18 24 36 48 54
...
我与Nirsoft没有任何关联,我只是他们软件的最终用户。
Google Nearby可以用来查找WiFi和蓝牙设备。还有其他工具可以扫描任何启用了WiFi的设备。
Nirsoft的 "Wireless Network Watcher" 是一个小型实用程序,它可以扫描您的无线网络,并显示当前连接到您的网络的所有计算机和设备的列表,显示MAC地址和其他信息,也有其他替代方案可供选择。
对于Linux系统,请尝试使用LinSSID。请注意,它必须以超级用户身份运行。例如,在Ubuntu中,您可以创建一个启动文件:
gnome-terminal -e "sudo linssid"
airmon-ng start wlan0
Wlan0是您的接口名称
然后您可以使用以下命令启动kismet:
kismet -c wlan0mon
wlan0mon是在启用监控模式后的接口名称。
然后,您可以将您的网络指向kismet指定的地址以查看设备。
您可以使用kismet提供的REST端点来提取设备列表。