sudo nmap -sP 192.168.2.1/24
在Ubuntu中扫描网络。但是,我找不到实时主机。我只是实时获得自己PC的网络地址。当我通过浏览器看到DHCP客户端列表(可以使用网络IP通过浏览器访问路由器)时,网络上大约有10个活动主机。谁能告诉我发生这种情况的原因,以及如何在网络上找到实时主机?#1 楼
这是使用nmap执行主机发现的最简单方法。nmap -sP 192.168.2.1/24
为什么总是不能正常工作? nmap尝试对给定的IP地址范围执行ping操作,以检查主机是否还活着。如果ping失败,它将尝试将syn数据包发送到端口80(SYN扫描)。这不是百分百可靠的,因为现代的基于主机的防火墙会阻止ping和端口80。Windows防火墙默认会阻止ping。您网络上的主机正在阻止ping,端口80不接受连接。因此,nmap假定主机未启动。
那么是否有解决此问题的方法?
是。您拥有的选项之一是使用-P0标志,该标志跳过主机发现过程,并尝试对所有IP地址执行端口扫描(在这种情况下,甚至将扫描空的IP地址)。显然,即使您位于小型(20-50台主机)网络中,这也将花费大量时间来完成扫描。但它会为您提供结果。
更好的选择是指定要扫描的自定义端口。 Nmap允许您使用SYN / UDP数据包探测特定端口。通常建议探测常用端口,例如TCP-22(ssh)或TCP-3389(Windows远程桌面)或UDP-161(SNMP)。
sudo nmap -sP -PS22,3389 192.168.2.1/24 #custom TCP SYN scan
sudo nmap -sP -PU161 192.168.2.1/24 #custom UDP scan
即使指定了要扫描的自定义端口,您也可能无法获得活动主机。在很大程度上取决于主机的配置方式以及所使用的服务。因此,您只需继续使用不同的组合进行探测。请记住,请勿在未经适当授权的情况下在网络上执行扫描。
更新:扫描网络时,您永远无法确定特定的命令会给您所有想要的结果。该方法应该从基本的ping扫描开始,如果它不起作用,请尝试猜测主机上可能正在运行的应用程序,并探查相应的端口。使用Wireshark的想法也很有趣。您可能想尝试发送ACK数据包。
更新两个:标志-sP和-P0现在分别称为-sn和-Pn。但是,仍然发现较旧的标志在较新的版本中仍然有效。
评论
尽管我认为这是由于防火墙阻止了ping扫描,但上述命令并没有帮助。甚至-P0标志也不起作用。
–TheRookierLearner
13年5月19日在21:59
我真的不知道发生了什么,但是命令nmap -sP -PS 192.168.2.1/24可以工作(上面的命令也可以工作;因此可以接受答案),在Windows下也是如此。我不知道Ubuntu有什么问题。可能是我需要检查iptables。
–TheRookierLearner
13年5月20日下午4:08
值得注意的一件事是,当您与要扫描的主机位于同一广播域中时,nmap使用ARP而不是ICMP / SYN扫描
–罗里·麦库恩(Rory McCune)
13年5月20日在11:43
-P0不会“尝试扫描系统的所有端口以检查系统是否启动”。相反,它将跳过主机发现,将一切报告为up,并在每个IP上执行您请求的任何端口扫描。同样,如@RoryMcCune所述,Nmap应该发送针对此类扫描的ARP请求。使用nmap --iflist检查Nmap对路由表的看法;可能会感到困惑,并且没有发送正确的探针。如果无法从IP收到ARP答复,则也不能发送TCP或UDP数据包。
–bonsaiviking
13年5月20日在14:32
我猜@ Mayank-Sharma的意思不是-P0,而是-PO,它发送IGMP,ICMP和IP-in-IP数据包,而不扫描所有端口。但是,我不确定。
–TheRookierLearner
13年5月20日在18:26
#2 楼
最简单的检查方法是使用nmap执行ping扫描后验证ARP表:那些过滤ICMP的。
评论
该命令的结果将根据当前现有的ARP条目而有所不同。
–绝对ƵERØ
13年5月19日在21:33
在检查arp表之前,是否使用nmap进行ping扫描?如果没有,主机可能会丢失。当您执行ping扫描时,网络中的每个节点都至少应回答ARP请求。
– Teun Vink
13年5月19日在21:48
像Tivo这样的设备无法响应ping。如果iPad,iPhone和iPod等设备的屏幕被锁定,它们可能无法响应ping扫描。另外,运行除TCP / IP之外的内容的设备将不会响应ping扫描。 Wireshark仍将显示流量(如IPX)。此外,还将显示不同的子网。
–绝对ƵERØ
13年5月19日在22:27
Nmap已经使用此方法来“ ping”广播本地网段的扫描。以root特权运行,并使用-v进行详细输出,您将看到“正在启动ARP Ping扫描”。 nmap.org/book/man-host-discovery.html
–bonsaiviking
13年5月20日在14:35
如果您的设备无法响应arp请求,那么您就很不走运。检测不响应arp请求的设备的唯一方法是侦听网关上的流量。
–sk0yern
13年5月20日在15:21
#3 楼
Wireshark也很酷。您可能想看看Wireshark。它记录本地网络上的所有流量。它将告诉您正在广播的节点。您还可以查看正在传输的内容。它可以在Ubuntu软件中心中获得。
此外,这里还有一个有关通过命令行在Ubuntu上安装Wireshark的链接。
关于DHCP路由表中显示的流量,请记住许多虚拟机将在列表中显示为单独的计算机。通常在默认的24小时租赁时间内(对于大多数WiFi路由器),通常在默认的24小时租赁时间内连接到网络的所有内容仍会显示在列表中。您可能要检查路由器中租约的期限。它可能会告诉您是否有人隔夜在您的网络上。在某些具有双NIC或NIC和无线网卡的设备上,如果同时启用了两个接口,它们将显示两次。 />
管理型交换机
某些打印机
服务器远程管理卡
手机
Tivo和其他DVR
Apple TV
某些电视
DVD播放器
网络A / V接收器
Playstations,XBox等
便携式游戏设备
iPad和其他平板电脑
iPod和音乐播放器
PDAs
Magic Jack Plus等IP电话
大约6年前,在办公室中,由于所有多余的流量,我在3mb的小连接中工作的时间降到了128k。业主想知道是否有可能看到正在发生的事情。这位兼职的IT老手耸了耸肩,因为并不是所有的流量都通过他们的Windows 2000 Server。他检查了服务器中的路由表和流量日志,却一无所获。他们没有足够奇怪地使用路由器,因此网络上的任何东西都可以从调制解调器获得地址。他在服务器中查看的路由表仅用于几年前已存在的静态映射。我注意到它们不在同一子网中。然后,我向他们显示DHCP未在服务器中打开。我的一位同事在不知不觉中在他的机器上托管了一个日本色情网站。攻击者在他安装了后门以及高端视频编辑软件的破解版后,才将他的机器扎根。我们还发现它们在不同时间在不同部门的各种机器上运行
Tor
,demonoid
和bitTorrent
。 Wireshark找到了一切。第二天,互联网达到了全速。我们还安装了路由器。 如果您不喜欢Wireshark,也可以尝试
tcpdump
。评论
尽管我当然同意Wireshark是一个了不起的工具,但要解决这种情况,它并不是最佳选择,尤其是在流量很大的情况下,很难找到所有唯一的主机。
– Teun Vink
13年5月19日在21:14
@TeunVink有关查找唯一主机的注释。 ask.wireshark.org/questions/4827/…
–绝对ƵERØ
13年5月19日在21:37
@AbsoluteƵERØ-确实是非常有价值的输入。我实际上使用Wireshark来检查nmap尝试发送的数据包是否到达网络或被Windows防火墙阻止。事实证明,它们没有在Windows上被阻止。我必须尝试在Ubuntu上。
–TheRookierLearner
13年5月20日在18:30
→Teun:乍一看,wireshark似乎是一个沉重的工具。但总而言之,要通过nmap进行完整的网络审核还需要大量运行:使用不同的端口,一天中的不同时间,使用不同的协议…
– dan
2014年8月28日15:34
我可以为研究目的而链接到该日本性爱网站吗?
–user195198
4月19日14:12
#4 楼
该bash脚本将输出网络上所有活动主机的IP地址。#!/bin/bash
nmap -n -sP | grep report | awk '{print }'
示例用法
rwilson@rwilson-Aspire-E5-521:~/Scripts/Utils$
Mon Jul 27 06:41 AM> ./livehosts.sh 192.168.1.1/24
192.168.1.1
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15
192.168.1.118
192.168.1.122
192.168.1.123
192.168.1.126
192.168.1.129
192.168.1.133
192.168.1.134
192.168.1.156
192.168.1.159
192.168.1.168
192.168.1.170
评论
这与OP所做的有何不同?看来您要做的只是添加grep和awk来简化输出。
– schroeder♦
15年7月27日在15:53
#5 楼
拥有管理员权限(即root
)后,可以将netdiscover(8)
与-r
标志一起使用以指定不同的类和掩码。默认情况下,它使用网络类C / 24。例如:
$ sudo netdiscover -r 172.16.17.0/24
输出将是这样的:
Currently scanning: Finished! | Screen View: Unique Hosts
3 Captured ARP Req/Rep packets, from 3 hosts. Total size: 180
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
172.16.17.1 00:50:56:c0:00:08 1 60 VMware, Inc.
172.16.17.2 00:50:56:f9:b9:b6 1 60 VMware, Inc.
172.16.17.254 00:50:56:fc:e4:76 1 60 VMware, Inc.
#6 楼
有时arp -a -n
不会获取IP地址。执行
nmap -sP 192.168.1.1/24
将检索实时主机,然后,如果再次尝试arp
,它将显示实时主机。那就是它在Linux Mint中对我有用的方式。但是您可以随时依靠nmap
。#7 楼
在网络上查找主机的示例:arp-scan 192.168.12.0/24 # if vlan tagged interface use -Q vlanid
etherape(GUI)显示网络活动图。
上面提到的其他一些工具也是。
评论
根据我在局域网中的测试,arp-scan的速度比netdiscover和nmap -sn的主机发现速度更快
– Sabrina
6月6日9:02
#8 楼
如果您还需要主机指纹识别,并且不介意使用免费但封闭的源代码工具,则fing
是另一种选择:还尝试从MAC地址中检测设备制造商。 ),该工具可能在后台进行。我已经使用他们的移动应用程序在我的LAN上查找IP,并发现它很有用。
评论
我通常会执行nmap -sn 192.168.2.0/24,sn =禁用端口扫描。@HamZaDzCyberDeV是的,-sn是新的标准参数,但是它以前是-sP,因此@TheRookierLearner的命令应该仍然有效。
-sn与-sP相同,如下所述:github.com/nmap/nmap/blob/master/docs/nmap.1#L402
nmap -PR 10.0.1.0/24 -sn将执行网络的ARP扫描。 NMAP的网站上有有关nmap主机发现的详细信息。我强烈建议您将此作为参考。
@NadeemDouba nmap将自动检测它何时在局域网中,并为其探测选择ARP扫描。即使用户指定了不同的探针类型(例如-PE或-PS),情况也是如此。换句话说,如果OP实际上在LAN上,则-PR是不必要的。