.

.

.

.

.

前段时间大概有一个月左右,租房的网络每天都断一次,每次断大概一两分钟左右就恢复了,所以没太在意。直到有一天晚上,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. AFX_MANAGE_STATE(AfxGetStaticModuleState())DLL导出函数包含MFC资源

    AFX_MANAGE_STATE(AfxGetStaticModuleState()) 先看一个例子: .创建一个动态链接到MFC DLL的规则DLL,其内部包含一个对话框资源.指定该对话框ID如下: ...

  2. Python scikit-learn机器学习工具包学习笔记:feature_selection模块

    sklearn.feature_selection模块的作用是feature selection,而不是feature extraction.   Univariate feature selecti ...

  3. MySQL各逻辑模块工作配合

    在了解了MySQL的各个模块之后(点击查看MySQL各个逻辑模块),我们再看看MySQL各个模块间是如何相互协同工作的.接下来,我们通过启动MySQL,客户端连接,请求query,得到返回结果,到最后 ...

  4. 安卓中自定义并使用Volley框架请求网络

    大家好,今天我们讲一下如何使用Volley框架请求网络,为何要使用Volley框架,这就要先说一下使用Volley框架请求网络的优点了,volley是易于定制的,即你可以根据需求来设定volley框架 ...

  5. .net中常用的几种页面间传递参数的方法

    转自:http://www.cnblogs.com/lxshanye/archive/2013/04/11/3014207.html 参考:http://www.cnblogs.com/zhangka ...

  6. 是不是content-type: text/html的数据包一到,浏览器就肯定刷新页面?

    整理自:http://q.cnblogs.com/q/54726/ 是不是content-type: text/html的数据包一到,浏览器就肯定刷新页面? 或者说,浏览器收到的状态正常的conten ...

  7. android学习笔记50——SQLiteOpenHelper、android实现系统自带样式

    SQLiteOpenHelper SQLiteOpenHelper是android提供的一个管理数据库的工具类,可用于管理数据库的创建和版本更新. 一般的用法是创建SQLiteOpenHelper的子 ...

  8. (C#) 反转字符串,反转一个句子中单词。

    这个是非常基本的一道面试题,但是要考虑周全. 首先反转一个字符串: 基本思路是变成Char数组,然后调用C#里面的方法,或者设定两个index,从头,尾向中间遍历,并交换. 方法一: Array.Re ...

  9. Hbase预分区种子生成

    提前生成Hbase预分区种子,在创建Hbase表时也进行相应的预分区,同时设置预分区的个数,预分区的范围对应Hbase监控页面的Region Server的start key与End key,从而使数 ...

  10. FW开发代码规范---小任性(2)

    三.空行 (1)在每个函数.结构体.枚举定义结束之后都要加空行. 在一个函数体内,逻辑密切相关的语句之间不加空行,其它地方应加空行分隔. struct st1 { - }; // 空行 enum { ...