ARP绑定网关及批处理
一.WINDOWS下绑定ARP绑定网关
步骤一:
在能正常上网时,进入MS-DOS窗口,输入命令:arp -a,查看网关的IP对应的正确MAC地址, 并将其记录下来。
注意:如果已经不能上网,则先运行一次命令arp -d将arp缓存中的内容删空,计算机(电脑)可暂时恢复上网(攻击如果不停止的话)。一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp -a。
步骤二:
步骤二:
如果计算机(电脑)已经有网关的正确MAC地址,在不能上网只需手工将网关IP和正确的MAC地址绑定,即可确保计算机(电脑)不再被欺骗攻击。
要想手工绑定,可在MS-DOS窗口下运行以下命令:
arp -s 网关IP 网关MAC
例如:假设计算机(电脑)所处网段的网关为192.168.1.1,本机地址为192.168.1.5,在计算机(电脑)上运行arp -a后输出如下:
Cocuments and Settings>arp -a
Interface:192.168.1.5 --- 0x2
Internet Address Physical Address Type
192.168.1.1 00-01-02-03-04-05 dynamic
其中,00-01-02-03-04-05就是网关192.168.1.1对应的MAC地址,类型是动态(dynamic)的,因此是可被改变的。
被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC。如果希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找该攻击的机器做准备。
手工绑定的命令为:
arp -s 192.168.1.1 00-01-02-03-04-05
绑定完,可再用arp -a查看arp缓存:
Cocuments and Settings>arp -a
Interface: 192.168.1.5 --- 0x2
Internet Address Physical Address Type
192.168.1.1 00-01-02-03-04-05 static
这时,类型变为静态(static),就不会再受攻击影响了。
但是,需要说明的是,手工绑定在计算机(电脑)关机重启后就会失效,需要再次重新绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机(电脑),把病毒杀掉,才算是真正解决问题。 作批处理文件
在客户端做对网关的arp绑定,具体操作步骤如下:
步骤一:
查找本网段的网关地址,比如192.168.1.1,以下以此网关为例。在正常上网时,“开始→运行→cmd→确定”,输入:arp -a,点回车,查看网关对应的Physical Address。
比如:网关192.168.1.1 对应00-01-02-03-04-05。
步骤二:
编写一个批处理文件rarp.bat,内容如下:
@echo off
arp -d
arp -s 192.168.1.1 00-01-02-03-04-05
保存为:rarp.bat。
步骤三:
运行批处理文件将这个批处理文件拖到“Windows→开始→程序→启动”中,如果需要立即生效,请运行此文件。 二. Linux下绑定IP和MAC地址,防止ARP欺骗一、应用背景
由于最近网上新出现一种ARP欺骗病毒,主要表现为:
中病毒的机器不仅影响自身,同时也会影响同网段的其它机器,将其它机器的HTTP数据包里加入病毒代码。代码例子如:
<html><iframe src=http://www2.89382.cn/wm/css.htm 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 SettingsAdministrator>arp -d
2)绑定Linux主机的IP和MAC地址
C:Documents and SettingsAdministrator>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