如何查找局域网中是否有人占用了某个 IP 地址?或者更笼统地说,如何查找局域网中 DHCP 分配的 IP 地址列表?
答案1
如果您想知道您的 DHCP 服务器已租出什么,您需要咨询该 DHCP 服务器。在 Linux(带有 的 Debian isc-dhcp-server
)上,您需要查看/var/lib/dhcpd/dhcp.leases
文件。
如果你想知道另一台机器是否正在使用该 IP,你可以尝试以下几种方法:L
使用该
arp
命令查看 IP 是否出现在系统arp
表中。如果出现,则您的系统可能最近与该 IP 进行过通信并且有响应。ping
IP 并查看是否得到响应。使用
telnet
或nc
与已知工作服务建立 TCP 连接。这要求您知道哪些服务可能正在运行,当然,如果它不起作用,则可能只是意味着服务未运行或本地阻止了您。安装
arping
并使用它直接发出ARP请求。
nmap
如果您想扫描网络以查找任何响应的内容,请使用@vembutech 的答案。请注意,如果您在公司局域网上,它可能会产生看似敌对的流量。
答案2
您需要nmap
使用 root 权限在终端中安装:
sudo apt-get install nmap
以下命令查找所有特定网络的 IP 地址:
nmap -sP 172.16.1.*
答案3
这取决于您的 dhcp 服务器。
在大多数网络上,它位于路由器上。通常它们有一个您可以访问的 Web 界面,该界面将显示所有活动租约和与它们关联的 MAC 地址。
有人提到可以使用 nmap 查看网络上的 IP 地址,这在某种程度上是正确的。Nmap 不会显示重复的地址,也不会显示租约信息(例如,它还会显示已静态分配的 IP 地址)。这可能适合也可能不适合你的目的。