FreeBSD下获取同一网段下所有机器MAC地址的办法

机房有机器中毒,发arp包,通过arpspoof虽然可以解决,也可以找到中毒机器的mac地址,但在机房设备不足的情况下,很难查到mac地址对应的IP。
然后我们可以通过一个循环,使用arping来对整个子网下面的机器发一个包,这样就可以在arp下面查看到相应的mac缓存,进而得到对应的IP地址。
1:首先安装bash

cd /usr/ports/shells/bash2
make install clean

ln -s /usr/local/bin/bash /bin

我习惯把bash ln到/bin下,当然你也可以不做这一步。

2:安装arping

cd /usr/ports/net/arping
make install clean

3:新建个shell

vi arping.sh
######################
#!/bin/bash
for ((i = 1; i < 254; i++))
do
arping -c 1 -I eth0 192.168.1.$i
done
arp -a > mac_table
##############

其中eth0是你机器的网卡,看情况修改。

192.168.1.$i也是你要扫描的网段,看情况修改。

chmod +x arping.sh

./arping.sh

脚本跑完后,查看当前目录生成的mac_table。

Leave a Reply

Your email address will not be published.