如何找到我所连接的接入点的 IP 地址?

如何找到我所连接的接入点的 IP 地址?

我已连接到开放网络,我可以看到 BSSID 和 SSID,但我不认为 DHCP 已启用,因为我没有获取任何 IP。那么有没有办法远程找出它的 IP 是什么?谢谢

答案1

(假设是 Linux 系统)一旦您获得了 AP 的 MAC 地址,例如通过 iwconfig:

$ iwconfig eth1

eth1     IEEE 802.11g  ESSID:"OSU_PUB"  
         Mode:Managed  Frequency:2.427 GHz  Access Point: 00:0D:9D:C6:38:2D
         Bit Rate=48 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0  
         Retry limit:7   RTS thr:off   Fragment thr:off
         Power Management:off
         Link Quality=91/100  Signal level=-39 dBm  Noise level=-87 dBm
         Rx invalid nwid:0  Rx invalid crypt:860  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:39   Missed beacon:8

AP 具有00:0D:9D:C6:38:2D硬件地址,因此您可以使用 tcpdump 嗅探来自该硬件地址的流量,这通常迟早会揭示其作为源的 IP 地址:

$ tcpdump -i eth1 -s 0 -v -n ether host 00:0D:9D:C6:38:2D

tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
13:15:49.106475 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 (00:0D:9D:C6:38:2D) tell 192.168.1.2, length 28

如果 AP 响应广播 ping,您可能可以向其特定的 MAC 地址发送广播 ping 以引发答复,但似乎没有能够做到这一点的工具。

答案2

我想你可以打开无线网卡的混杂模式并启动 wireshark(http://www.wireshark.org/) 这样您就有可能发现网络的子网。

当您看到这样的 TCP 数据包时...

0000 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
0010 xx xx xx xx xx xx xx xxc0 a8 01 01 c0 a8 01
002002xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
0030 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx

c0 a8 01 01 = 192.168.1.1 和 c0 a8 01 02 = 192.168.1.2....

答案3

最简单的方法通常是netstat -rn查看默认网关的设置——99.9% 的情况下,这将是您的接入点的 IP 地址。并且该方法适用于 Linux、OS X 或 Windows。

答案4

一句话:

mac=$(iwconfig wlo1 | grep "Access Point:" | awk '{print $6}') && nmap -sP 192.168.1.0/24 | grep $mac

在我的 Linux 系统上,此命令不起作用只是因为iwconfigMAC 地址有一位数字错误。如果iwconfig操作正确,则此命令可以完美运行。

相关内容