如何发出nmap命令来显示我连接的 LAN 中所有活动机器的IP地址和相应的主机名?(如果这可以通过另一种方式/工具完成,您肯定欢迎回答)
Che*_*ron 103
低于 5.30BETA1 的 nmap 版本:
nmap -sP 192.168.1.*
Run Code Online (Sandbox Code Playgroud)
较新的 nmap 版本:
nmap -sn 192.168.1.*
Run Code Online (Sandbox Code Playgroud)
这为我提供了主机名和 IP 地址,并且只 ping 主机以发现它们。这只会让你的主机名,如果你运行它root
。
编辑:截至Nmap 5.30BETA1 [2010-03-29] -sP
已被替换-sn
为首选方式进行 ping 扫描,同时跳过端口扫描,就像注释所示:
以前推荐使用 -PN 和 -sP 选项。这为某些禁用扫描阶段的选项建立了更常规的语法:
- -n 无反向 DNS
- -Pn 无主机发现
- -sn 不扫描端口
nmap -sP 192.168.1.0/24
Run Code Online (Sandbox Code Playgroud)
请注意,名称解析仅与反向 dns 人口一样好。另请注意,这不会使您的系统受到 ping 防火墙的影响(实际上每个 Windows 工作站都是默认设置)。
如果您在系统本地(即在同一子网中),您可以执行以下操作
for i in `seq 1 254` ; do arping -c 1 192.168.1.$i | grep reply ; done
Run Code Online (Sandbox Code Playgroud)
...但有时当我将 arping 环绕在一个循环中时,我会遇到奇怪的事情。您还必须自己进行查找,例如
dig +short -x $IP
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以扫描整个子网,也可以使用通配符。
nmap 192.168.8.*
Run Code Online (Sandbox Code Playgroud)
或者
nmap 192.168.8.1/24
Run Code Online (Sandbox Code Playgroud)