另一天,另一个问题!
我正在尝试编写一个脚本来监视我的 LAN 上连接的任何新设备,如果发现新设备,就给我发送电子邮件。
我的测试网络非常简单,仅由 1 个 cisco 2900XL 交换机组成。到目前为止,脚本可以每 2 分钟运行一次(cronjob)并查找新的 mac 地址。
如何获取找到的mac对应的IP信息? 这是我目前所拥有的:
通过 DHCP 服务器的 DHCP 租约文件进行扫描,查看分配给设备的 IP(如果设备设置为 DHCP)
如果我的网络有一个路由器,则会通过其路由表查找 mac 条目,但我的设置很简单,不需要它。
如果设备上有静态 IP,方法#1 也会失败。
对此有什么想法吗?
谢谢
-ankit
答案1
Arpwatch 已经可用,并且已经可以满足您的需求。根据您的发行版,它很容易安装。
答案2
显示 arp 表:
Linux: $ arp -an
Cisco: >show arp
更好地利用 ICMP 和 SNMP 进行设备发现。
答案3
另一个可能有用的方法是使用 nmap 并扫描整个网络。这样您就可以获取网络上连接的所有设备。http://nmap.org/download.html。只需创建一个脚本并将其作为 cron 作业运行。