0 由来
公司接入层交换机划分了很多Vlan,每个Vlan对应一个IP子网,各个房间所属Vlan号非常混乱。有时候,电脑IP丢失或新配电脑时,不能知道到底该配置那个IP网段。解决办法就是,登录交换机,查看电脑MAC出现在哪一个交换机Vlan中。问题是,这需要额外的能正常上网的计算机来登录交换机。是否有其他方法能知道一个给定端口的IP段呢?方法是有的,那就是直接使用链路层的以太网来捕获ARP包,并从中提取活跃IP。只要该口所在的Vlan还有其他活动机器,ARP包总是存在的,所以这种方法可行。
可惜在网上没找到合适的小工具来完成,安装wireshark倒是可以,不过实在是大财小用了。于是决定自己写一个小工具出来。使用最经典的winpcap库来做基本支撑,wireshark也是基于这个库的。考虑界面简单,直接使用纯Win32API来完成UI程序设计。
1 基本功能
基本功能是:
(1)捕获ARP包,分析出IP地址进而显示出来;