1. 程式人生 > >Linux下防禦arp攻擊的方法

Linux下防禦arp攻擊的方法

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 &