1.获取同一网段下所有机器MAC地址的办法 机房有机器中毒,发arp包,通过arpspoof虽然可以解决,也可以找到中毒机器的mac地址,但在机房设备不足的情况下,很难查到mac地址对应的IP。然后我们可以通过一个循环,使用arping来对整个子网下面的机器发一个包,这样就可以在arp下面查看到相应的mac缓存,进而得到对 应的IP地址。 #!/bin/sh #感谢作者:吴洪声 for ((i = 1; i 254; i++)) do arping -I eth0 60.191.82.$i -c 1 done arp -a > mac_table 脚本跑完后,查看当前目录生成的mac_table。 #arp -a 查找你中毒时网关的MAC地址,并记录下来在mac_table里寻找到相对应的机器,仍后就可以找出那台机器感染了ARP病毒。 2.#提供方案原创者:yk103,在此表示感谢! 先安装libnet http://www.packetfactory.net/libnet/dist/libnet.tar.gz tar -xvzf libnet.tar.gz cd libnet ./configure make make install 安装arpoison http://www.arpoison.net/arpoison-0.6.tar.gz tar -xvzf arpoison-0.6.tar.gz cd arpoison gcc arpoison.c /usr/lib/libnet.a -o arpoison mv arpoison /usr/sbin 编写arpDefend.sh脚本. #!bash #arpDefend.sh #yk103 #网关mac地址 GATEWAY_MAC=00:11:BB:A5:D2:40 #目的mac地址 DEST_MAC=ff:ff:ff:ff:ff:ff #目的ip地址(网段广播地址) DEST_IP=60.191.82.254 #本地网卡接口 INTERFACE=eth0 #$INTERFACE的mac地址 MY_MAC=00:30:48:33:F0:BA #$INTERFACE的ip地址 MY_IP=60.191.82.247 #在本机建立静态ip/mac入口 $DEST_IP--$GATEWAY_MAC arp -s $DEST_IP $GATEWAY_MAC #发送arp reply ,使$DEST_IP更新$MY_IP的mac地址为$MY_MAC arpoison -i $INTERFACE -d $DEST_IP -s $MY_IP -t $DEST_MAC -r $MY_MAC 1>/dev/null & |