.

.

.

.

.

前段时间大概有一个月左右,租房的网络每天都断一次,每次断大概一两分钟左右就恢复了,所以没太在意。直到有一天晚上,LZ 正在写博客,但是网络频繁中断又重新连上再中断。待 LZ 好不容易找了个连上网的空隙把没写完的博文暂存了一下,然后就开始着手排查问题。

通过 arp(1) 命令发现网关的 mac 地址不是房东路由器的地址,于是第一反应便是内网发生了 ARP 攻击。

于是 LZ 打开 Wireshark 开始抓包,发现内网 192.168.1.129 这台主机向内网频繁的发送 ARP 广播,并且当 LZ 的主机向内网发送 ARP 广播查询网关 mac 地址时总是它进行响应,这是很明显的 ARP 欺骗。

其实这是木马病毒搞的鬼,它欺骗内网所有的主机,将自己伪装成网关。这样当其它主机发送上网请求的时候就会把数据包发给它,它就可以随意监听大家上网的内容了。

先不管它是什么鬼了,对 LZ 来说还得抓紧时间写博客,于是就先装一个 ARP 防火墙凑合一下,等有时间了再收拾它。

# 安装 arptables 防火墙
>$ sudo apt-get install arptables # 编写脚本
>$ vim arptables.sh #!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# 进站规则:如果来源 mac 不是 d8:5d:4c::c5:3c 则丢弃数据包
arptables -A INPUT -i eth0 --src-mac ! d8:5d:4c::c5:3c -j DROP
# 进站规则:如果来源 mac 不是 d8:5d:4c::c5:3c 且来源 IP 不是 192.168.1.1 则丢弃数据包
arptables -A INPUT -i eth0 --src-ip 192.168.1.1 --src-mac ! d8:5d:4c::c5:3c -j DROP
# 允许所有的出站请求
arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT # 赋予脚本执行权限
>$ chmod arptables.sh # 然后将脚本添加到开机启动项即可。 # 这两条命令也是 arptables 常用的命令
# 查看所有的规则
sudo arptables -L
# 删除所有的规则
sudo arptables -F

配置好这个 ARP 防火墙之后立马就可以上网了,看来还是防火墙好使哈哈。

上面是在 LZ 的 Ubuntu 笔记本上配置的,后来 LZ 又切换到了装有 Redhat 的台式机上,结果发现依然被 arp 攻击得无法上网。

LZ 发现 Redhat 上已经预装了 arptables,但是在配置规则的时候总是提示 Permission denied,LZ 也是醉了,明明都是 root 了,也不知道为什么没权限。

无奈之下只好弃用 arptables 了,看来只能用原生的 arp 命令来设定一个静态的 arp 表,不过发现这个办法倒是蛮管用的,跟用 arptables 效果一样。

>$ sudo arp -s 192.168.1.1 d8:5d:4c::c5:3c

这条命令就是将本地 ARP 中网关的 IP 和 MAC 手工指定好,这样无论外面广播的网关地址是多少统统忽略,让系统直接与这个手工配置的网关打交道。

记一次 Ubuntu 使用 arptables 抵御局域网 ARP 攻击的更多相关文章

  1. 浅谈局域网ARP攻击的危害及防范方法(图)

    浅谈局域网ARP攻击的危害及防范方法(图)   作者:冰盾防火墙 网站:www.bingdun.com 日期:2015-03-03   自 去年5月份开始出现的校内局域网频繁掉线等问题,对正常的教育教 ...

  2. 局域网ARP攻击防护

    通过借助一些安全软件来实现局域网ARP检测及防御功能. A.电脑管家 电脑管家--工具箱--下载ARP防火墙模块 不支持window2003 B.服务器安全狗 Windows版下载:http://fr ...

  3. 局域网 ARP 欺骗原理详解

    局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...

  4. Kali实现局域网ARP欺骗和ARP攻击

    原文地址: http://netsecurity.51cto.com/art/201303/386031.htm http://xiao106347.blog.163.com/blog/static/ ...

  5. Linux下用arptables防arp攻击

    Linux下网络层防火墙iptables很强大,链路层也有类似的防火墙arptables,可针对arp地址进行限制,防止ARP网关欺骗攻击,再配合静态绑定MAC和向网关报告正确的本机MAC地址,有效解 ...

  6. ARP攻击之Kali Linux局域网断网攻击

    特别声明: 我们学习研究网络安全技术的目的应是为了维护网络世界的安全,保护自己和他人的私有信息不被非法窃取和传播.请您遵守您所在地的法律,请勿利用本文所介绍的相关技术做背离道德或者违反法律的事情. S ...

  7. 使用DDOS deflate抵御少量DDOS攻击

    DDoS-Deflate是一款非常小巧的防御和减轻DDoS攻击的工具,它可以通过监测netstat来跟踪来创建大量互联网连接的IP地址信息,通过APF或IPTABLES禁止或阻档这些非常IP地址. 工 ...

  8. 网络转载:局域网安全:解决ARP攻击的方法和原理

    局域网安全:解决ARP攻击的方法和原理 IT世界网2006-01-26 10:17   [故障原因] 局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序). ...

  9. 局域网ARP病毒的清理

    局域网ARP病毒的清理 作者:IT动力源  来源:IT动力源收集整理     现在局域网中感染ARP 病毒的情况比较多,清理和防范都比较困难,给不少的网络管理员造成了很多的困扰.下面就是个人在处理这个 ...

随机推荐

  1. [Spring MVC] - Annotation验证

    使用Spring MVC的Annotation验证可以直接对view model的简单数据验证,注意,这里是简单的,如果model的数据验证需要有一些比较复杂的业务逻辑性在里头,只是使用annotat ...

  2. 9、java中的final关键字

    /* final : 最终.作为一个修饰符, 1,可以修饰类,函数,变量. 2,被final修饰的类不可以被继承.为了避免被继承,被子类复写功能. 3,被final修饰的方法不可以被复写. 4,被fi ...

  3. HTML5 直播协议之 WebSocket 和 MSE

    当前为了满足比较火热的移动 Web 端直播需求, 一系列的 HTML5 直播技术迅速的发展了起来. 常见的可用于 HTML5 的直播技术有 HLS, WebSocket 与 WebRTC. 今天我要向 ...

  4. Win32程序和控制台应用程序的项目互转设置

    一般情况下,如果是windows程序,那么WinMain是入口函数,在VS2010中新建项目为"win32项目" 如果是dos控制台程序,那么main是入口函数,在VS2010中新 ...

  5. (转)无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-

    HRESULT:0x80030002 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft ...

  6. (转)原始图像数据和PDF中的图像数据

    比较原始图像数据和PDF中的图像数据,结果见表1.1.表1.1中各种“解码器”的解释见本文后续的“PDF支持的图像格式”部分,“PDF中的图像数据”各栏中的数据来自开源的PdfView.如果您有兴趣查 ...

  7. 课堂笔记--Strom并发模型

    Strom并发模型:     topology是如何运行的?(可与mapreduce对比)         第一层:cluster         第二层:supervisor(host.node.机 ...

  8. Android ImageView显示本地图片

    Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...

  9. Linux下/boot目录

    /boot目录存放的是开机所需的文件----内核,开机菜单,及所需配置文件等: (1)系统Kernel的配置文件: (2)启动管理程序GRUB的目录,里面放的都是GRUB在启动时所需要的画面.配置及各 ...

  10. C++中关于string类型究竟能不能用cout输出的问题

    先让我讲下故事哈 一次在MFC中用cout输出一个string类型字符串,编译时出现这样一个错误: error C2679: binary '<<' : no operator defin ...