Fed*_*nzi 28 networking wifi raspbian
我想知道网络上所有设备的名称。我已经尝试过很多在网上找到的命令,但没有取得很大成功,但没有像我想要的那样工作。
基本上,当我输入我的路由器设置时,我可以获得连接到我的网络的设备的名称。我也可以在某些应用程序上获得它,所以我想它可以通过某种方式完成。
我想要通过命令行连接到我的 Wi-Fi 网络的所有设备的名称列表。
谢谢
pi@raspberrypi ~ $ nmap -sP 192.168.4.0/24
Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-05 13:55 UTC
Nmap scan report for 192.168.4.1
Host is up (0.0055s latency).
Nmap scan report for 192.168.4.2
Host is up (0.42s latency).
Nmap scan report for 192.168.4.4
Host is up (0.045s latency).
Nmap scan report for 192.168.4.5
Host is up (0.47s latency).
Nmap scan report for 192.168.4.6
Host is up (0.0032s latency).
Nmap scan report for 192.168.4.7
Host is up (0.79s latency).
Nmap scan report for 192.168.4.8
Host is up (0.0024s latency).
Nmap scan report for 192.168.4.9
Host is up (0.038s latency).
Nmap scan report for 192.168.4.10
Host is up (0.034s latency).
Nmap scan report for 192.168.4.11
Host is up (0.029s latency).
Nmap scan report for 192.168.4.22
Host is up (0.12s latency).
Nmap scan report for 192.168.4.27
Host is up (0.031s latency).
Nmap scan report for 192.168.4.28
Host is up (0.012s latency).
Nmap scan report for 192.168.4.100
Host is up (0.0038s latency).
Nmap done: 256 IP addresses (14 hosts up) scanned in 49.30 seconds
Run Code Online (Sandbox Code Playgroud)
Gar*_*pex 15
以上答案都不适合我,所以我开始使用 arp-scan。所以,我发现有效的是:
arp-scan -I [WIFI INTERFACE] -l
Run Code Online (Sandbox Code Playgroud)
arp-scan 扫描您的网络并列出设备。-I 选择接口,-l 告诉 arp-scan 查看本地网络。接下来,键入
arp
Run Code Online (Sandbox Code Playgroud)
这将返回刚刚定位的设备 arp-scan,并列出它们的主机名和 MAC 地址。
小智 10
我倾向于为此使用fing,它是一个扫描器,可以扫描您所在的子网,并尝试提取主机名并将它们与 ip 和 MAC 一起显示。
前任:
14:19:05 > Discovery profile: Default discovery profile
14:19:05 > Discovery class: data-link (data-link layer)
14:19:05 > Discovery on: 192.168.1.0/24
14:19:05 > Discovery round starting.
14:19:05 > Host is up: 192.168.1.151
HW Address: XX:XX:XX:XX:XX:XX
Hostname: My-laptop-hostname
14:19:05 > Host is up: 192.168.1.1
HW Address: YY:YY:YY:YY:YY:YY
Hostname: router.asus.com
14:19:06 > Discovery progress 25%
14:19:07 > Discovery progress 50%
14:19:08 > Discovery progress 75%
14:19:05 > Host is up: 192.168.1.10
HW Address: AA:BB:CC:DD:EE:FF (ASUSTek COMPUTER)
14:19:05 > Host is up: 192.168.1.11
HW Address: GG:HH:II:JJ:KK:LL
14:19:06 > Host is up: 192.168.1.99
HW Address: MM:NN:OO:PP:QQ:RR (Apple)
Hostname: iPhoneOfSomeone
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,并非所有设备都会给出它们的主机名;例如,某些外围设备(如打印机)并不总是提供主机名,但大多数设备都提供。它甚至试图通过分析 MAC 的 id 部分来猜测制造商
它在 Raspberry Pi 上运行,我不久前将它安装在我的树莓派上,它按预期工作。
小智 9
我认为您需要更准确地了解您的问题,尤其是设备名称的定义。
不幸的是,我目前无法访问 Raspberry Pi,所以这里显示的所有内容都来自我的 Debian 7 盒子。
nmap -sP 执行反向 DNS 查找,因此如果您的设备具有反向 DNS 条目,其输出如下所示:
> nmap -sP 192.168.4.0/24
Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-12 06:24 CET
Nmap scan report for device1.local (192.168.4.1)
Host is up (0.0021s latency).
Nmap scan report for device2.local (192.168.4.2)
Host is up (0.014s latency).
…
Run Code Online (Sandbox Code Playgroud)
阻止 ping 探测的主机不会出现在输出中。任何不在您使用该-p选项扫描的端口上提供服务的主机也不会。使用 扫描整个端口范围-p 0-65535,虽然会产生大量网络足迹,但仍不会显示根本没有任何开放端口的主机。
关于网络中主机的唯一可靠信息是它们具有 MAC 和 IP 地址。您的 DHCP 服务器知道它们,因为它已经分配了 IP 地址。此外,许多 DHCP 客户端发送包含在其 DHCP 请求中的主机名,因此 DHCP 服务器具有此设备的名称,即使该名称没有出现在其他任何地方(DNS、SMB 等)。
不幸的是,您的 DHCP 服务器似乎没有向您的名称服务器报告动态分配的 IP 地址,因此您无法检索此信息。
要查找网络中的所有设备,您可以在 ping 所有主机后转储ARP表(例如使用nmap -sP):
> arp -vn
Address HWtype HWaddress Flags Mask Iface
192.168.4.1 ether 12:34:56:78:9a:bc C wlan0
192.168.4.2 ether 11:22:33:44:55:66 C wlan0
…
Run Code Online (Sandbox Code Playgroud)
有了 MAC 和 IP 地址,您就拥有了关于您的网络邻居的唯一一致信息。探测开放端口 445 将向您显示最有可能支持 SMB(即 Windows 网络)的设备 - 因此具有 Windows 名称。
连接到其他开放端口(例如 21/ftp、22/ssh、23/telnet 等)也可能提供主机名,但总是以协议相关的方式 - 理论上主机可能会在所有端口上以不同的方式调用自己。
或者,您可以在 Pi 上设置自己的 DHCP 和 DNS 服务器,并提供有效的反向 DNS 服务。
如果您的所有设备都支持Zeroconf,您也许可以通过这种方式进行设备发现。
这里引用了三个答案,nmap但我发现前缀sudo(所有答案都没有)使世界变得不同:
$ nmap -sP 192.168.1.0/24
Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:55 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00037s latency).
Nmap scan report for 192.168.1.66
Host is up (0.00035s latency).
Nmap scan report for 192.168.1.67
Host is up (0.00028s latency).
Nmap scan report for 192.168.1.68
Host is up (0.00025s latency).
Nmap scan report for 192.168.1.70
Host is up (0.017s latency).
Nmap scan report for 192.168.1.254
Host is up (0.00070s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 6.86 seconds
$ sudo nmap -sP 192.168.1.0/24
Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:56 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00050s latency).
MAC Address: 99:99:99:99:99:A6 (Unknown)
Nmap scan report for 192.168.1.66
Host is up (0.00016s latency).
MAC Address: 99:99:99:99:99:D9 (Sony)
Nmap scan report for 192.168.1.70
Host is up (-0.087s latency).
MAC Address: 99:99:99:99:99:36 (Unknown)
Nmap scan report for 192.168.1.254
Host is up (0.0020s latency).
MAC Address: 99:99:99:99:99:00 (Actiontec Electronics)
Nmap scan report for 192.168.1.67
Host is up.
Nmap scan report for 192.168.1.68
Host is up.
Nmap done: 256 IP addresses (6 hosts up) scanned in 2.41 seconds
Run Code Online (Sandbox Code Playgroud)
我偶然发现了这个问答,因为我正在研究一个关于如何向设备显示人类可读名称而不是计算机编码的 IP 地址和 MAC 地址的项目。
特别是我希望显示“东芝 43”4K 电视,而不是99:99:99:99:99:36上面MAC (非真实地址)的“(未知)” 。
后来我想将项目从局域网扩展到互联网,在那里“ Stack Exchange ”将显示而不是999.999.9.99“ Ask Ubuntu ”将显示而不是999.999.9.99当我查看我的机器与之交互的外部 IP 地址时。
| 归档时间: |
|
| 查看次数: |
84728 次 |
| 最近记录: |