在我的本地 wifi 中,我可以找到另一台也运行 Lubuntu 的计算机的 IP 和 MAC,并且我知道其主机名。
$ sudo arp-scan olive
[sudo] password for t:
Interface: wlx801f02b5c389, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.198 aa:bb:cc:dd:ee:ff Liteon Technology Corporation
1 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 1 hosts scanned in 1.449 seconds (0.69 hosts/sec). 1 responded
在同一个本地 wifi 网络中还有其他计算机,它们很可能运行 Windows,并且我不知道它们的主机名。
我可以从我的计算机上找到他们的主机名吗?arp-scan -l
不显示该信息。
谢谢。
为您使用的任何版本的 Linux 安装 nmap。
然后执行:
其中 xxx.xxx.xxx.xxx/nn 是您的 IP 和子网掩码位。例如,如果您在子网掩码为 255.255.255.0 的 192.168.1.0 网络上,您将执行以下操作:
Nmap 将 ping 扫描所有 IP 并尝试为您解析它们的主机名。
例如,在我的本地局域网上,我看到:
没有名称的主机是 dhcp 并且不获取主机名。其他的在 DNS 中,所以它们有主机名。
同样, arp-scan 应该给你 mac 地址。再次为您的发行版安装 arp-scan,然后执行以下操作:
再次假设您与上面的示例在同一个 LAN 上。如果您有一个非标准接口,您可以使用 -I 开关指定它:
请注意,在大多数发行版上,您需要成为 root 用户,因此(再次以我的本地 LAN 为例):
这发现了我的所有节点:
反向查找路由器上的每个活动主机;你会发现他们的 dhcp 主机名(通常这些被设置为他们的主机名) - 首先创建 live_hosts.txt:
sudo arp-scan 192.168.169.0/24 | grep ^192 | awk ‘{print $1} > live_hosts.txt
然后:
for host in $(cat live_hosts.txt) ; do echo $host ; host $host $router_ip ; sleep 0.1 ; done
请注意,您的路由器将查询其 dhcp-leases 文件,即使已断开连接的节点也会解析,直到它们的租约被清除。但是,除非您的路由器名称服务(通常是一些微小的 dnsmasq)被破坏,否则所有当前在线节点都将被列出。
您可能需要所有信息以供后代使用,例如硬件地址和连接持续时间;您可以通过定期扫描网络,将输出附加到文件来轻松编写脚本。
如果 linux 机器有正在运行的服务,您可以发现更多关于它们的信息(sshd 现在似乎很流行),并且所有变体通常都会有一些 bonjour/zeroconf hooey 活动(谷歌 mDNS),通常类似于 avahi-daemon。(称它为 bugaboo、jimjonesdiary、maga、puss-socket,它只是 mDNS。这些人是谁决定了 Rendezvous、bonjour、avahi。请至少让它变得有趣...... rarghh。)
虽然带有例如 scapy 的简单 arp MITM 可能具有破坏性和粗鲁,但您可以在自己的网络上做自己喜欢的事情。使用 tcpdump 查看 DNS 查找将告诉您两个操作系统并让您猜测谁在使用该机器。