我们使用 ssh 通过 linux box 连接到 cisco 交换机。它会提示输入密码,然后我们登录。我只是想知道是否可以找到一种方法来列出所有连接到 linux 机器的 cisco 交换机。我可以从 linux 机器 ssh 到大约 3000 个交换机。
答案1
您没有指定哪个 Linux 发行版。如果它带有包管理器,则添加 nmap 包。如果它没有包管理器,或者您想自己编译它,请转到http://nmap.org和获取压缩包。
编译它并在几个已知主机上进行测试(因为只有几个,所以初始测试很快)。
示例:
nmap -v 127.0.0.1
(-v 表示详细)
nmap 172.16.0.0/12
(扫描大范围的一种方法)
nmap 192.168.1.1-254
(指定范围的另一种方法)
就您而言,您可能需要标志s
和n
。
nmap -sn 192.168.1.252 于 2013-04-11 07:22 西欧夏令时启动 Nmap 5.51 ( http://nmap.org ) 192.168.1.252 的 Nmap 扫描报告 主机已启动(延迟 0.00 秒)。 MAC 地址:00:1E:E5:7A:47:5B(Cisco-Linksys) Nmap 完成:扫描 1 个 IP 地址(1 个主机启动)耗时 0.39 秒
使用这些扫描您自己的整个网络并将结果记录到文件中。然后按品牌名称或 MAC 对其进行排序,您就会得到所需的列表。
答案2
Nmap 支持 arp-scan,这在 LAN 中很有效。由于您只需要 MAC,因此可以省略 TCP 端口扫描。以超级用户身份运行 nmap 很重要(sudo 也可以):
$ su -c 'nmap -PR -oN arp-scan.txt 10.3.0.0/27'
Password:
(...)
$ grep '^[NM][Am]' arp-scan.txt
Nmap scan report for tryggve.lan (10.3.0.3)
MAC Address: 00:16:17:6D:AC:3A (MSI)
Nmap scan report for 10.3.0.6
MAC Address: 00:19:DB:F6:EB:B6 (Micro-star International CO.)
Nmap scan report for deeebian.lan (10.3.0.7)
$ awk '/MSI|Micro/ {print $3}' arp-scan.txt
00:16:17:6D:AC:3A
00:19:DB:F6:EB:B6
来源:
http://nmap.org/book/man-host-discovery.html
您还可以使用以下方式查找最近联系的 MAC 地址知识产权(1)但随后您必须手动将结果与 mac 前缀关联起来/usr/share/nmap/nmap-mac-前缀。
# ip neighbor