使用 arptables 来做主动式arp防火墙

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
maikafei
帖子: 370
注册时间: 2006-03-22 3:42

使用 arptables 来做主动式arp防火墙

#1

帖子 maikafei » 2008-06-06 7:53

防ARP欺骗(arptables)

最近在学校论坛上看到又有人吃了不少ARP欺骗的苦,其实只要找个好点的防火墙,这些问题都可以解决!~以前偶在Win下用的是look’n’stop,一个很小巧却十分好用的东东!~它的设置可以看《look’n’stop防火墙》!现在一直用Ubuntu,很少出现跟人抢IP的事, 也就没有关心过,直到有一天,偶的IP被人用了,555,从网上找找了资料,发现了arptables这个东东!~

思路和LNS的差不多!~~只让偶和网关间是双向通信,和其它机器间是单向,也就是可以向局域网(FF:FF:FF:FF:FF:FF)发信息,而不接收其发来的信息。呵,所以这招十分有用!~也可以用来冲别人IP,很爽哦!

首先安装好arptables:

* sudo apt-get install arptables

然后定义规则:

* sudo arptables -A INPUT --src-mac ! 网关物理地址 -j DROP
* sudo arptables -A INPUT -s ! 网关IP -j DROP
* sudo arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT

呵,不过这样就有一点不好,局域网内的资源不能用!~比如飞鸽、War3!如果想用它们的话,把上面那些规则给Del就OK了!~

* sudo arptables -F

当然我们可以做个脚本,每次开机的时候自动运行!~sudo gedit /etc/init.d/arptables,内容如下:

#! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

arptables -A INPUT --src-mac ! 网关物理地址 -j DROP

arptables -A INPUT -s ! 网关IP -j DROP

arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT

然后给arptables加个execution的属性,

sudo chmod 755 /etc/init.d/arptables

再把arptables设置自动运行,

sudo update-rc.d arptables start 99 S .

用sysv-rc-conf直接设置

原文出处
http://blog.guoliangwu.cn/articles/tag/arptables


正在试用,结果随后报告.....
上次由 maikafei 在 2008-06-11 18:53,总共编辑 3 次。
xuanyuan1707
帖子: 17
注册时间: 2008-05-28 10:23

#2

帖子 xuanyuan1707 » 2008-06-06 12:13

留名!找了好久!!

楼主发布报告!
头像
mawith
帖子: 1288
注册时间: 2007-10-21 16:41
来自: GD

#3

帖子 mawith » 2008-06-06 12:51

我更想知道如何能控制别人的流量。。。老有人在线看片。。更新都难。。。。。。
吼吼
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#4

帖子 syrano » 2008-06-06 19:09

mawith 写了:我更想知道如何能控制别人的流量。。。老有人在线看片。。更新都难。。。。。。
在她的局域网共享里放两个病毒
maikafei
帖子: 370
注册时间: 2006-03-22 3:42

#5

帖子 maikafei » 2008-06-06 21:51

xuanyuan1707 写了:留名!找了好久!!

楼主发布报告!

今晚反应良好,没有断线,不知道是不是起作用了,还是今晚下大雨搞毒机的家伙被雷劈死没有上机.
crysilently
帖子: 28
注册时间: 2008-05-25 7:45

#6

帖子 crysilently » 2008-06-06 22:06

开心见到此贴 不过我现在和舍友合用用路由器了 没有arp攻击了 不然我就拔他的线 :D
maikafei
帖子: 370
注册时间: 2006-03-22 3:42

#7

帖子 maikafei » 2008-06-06 23:57

网关IP和MAC的获得 可以用 命令:

arp -a

如果每次都不一样,也就是说你被ARP欺骗了.

看看我之前用 arp -a 获得的


sunny@sunny-desktop:~$ arp -a
? (192.168.1.1) 位于 00:E0:61:0C:6C:19 [ether] 在 eth0
? (192.168.1.31) 位于 00:E0:61:0C:6C:19 [ether] 在 eth0

而实际真实的应该是

sunny@sunny-desktop:~$ arp -a
? (192.168.1.1) 位于 00:19:E0:CE:B5:78 [ether] 在 eth0
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#8

帖子 syrano » 2008-06-11 18:30

拆除防火墙的命令

sudo arptables -D INPUT --src-mac ! 网关物理地址 -j DROP
sudo arptables -D INPUT -s ! 网关IP -j DROP
sudo arptables -D OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT

然后就可以使用局域网的资源了。
maikafei
帖子: 370
注册时间: 2006-03-22 3:42

#9

帖子 maikafei » 2008-06-19 22:38

已经试用超过十天, 的确非常不错哦. :lol:
tgwen
帖子: 69
注册时间: 2008-02-03 10:27

#10

帖子 tgwen » 2008-07-13 10:25

非常感谢,学习了不少知识。。
头像
黄金时代
帖子: 238
注册时间: 2007-04-23 16:41
来自: 给你的爱一直很安静

#11

帖子 黄金时代 » 2008-07-13 11:01

网关如何设置?我使用的是127.0.0.1
图片
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#12

帖子 syrano » 2008-07-13 16:27

黄金时代 写了:网关如何设置?我使用的是127.0.0.1
用arp -a 看网关的ip和mac。
不过可能是假的。
E=m c^2
头像
黄金时代
帖子: 238
注册时间: 2007-04-23 16:41
来自: 给你的爱一直很安静

#13

帖子 黄金时代 » 2008-07-13 17:50

我是河南网通的,没有局域网
我想这养设置也可以吧?

$ ifconfig
eth0 Link encap:以太网 硬件地址 00:04:61:94:2d:e5
inet6 地址: fe80::204:61ff:fe94:2de5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:2218998 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:2203197 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:1603288389 (1.4 GB) 发送字节:1363447865 (1.2 GB)
中断:20 基本地址:0xd000

eth0:avahi Link encap:以太网 硬件地址 00:04:61:94:2d:e5
inet 地址:169.254.7.176 广播:169.254.255.255 掩码:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
中断:20 基本地址:0xd000

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 跃点数:1
接收数据包:78316 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:78316 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:4706609 (4.4 MB) 发送字节:4706609 (4.4 MB)

ppp0 Link encap:点对点协议
inet 地址:123.4.56.32 点对点:123.4.56.1 掩码:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1468 跃点数:1
接收数据包:1668517 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:1411981 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:3
接收字节:1348986498 (1.2 GB) 发送字节:408638338 (389.7 MB)

arp防火墙设置为

arptables -A INPUT --src-mac ! 00:04:61:94:2d:e5 -j DROP

arptables -A INPUT -s ! 123.4.56.1 -j DROP

arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT

也就是只是和本网段内的路由器123.4.56.1双向联系?

$ arp -a
无结果
图片
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#14

帖子 syrano » 2008-07-13 18:18

不是局域网,要arp防火墙干嘛?

arp协议是用在局域网里的。
E=m c^2
maikafei
帖子: 370
注册时间: 2006-03-22 3:42

#15

帖子 maikafei » 2008-07-14 0:26

黄金时代 写了:我是河南网通的,没有局域网
我想这养设置也可以吧?

$ ifconfig
eth0 Link encap:以太网 硬件地址 00:04:61:94:2d:e5
inet6 地址: fe80::204:61ff:fe94:2de5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:2218998 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:2203197 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:1603288389 (1.4 GB) 发送字节:1363447865 (1.2 GB)
中断:20 基本地址:0xd000

eth0:avahi Link encap:以太网 硬件地址 00:04:61:94:2d:e5
inet 地址:169.254.7.176 广播:169.254.255.255 掩码:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
中断:20 基本地址:0xd000

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 跃点数:1
接收数据包:78316 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:78316 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:4706609 (4.4 MB) 发送字节:4706609 (4.4 MB)

ppp0 Link encap:点对点协议
inet 地址:123.4.56.32 点对点:123.4.56.1 掩码:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1468 跃点数:1
接收数据包:1668517 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:1411981 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:3
接收字节:1348986498 (1.2 GB) 发送字节:408638338 (389.7 MB)

arp防火墙设置为

arptables -A INPUT --src-mac ! 00:04:61:94:2d:e5 -j DROP

arptables -A INPUT -s ! 123.4.56.1 -j DROP

arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT

也就是只是和本网段内的路由器123.4.56.1双向联系?

$ arp -a
无结果


樓上老大說了,非局域網不需要這個. :D
回复