Linux下防御arp攻击策略.

本文介绍了一种有效的ARP病毒攻击应对方法,包括如何找出感染病毒的机器及其MAC地址,使用arpspoof进行防御,以及编写自动清理脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近朋友服务器每天经常遭遇arp病毒攻击导致网站无法正常运营,问我有没有好的解决策略,经过google了一番尝试了一下终于得到了解决方案,并找出感染病毒的机器为一台windows机器通知机房,并在本机做好防御策略,问题得到了很好的解决,在这个过程中得到了cuci的热心帮助,在此表示感谢!好了!话不多说具体操作方法如下:

1./*找出ARP攻击的机器*/
获取同一网段下所有机器MAC地址的办法
         
机房有机器中毒,发arp包,通过arpspoof虽然可以解决,也可以找到中毒机器的mac地址,但在机房设备不足的情况下,很难查到mac地址对应的IP。然后我们可以通过一个循环,使用arping来对整个子网下面的机器发一个包,这样就可以在arp下面查看到相应的mac缓存,进而得到对

应的IP地址。

  1. #!/bin/sh
  2. #感谢作者:吴洪声
  3. for ((i = 1; i < 254; i++))
  4. do
  5. arping -I eth0 60.191.82.$i -c 1
  6. done
  7. arp -a > mac_table
复制代码

脚本跑完后,查看当前目录生成的mac_table。
#arp -a 查找你中毒时网关的MAC地址,并记录下来在mac_table里寻找到相对应的机器,仍后就可以找出那台机器感染了ARP病毒。


2./*使用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脚本.

  1. #!/bin/sh
  2. #arpDefend.sh
  3. #yk103
  4. #网关mac地址
  5. GATEWAY_MAC=00:11:BB:A5:D2:40
  6. #目的mac地址
  7. DEST_MAC=ff:ff:ff:ff:ff:ff
  8. #目的ip地址(网段广播地址)
  9. DEST_IP=60.191.82.254
  10. #本地网卡接口
  11. INTERFACE=eth0
  12. #$INTERFACE的mac地址
  13. MY_MAC=00:30:48:33:F0:BA
  14. #$INTERFACE的ip地址
  15. MY_IP=60.191.82.247
  16. #在本机建立静态ip/mac入口 $DEST_IP--$GATEWAY_MAC
  17. arp -s $DEST_IP $GATEWAY_MAC
  18. #发送arp reply ,使$DEST_IP更新$MY_IP的mac地址为$MY_MAC
  19. arpoison -i $INTERFACE -d $DEST_IP -s $MY_IP -t $DEST_MAC -r $MY_MAC 1>/dev/null &
复制代码

前两天服务器在我不知情的情况下,我的机器被从一个机房搬到另外一个机房(狂晕),结果就开始一直无法访问,让机房的工程师帮忙看了半天,各方面正常,但网络就是不通,很郁闷,今天亲自去机房跑了一趟,搞定。

经查,我的机器所在的交换机上某台机器中了arp病毒,导致我的机器也受到攻击,我也没有功夫继续查是谁中了,简单搞了个脚本放在cron里面每10分钟执行一下,自动清理arp表和重新设置网关以及本机的网卡arp信息,感觉freebsd在抵抗arp攻击方面真的是太弱智了,有点不能接受。。。

我的cron脚本内容如下:

#!/bin/sh
/usr/sbin/arp -d -a
/usr/sbin/arp -s 124.254.29.1 00:05:31:d0:aa:bb
/usr/sbin/arp -s 124.254.29.196 00:20:ed:79:aa:bb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值