📅  最后修改于: 2023-12-03 15:24:40.247000             🧑  作者: Mango
在网络中,查找远程设备的 IP 地址是一项很常见的任务。可以通过多种方式来实现。本文将会介绍其中最常用的几种方式,供程序员参考。
ping 设备名称
或者 ping IP地址
,例如 ping www.google.com
或者 ping 8.8.8.8
。代码片段:
$ ping www.google.com
PING www.google.com (172.217.6.4) 56(84) bytes of data.
64 bytes from lga34s15-in-f4.1e100.net (172.217.6.4): icmp_seq=1 ttl=128 time=12.0 ms
nmap 是一款用途广泛的网络安全扫描工具,可以用来获取远程设备的 IP 地址、开放的端口等信息。以下是 nmap 命令的使用方法:
nmap -sn 子网地址
,例如 nmap -sn 192.168.1.0/24
。代码片段:
$ nmap -sn 192.168.1.0/24
Starting Nmap 7.91 ( https://nmap.org ) at 2021-08-18 16:17 CST
Nmap scan report for 192.168.1.1
Host is up (0.0069s latency).
MAC Address: 08:4F:A9:XX:XX:XX (Unknown)
Nmap scan report for 192.168.1.2
Host is up (0.00039s latency).
MAC Address: C0:3E:0F:XX:XX:XX (Unknown)
Nmap scan report for 192.168.1.100
Host is up (0.00049s latency).
MAC Address: 70:9E:29:XX:XX:XX (Hewlett Packard)
Nmap scan report for 192.168.1.101
Host is up.
...
arp 命令用来显示和修改 ARP 缓存表。通过 arp 命令,我们可以获取已经和本机通信过的设备的 IP 地址。以下是 arp 命令的使用方法:
arp -a
。代码片段:
$ arp -a
? (192.168.1.1) at 08:4f:a9:xx:xx:xx [ether] on en0
? (192.168.1.255) at ff:ff:ff:ff:ff:ff [ether] on en0
? (192.168.1.118) at 3c:61:05:xx:xx:xx [ether] on en0 ifscope [ethernet]
? (192.168.1.119) at ec:9b:f3:xx:xx:xx [ether] on en0 ifscope [ethernet]
? (192.168.1.123) at 78:ac:c0:xx:xx:xx [ether] on en0 ifscope [ethernet]
以上三种方式任意一种都可以用来查找远程设备的 IP 地址,具体使用哪种取决于个人习惯和实际情况。如果需要自动化获取远程设备的 IP 地址,则可以考虑结合脚本语言来实现自动化操作。