nmap查找局域网中所有活动的主机名和IP


83

如何发出nmap命令,显示我所连接的LAN中所有活动计算机的IP地址和对应的主机名?(如果可以通过其他方式/工具完成此操作,欢迎您回答)

Answers:


90

nmap版本低于5.30BETA1:

nmap -sP 192.168.1.*

较新的nmap版本:

nmap -sn 192.168.1.*

这为我提供了主机名以及IP地址,并且仅ping主机以发现它们。如果您将其运行为,这只会给您主机名root

编辑:Nmap 5.30BETA1 [2010-03-29] -sP起,已被替换-sn为执行ping扫描的首选方法,同时跳过了端口扫描,就像注释指示的那样:

以前,建议使用-PN和-sP选项。这为禁用扫描阶段的某些选项建立了更常规的语法:

  • -n没有反向DNS
  • -Pn没有主机发现
  • -sn没有端口扫描

6
请注意,+ 1只会返回对ICMP做出响应的计算机。任何一台机器特异性阻断ICMP不会显示出来
西蒙斯

10
@MattSimmons如果nmap运行为root并且IP来自本地网络(服务器是子网的成员),则将发送ARP请求。因此,它检测到任何活着的机器,因为没有人真正块ARP报文。哦,有了新nmap版本-sn(虽然-sP也可以使用)。
休伯特·卡里奥

4
我没有通过此命令获得任何主机名。有什么建议吗?
daviesgeek

@daviesgeek尝试以root身份运行吗?
Cheesebaron

3
@Cheesebaron啊。而已。我建议添加一下,因为没有它,它不会显示主机名。
daviesgeek 2012年

9
nmap -sP 192.168.1.0/24

请注意,名称解析仅与反向DNS填充一样好。还要注意,这不会为您的系统提供针对ping的防火墙(实际上,每个Windows工作站都是默认设置)。

如果您在系统本地(即在同一子网中),则可以执行以下操作

for i in `seq 1 254` ; do arping -c 1 192.168.1.$i | grep reply ; done

...但是当我将循环包装起来时,有时会发生奇怪的事情。另外,您必须自己进行查找,例如

dig +short -x $IP

arp解决方案速度较慢,但​​可以正常工作,nmap解决方案无法在线找到所有IP
elbarna

5

您可以扫描整个子网,也可以使用通配符。

nmap 192.168.8.*

要么

nmap 192.168.8.1/24

4

NMAP将返回相关IP地址的“反向查找”,它无法返回正向查找地址。或在Web服务器进行基于名称的虚拟主机的情况下解决。Nmap不是用于此的工具。


2
那我应该使用哪种工具?
şaloma

我什么都不知道。
sysadmin1138

2

nmap -sP 192.168.0.0/24将输出如下内容:

> nmap -sP 192.168.0.0/24

Starting Nmap 4.00 ( http://www.insecure.org/nmap/ ) at 2010-06-22 22:27 CEST
Host 192.168.0.0 appears to be up.
Host 192.168.0.1 appears to be up.
Host abcd.domain.tld (192.168.0.2) appears to be up.
Host def.domain.tld (192.168.0.3) appears to be up.
Host fdsf.domain.tld (192.168.0.4) appears to be up.
Host reht.domain.tld (192.168.0.5) appears to be up.
Host vcxbfd.domain.tld (192.168.0.6) appears to be up.
Host ezqs.domain.tld (192.168.0.7) appears to be up.
Host 192.168.0.8 appears to be up.
Host ilolio.domain.tld (192.168.0.9) appears to be up.
Host ipbd.domain.tld (192.168.0.10) appears to be up.
Host cdekf.domain.tld (192.168.0.11) appears to be up.
Host 192.168.0.12 appears to be up.
Host 192.168.0.13 appears to be up.
Host 192.168.0.14 appears to be up.
Host 192.168.0.15 appears to be up.
Host ainv.domain.tld (192.168.0.16) appears to be up.
Host 192.168.0.17 appears to be up.
Host 192.168.0.18 appears to be up.
Host wzdkz.domain.tld (192.168.0.19) appears to be up.
[…]
Nmap finished: 256 IP addresses (256 hosts up) scanned in 7.491 seconds

1
我如何学习机器名称?我得到的主机名如下:dhcp-186-241.abc.dk dhcp-186-250.abc.dk .... 例如,当我hostname在ubuntu终端上发布时,我得到了:infestor-pc但是nmap将我的主机名显示为dhcp-186-250.abc.dk。有没有办法看到“友好的”主机名?
şaloma

没有唯一的方法是将计算机名称注册到DNS中
半径


0

ping Local Net中所有Ips的最佳和最快方法是禁用DNS反向解析

采用 :
NMAP -sn 192.168.1.1-255

这将扫描IP范围192.168.1.1-192.168.1.255中的所有255台主机

如果您想要一个易于解析的文件

采用 :
NMAP -sn -oG Name.txt 192.168.1.1-255


0

如果可以通过其他方式/工具完成,欢迎您回答

您可以简单地使用如下arp命令:

$ arp -a

-1

我认为您应该运行以下命令:

sudo nmap -sU --script nbstat.nse -p137 10.10.10.*

这不会在现有答案上添加任何内容,而且只会找到启用了共享的Windows主机。当然比OP想要的更具体。
Scott Pack

在禁用网络共享的情况下仍然可以使用。仅要求启用网络发现,这是专用网络的默认设置。
约翰·荷马2014年

-1

尝试以下操作:IP范围示例:10.1.0.0-10.1.255.255

nmap -sV -T4 -O 10.1.*.*
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.