linux下防止arp攻击

注意是在debian下

安装arptables apt-get install

arptables arptables -A INPUT -i ech0 --src-mac ! 00:0f:e2:b2:a6:8c -j DROP

上面的MAC地址 是网关的MAC

这条命令的意思是非网关MAC发送过来的数据包全部丢弃。这样就可以防止其他机器ARP攻击了。

过了一段时间 发现失效了。。。

arping 网关地址

可以维持一下 还是不稳定。。。。

搞了一整天,最终解决方案出来了(参考网上的方案 一下为转载内容):

*使用arpspoof抵御ARP攻击*/ 
#提供方案原创者: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脚本. 
#!/bin/bash
#arpDefend.sh
#网关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 &




上次说道如何使用arping解决arp攻击,但是效果不是很好,有去网上搜寻了下,强势推出完美最终版本。

必备软件
Libnet 官方网站 下载地址
arpoison 官方网站 下载地址

安装方法(FC下成功,其他发行版可参考):
 先安装libnet
tar -xvzf libnet.tar.gz
cd libnet
./configure
make
make install

安装arpoison
tar -xvzf arpoison-0.6.tar.gz
cd arpoison
gcc arpoison.c /usr/lib/libnet.a -o arpoison 
mv arpoison /usr/sbin   


用法:
Usage: -i device -d dest_IP -s src_IP -t target_MAC -r src_MAC [-a] [-w time between packets] [-n number to send]


示例:
arpoison -i eth0 -d 172.16.18.254 -s 172.16.18.19 -t ff:ff:ff:ff:ff:ff -r 00:11:09:E8:78:DD   
-i eth0 指定发送arp包的网卡接口eth0
-d 172.16.18.254 指定目的ip为172.16.18.254
-s 172.16.18.19 指定源ip为172.16.18.19
-t ff:ff:ff:ff:ff:ff 指定目的mac地址为ff:ff:ff:ff:ff:ff(arp广播地址)
-r 00:11:09:E8:C8:ED 指定源mac地址为00:11:09:E8:C8:ED

wireshark截图如下:
linux下防止arp攻击


写了一个小脚本,根据注释,相信聪明智慧的各位可以搞定linux下的arp攻击了: 
 #!bash #arpDefend.sh ####### #yk103# ####### #网关mac地址 GATEWAY_MAC=00:D0:F8:FF:4A:23 #目的mac地址 DEST_MAC=ff:ff:ff:ff:ff:ff #目的ip地址 DEST_IP=172.16.18.254 #本地网卡接口 INTERFACE=eth0 #$INTERFACE的mac地址 MY_MAC=00:11:09:E8:78:DD #$INTERFACE的ip地址 MY_IP=172.16.18.19 #在本机建立静态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 & 

结束语:
arpoison需要root权限运行
arpoison需要libnet的支持
arpoison很好的解决了arp攻击的问题
题外话:
其实arpoison本身是可以作为arp攻击工具使用(看名字就可以知道 "poison" 毒),我们这方法可谓以毒攻毒。 至于如何用arpoison进行arp攻击,相信冰雪聪明的各位用不着我说了(嘿嘿~~)

你可能感兴趣的:(linux下防止arp攻击)