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入口 DESTIPGATEWAY_MAC
arp -s DESTIPGATEWAY_MAC

#发送arp reply ,使DESTIPMY_IP的mac地址为$MY_MAC
arpoison -i INTERFACEdDEST_IP -s MYIPtDEST_MAC -r $MY_MAC 1>/dev/null &









本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1575500,如需转载请自行联系原作者
目录
打赏
0
0
0
0
323
分享
相关文章
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
102 10
推广与体验Ubuntu Linux的便捷方法
如果你的朋友或家人对尝试Linux感兴趣,但希望在安装之前先体验一下,你可以分享以下链接给他们:Ubuntu在线导览。通过这个链接,他们可以在任何地方轻松体验Ubuntu,无需安装即可深入了解这个流行的操作系统。
|
24天前
|
在Linux环境下解决Visual Studio Code字体显示异常和字体替换方法。
解决Linux下VS Code字体显示异常,需要对Linux字体渲染机制有所理解,并对VS Code的配置选项进行合理设置。替换字体时则要通过系统字体配置或VS Code设置来完成。通过上述方法,可以有效地解决字体显示问题,从而提升代码编辑的视觉体验。
95 0
GDB符号表概念和在Linux下获取符号表的方法
通过掌握这些关于GDB符号表的知识,你可以更好地管理和理解你的程序,希望这些知识可以帮助你更有效地进行调试工作。
164 16
Wireguard in Linux的安装方法
本文介绍了如何在Ubuntu和Rocky Linux中安装配置WireGuard,并探讨了配置过程中可能出现的DNS泄露问题及解决方法,包括通过nmtui设置DNS及调整DNS优先级参数。
|
4月前
|
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
246 19
如何在Linux中更改主机名?修改主机名最新方法
本期教程将指导您如何在Linux系统中更改主机名。主机名是Linux系统的常用功能,用于识别服务器,帮助区分不同服务器,并与网络进程和其他应用程序协同工作。教程涵盖显示当前主机名的方法(通过`hostname`命令),以及在CentOS 7、Debian 9和Ubuntu 16.04及以上版本中更改主机名的步骤(使用`hostnamectl set-hostname`命令)。对于其他Linux版本,可编辑`/etc/hostname`文件实现更改。记得重启相关服务或服务器以使更改生效!
1246 12
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
178 10
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问