如何获取LAN上所有IP地址(最好是设备名称)的列表?


37

我们的网络给出了一个错误,即存在IP地址冲突,我想找到所有设备IP地址是什么。(之前我也有需要)。(更新/说明:我也在寻找基于Windows的系统。)

有什么建议么?

我已经阅读了有关各种工具(Look @ Lan,愤怒的IP扫描仪)的建议,并且正在寻找使用过这些工具或其他工具的人的建议。


Answers:


35

使用nmap扫描子网是一种快速简便的方法,这是我以前使用过的,各种选项也可以使您进行更详细的检查。


1
要设置nmap扫描的目标,请通过ipconfig从命令提示符处运行来确定默认网关。使用它在目标领域,如目标:192.168.1.1/24。然后单击扫描。
Shaun Luttin


36

如果网络上有一个Unix框,您可以尝试arp-scan:

ARP扫描器| Linux手册页

$ arp-scan --interface=eth0 192.168.0.0/24
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.4 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.0.1     00:c0:9f:09:b8:db       QUANTA COMPUTER, INC.
192.168.0.3     00:02:b3:bb:66:98       Intel Corporation
192.168.0.5     00:02:a5:90:c3:e6       Compaq Computer Corporation
192.168.0.6     00:c0:9f:0b:91:d1       QUANTA COMPUTER, INC.
192.168.0.12    00:02:b3:46:0d:4c       Intel Corporation
192.168.0.13    00:02:a5:de:c2:17       Compaq Computer Corporation
192.168.0.87    00:0b:db:b2:fa:60       Dell ESG PCBA Test
192.168.0.90    00:02:b3:06:d7:9b       Intel Corporation
192.168.0.105   00:13:72:09:ad:76       Dell Inc.
192.168.0.153   00:10:db:26:4d:52       Juniper Networks, Inc.
192.168.0.191   00:01:e6:57:8b:68       Hewlett-Packard Company
192.168.0.251   00:04:27:6a:5d:a1       Cisco Systems, Inc.
192.168.0.196   00:30:c1:5e:58:7d       HEWLETT-PACKARD
13 packets received by filter, 0 packets dropped by kernel
Ending arp-scan: 256 hosts scanned in 3.386 seconds (75.61 hosts/sec).  13
responded

1
非常方便的工具。
环Ø

1
绝对方便,尽管请注意,它为您提供了NIC的制造商,而不是设备的网络名称。
Craig

10

快速又肮脏(在Linux上):

$ ping -b 192.168.1.255
$ arp -a

只是尝试了一下。可能是某些主机不响应广播吗?还是确定这是我在其上错误配置了子网掩码?
lm09年

不,有些无法响应(防火墙?)。
伊万,2009年

的确,许多主机不会响应广播,但是运行nmap之后运行arp -a时为+1。:)
jns

我的意思是ping,而不是nmap
jns

FWIW,arp -a在Windows 10上也为我工作。
pseudosavant

8

如前所述,nmap(http://nmap.org/)可能是一个不错的,快速且免费的选择。请注意,有些非常激进的选择可能会使计算机崩溃。

此命令将对所选子网执行简单的ping扫描,并且应该是完全安全的。

nmap -rP 192.168.1.1/24

显然,请替换为您自己的网络信息。

您提到了一个重复的IP地址。两台机器都应生成一个警告屏幕,使您可以识别机器。如果使用DHCP,则应该已生成另一个请求,并且该问题可能已自行解决。


对于更高版本的nmap,命令为:nmap -r -sn 192.168.1.0/24
simpleuser

8

LAN上的IP地址列表将提供有限的帮助,因为问题是有两台计算机尝试使用相同的IP地址。

我建议您尝试查找发生冲突的两台计算机的MAC地址。

哪个设备记录了IP地址冲突?是服务器,路由器等吗?某些平台(Solaris和BSD)将记录有问题的主机的MAC地址以及错误消息。如果有问题的IP地址在您的DHCP池之一内,则还应检查一下DHCP服务器的日志中是否有尝试为其分配IP地址的MAC地址。

如果失败,我建议登录到发生此问题的子网的默认路由器,并监视ARP表。应该有一个IP地址在多个MAC地址之间切换;同样,这两个MAC地址代表您感兴趣的设备。

一旦有了两个设备的MAC地址,就应该能够将它们绑定到特定的交换机端口。这个问题提供了有关如何做到这一点的详细信息。您还可以使用OUI查找工具来帮助识别每个设备的制造商。


1
如果有一台DHCP服务器试图分配该IP,则应该有一个包含有问题的MAC地址的日志条目。
卡拉Marfia

使用MAC地址,您还可以使用standard.ieee.org/regauth/oui/index.shtml
bk1e

@ Kara,bk1e:都不错,答案也相应更新。
穆拉里·苏里雅尔

5

NMap应该可以为您提供所需的内容(如果您希望使用更友好的界面,也可以使用ZenMap)。

另外,它还将检测其他计算机正在运行的所有服务,并可能使您的IDS(入侵检测系统)变得异常混乱。


3

我一直是Angry IP Scanner的粉丝。
是的,功能不如NMAP,但是可以快速显示大量数据。


Java也可用于其他平台。我已经在Mac和Linux上使用了多年。
AveryFreeman


2

如果您可以访问充当所讨论子网的默认网关的路由器,则在路由器上列出ARP缓存(我相信它只是Cisco IOS设备上的“ show arp”)是最好的选择。

如今,此线程中的其他答案(ping扫描,nmap,广播ping等)可能不足,因为如此多的系统运行的基于个人/主机的防火墙会阻止ping等。

路由器arp缓存可能仍然不是100%。它不会显示任何在arp超时时间内未通信的主机,或者至少在arp超时时间内未与子网进行通信的主机。但是在大多数情况下,它比其他方法更有可能获得更完整的结果。



2

我建议使用Fing。这是一个简单的网络扫描仪,可用于Windows,Mac,Linux,甚至适用于无线网络的移动设备(Android和iOS设备)。而且可以轻松地用于脚本编写中。



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.