1.获取同一网段下所有机器MAC地址的办法
机房有机器中毒,发arp包,通过arpspoof虽然可以解决,也可以找到中毒机器的mac地址,但在机房设备不足的情况下,很难查到mac地址对应的IP。然后我们可以通过一个循环,使用arping来对整个子网下面的机器发一个包,这样就可以在arp下面查看到相应的mac缓存,进而得到对
应的IP地址。
#!/bin/sh
#感谢作者:吴洪声
for((i=1;i<254;i++))
do
arping-Ieth060.191.82.$i-c1
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-xvzflibnet.tar.gz
cdlibnet
./configure
make
makeinstall
安装arpoison
http://www.arpoison.net/arpoison-0.6.tar.gz
tar-xvzfarpoison-0.6.tar.gz
cdarpoison
gccarpoison.c/usr/lib/libnet.a-oarpoison
mvarpoison/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
#发送arpreply,使$DEST_IP更新$MY_IP的mac地址为$MY_MAC
arpoison-i$INTERFACE-d$DEST_IP-s$MY_IP-t$DEST_MAC-r$MY_MAC1>/dev/null&