曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 6262|回复: 1
打印 上一主题 下一主题

linux防arp欺骗

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2009-5-13 07:35:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主要是针对局域网里有人使用网络执法官或者p2p终结者冒充网关的行径。
假设真实的网关是192.168.0.1   其mac是00:0D:C0:13:3A:39。局域网中使用了局域网控制软件的有192.168.0.10,192.168.0.20 这几台机器。
1、编辑/etc/ethers(如果没有则创建),内容为真实网关的ip和mac:
192.168.0.1 00:0D:C0:13:3A:39
2、相关命令:
arp -d 192.168.0.10
arp -d 192.168.0.20
arp -f
可以将以上命令设为开机启动

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
沙发
 楼主| 发表于 2009-5-13 08:00:38 | 只看该作者

Linux下绑定IP和MAC地址,防止ARP欺骗

一、应用背景
由于最近网上新出现一种ARP欺骗病毒,主要表现为:中病毒的机器不仅影响自身,同时也会影响同网段的其它机器,将其它机器的HTTP数据包里加入病毒代码。代码例子如:<html><iframe src=http://www2.89382.cn/wm/css.htm width=0 height=0></iframe>这种病毒危害非常大!即使你机器的安全性做得很好,可是没办法保证同网段的其它机器安全没有问题!

解决办法:在网关和本机上双向绑定IP和MAC地址,以防止ARP欺骗。

二、约定
1、网关上已经对下面所带的机器作了绑定。网关IP:192.168.1.1 MAC:00:02:B3:38:08:62
2、要进行绑定的Linux主机IP:192.168.1.2 MAC:00:04:61:9A:8D:B2

三、绑定步骤
1、先使用arp和arp -a查看一下当前ARP缓存列表
[root@ftpsvr ~]# arp
Address                  HWtype HWaddress           Flags Mask            Iface
192.168.1.234            ether   00:04:61:AE:11:2B   C                     eth0
192.168.1.145            ether   00:13:20:E9:11:04   C                     eth0
192.168.1.1              ether   00:02:B3:38:08:62   C                     eth0

说明:
Address:主机的IP地址
Hwtype:主机的硬件类型
Hwaddress:主机的硬件地址
Flags Mask:记录标志,"C"表示arp高速缓存中的条目,"M"表示静态的arp条目。

[root@ftpsvr ~]# arp -a
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:16:76:22:23:86 [ether] on eth0

2、新建一个静态的mac-->ip对应表文件:ip-mac,将要绑定的IP和MAC地下写入此文件,格式为 ip mac。
[root@ftpsvr ~]# echo '192.168.1.1 00:02:B3:38:08:62 ' > /etc/ip-mac
[root@ftpsvr ~]# more /etc/ip-mac
192.168.1.1 00:02:B3:38:08:62

3、设置开机自动绑定
[root@ftpsvr ~]# echo 'arp -f /etc/ip-mac ' >> /etc/rc.d/rc.local

4、手动执行一下绑定
[root@ftpsvr ~]# arp -f /etc/ip-mac

5、确认绑定是否成功
[root@ftpsvr ~]# arp
Address                  HWtype HWaddress           Flags Mask            Iface
192.168.0.205            ether   00:02:B3:A7:85:48   C                     eth0
192.168.1.234            ether   00:04:61:AE:11:2B   C                     eth0
192.168.1.1              ether   00:02:B3:38:08:62   CM                    eth0

[root@ftpsvr ~]# arp -a
? (192.168.0.205) at 00:02:B3:A7:85:48 [ether] on eth0
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:02:B3:38:08:62 [ether] PERM on eth0

从绑定前后的ARP缓存列表中,可以看到网关(192.168.1.1)的记录标志已经改变,说明绑定成功。

四、添加信任的Windows主机(192.168.1.10)
1、Linux主机(192.168.1.2)上操作
[root@ftpsvr ~]# echo '192.168.1.10 00:04:61:AE:09:14' >> /etc/ip-mac

[root@ftpsvr ~]# arp -f /etc/ip-mac

2、Windows主机(192.168.1.10)上操作
1)清除ARP缓存
C:\\Documents and Settings\\Administrator>arp -d

2)绑定Linux主机的IP和MAC地址
C:\\Documents and Settings\\Administrator>arp -s 192.168.1.2 00-04-61-9A-8D-B2

你可以将上面2个步骤写在一个BAT(批处理)文件中,这样做的好处是,今后如果要增加其它机器的绑定,只需维护这个文件就可以了。例:
@echo off  
arp -d  
arp -s 192.168.1.2 00-04-61-9A-8D-B2
exit

注意:Linux和Widows上的MAC地址格式不同。Linux表示为:AA:AA:AA:AA:AA:AA,Windows表示为:AA-AA-AA-AA-AA-AA

五、参考文献
ARP协议揭密:http://www.ibm.com/developerworks/cn/linux/l-arp/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 14:02 , Processed in 0.064581 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表