分页: 1 / 2

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

发表于 : 2008-06-06 7:53
maikafei
防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


正在试用,结果随后报告.....

发表于 : 2008-06-06 12:13
xuanyuan1707
留名!找了好久!!

楼主发布报告!

发表于 : 2008-06-06 12:51
mawith
我更想知道如何能控制别人的流量。。。老有人在线看片。。更新都难。。。。。。

发表于 : 2008-06-06 19:09
syrano
mawith 写了:我更想知道如何能控制别人的流量。。。老有人在线看片。。更新都难。。。。。。
在她的局域网共享里放两个病毒

发表于 : 2008-06-06 21:51
maikafei
xuanyuan1707 写了:留名!找了好久!!

楼主发布报告!

今晚反应良好,没有断线,不知道是不是起作用了,还是今晚下大雨搞毒机的家伙被雷劈死没有上机.

发表于 : 2008-06-06 22:06
crysilently
开心见到此贴 不过我现在和舍友合用用路由器了 没有arp攻击了 不然我就拔他的线 :D

发表于 : 2008-06-06 23:57
maikafei
网关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

发表于 : 2008-06-11 18:30
syrano
拆除防火墙的命令

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

然后就可以使用局域网的资源了。

发表于 : 2008-06-19 22:38
maikafei
已经试用超过十天, 的确非常不错哦. :lol:

发表于 : 2008-07-13 10:25
tgwen
非常感谢,学习了不少知识。。

发表于 : 2008-07-13 11:01
黄金时代
网关如何设置?我使用的是127.0.0.1

发表于 : 2008-07-13 16:27
syrano
黄金时代 写了:网关如何设置?我使用的是127.0.0.1
用arp -a 看网关的ip和mac。
不过可能是假的。

发表于 : 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
无结果

发表于 : 2008-07-13 18:18
syrano
不是局域网,要arp防火墙干嘛?

arp协议是用在局域网里的。

发表于 : 2008-07-14 0:26
maikafei
黄金时代 写了:我是河南网通的,没有局域网
我想这养设置也可以吧?

$ 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