检测连接到我的networking的设备

又一天,又一个问题!

我试图编写一个脚本来监视我的LAN连接的任何新的设备,如果它find一个新的设备,给我发一封电子邮件。

我的testingnetworking是一个非常简单的组成,只有1个思科2900XL交换机。 到目前为止,脚本可以每2分钟运行一次(cronjob)并find新的mac地址。

我怎样才能得到所发现的MAC对应的IP信息 ? 这是我迄今为止:

  1. 扫描dhcp服务器的DHCP租约文件以查看分配给设备的IP(如果设备设置为DHCP,则为DHCP)

  2. 如果我的networking有一个路由器通过它的路由表的mac条目,但我的设置是一个简单的,不需要一个。

如果设备上有一个静态IP,方法#1也会失败。

任何想法呢?

谢谢
-ankit

Arpwatch可用,并已经做了你想要的。 根据您的发行版,安装很容易。

显示ARP表:

 Linux: $ arp -an Cisco: >show arp 

更好地使用ICMP和SNMP进行设备发现。

另一种可能有用的方法是使用nmap并扫描整个networking。 这样你就可以获得networking上连接的所有设备。 http://nmap.org/download.html 。 只需创build一个脚本,将其作为cron作业运行即可。