扫描网络连接设备

扫描网络连接设备

有没有一种方法可以通过命令行扫描网络上的计算机并获取它们的 IP、MAC 和 DNS 名称,而无需了解它们的任何信息?

答案1

nmap -v -sn 192.168.1.0/24 | grep -v down

附注当然,您可以根据需要更改子网设置。
pps。根据 nmap 版本,是否显示 MAC 地址。 5.21+(debian 测试+)显示。 5.0(目前在 Debian 稳定版中)不是。

答案2

arp -a将转储所有这些信息,而无需安装nmap。但是,nmap会进行主动扫描,因此它会更新。

答案3

如果你真的一点头绪都没有,你应该先被动地听网络的。本地网络非常混乱,大多数数据包都会发送到所有网络设备。通过分解数据包的层,您可以了解很多有关拓扑的信息。请注意,有时这是根本不可能的,这取决于网络。

例如:

以太网帧为您提供以太网地址。

ARP(地址解析协议)将以太网地址与网络地址耦合,并给出有关网络设备之间关系的隐式提示。

IP(互联网协议)为您提供了两个具有 IP 地址的主机之间的关系。

TCP(传输控制协议)让您了解哪些服务(端口)处于活动状态以及哪些计算机相互聊天。

UDP(用户数据报协议)提供与 TCP 相同的信息。实际上,您不仅可以进行主动扫描,还可以了解更多信息。

如果您想查找特定信息,可以使用 tcpdump 或使用 pcap 库。我制造了一个小例子在 Perl 中。它转储所有硬件地址、网络地址、tcp 和 udp 端口​​。

相关内容