新萤火虫论坛

 找回密码
 注册
查看: 1937|回复: 3

双相ARP绑定的方法☆超详细【图文】

[复制链接]
发表于 2008-2-28 08:31:55 | 显示全部楼层 |阅读模式
  在局域网中,通信前必须通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,对网络的正常传输和安全都是一个很严峻的考验。
“又掉线了!!!”每当听到客户的抱怨声一片响起,网管员就坐立不安。其实,此起彼伏的瞬间掉线或大面积的断网大都是ARP欺骗在作怪。ARP欺骗攻击已经成了破坏网吧经营的罪魁祸首,是网吧老板和网管员的心腹大患。
      目前知道的带有ARP欺骗功能的软件有“QQ第六感”、“网络执法官”、“P2P终结者”、“网吧传奇杀手”等,这些软件中,有些是人为手工操作来破坏网络的,有些是做为病毒或者木马出现,使用者可能根本不知道它的存在,所以更加扩大了ARP攻击的杀伤力。
      从影响网络连接通畅的方式来看,ARP欺骗一般有两种攻击可能,一种是对路由器ARP表的欺骗;另一种是对内网电脑ARP表的欺骗,当然也可能两种攻击同时进行。不管理怎么样,欺骗发送后,电脑和路由器之间发送的数据可能就被送到错误的MAC地址上,从表面上来看,就是“上不了网”,“访问不了路由器”,“路由器死机了”,因为一重启路由器,ARP表会重建,如果ARP攻击不是一直存在,就会表现为网络正常,所以网吧业主会更加确定是路由器“死机”了,而不会想到其他原因。为此,宽带路由器背了不少“黑锅”,但实际上应该ARP协议本身的问题。好了,其他话就不多说,让我们来看看如何来防止ARP的欺骗吧。
      上面也已经说了,欺骗形式一般有欺骗路由器ARP表和欺骗电脑ARP两种,我们的防护当然也是两个方面的,首先在路由器上进行设置,来防止路由器的ARP表被恶意的ARP数据包更改;其次,我们也会在电脑上进行一下设置,来防止电脑的ARP表受恶意更改。两个方面的设置都是必须的,不然,如果您只设置了路由器的防止ARP欺骗功能而没有设置电脑,电脑被欺骗后就不会把数据包发送到路由器上,而是发送到一个错误的地方,当然无法上网和访问路由器了。

一、设置前准备
      当使用了防止ARP欺骗功能(IP和MAC绑定功能)后,最好是不要使用动态IP,因为电脑可能获取到和IP与MAC绑定条目不同的IP,这时候可能会无法上网,通过下面的步骤来避免这一情况发生吧。
1. 把路由器的DHCP功能关闭。
2.    2.给电脑手工指定IP地址、网关、DNS服务器地址。

二、设置路由器
这里以TP-link490路由器和Routeros2.96为例,
首先是TP-link490,升级固件后得到“IP与MAC绑定”功能

打开静态ARP绑定设置窗口如下:

打开“ARP映射表窗口如下

这是路由器动态学习到的ARP表,可以看到状态这一栏显示为“未绑定”。如果确认这一个动态学习的表没有错误(如果网络是正常运行的,而且不同IP对应的MAC不一样,一般就没有错误)。我们把这一个表进行绑定,并且保存为静态表,这样路由器重启后这些条目都会存在,达到一劳永逸的效果。
点击全部绑定,可以看到下面界面:


可以看到状态中已经为已绑定,这时候,路由器已经具备了防止ARP欺骗的功能,上面的示范中只有三个条目,如果您的电脑多,操作过程也是类似的。有些条目如果没有添加,也可以下次补充上去。除了这种利用动态学习到的ARP表来导入外,也可以使用手工添加的方式,只要知道电脑的MAC地址,手工添加相应条目就可。
为了让下一次路由器重新启动后这些条目仍然存在,我们点击了全部导入,然后再次打开静态ARP绑定设置窗口:



可以看到静态条目已经添加,而且在绑定这一栏已经打上勾,表示启用相应条目的绑定。到此,我们已经成功设置路由器来防止192.168.1.111、192.168.1.112、222.77.77.1这三个IP受ARP欺骗的攻击,如果有更多的电脑,只是条目数不同,设置过程当然是一样的,不是很难吧?
三、设置电脑防止ARP欺骗

路由器已经设置了防止ARP欺骗功能,接下来我们就来设置电脑的防止ARP欺骗了。微软的操作系统中都带有ARP这一命令行程序,我们可以在windows的命令行界面来使用它。打开windows
的命令行提示符如下:




通过“arp-s +路由器IP如192.168.1.1+路由器的MAC地址”这一条命令来实现对路由器的ARP条目的静态绑定,可以看到在arp -a 命令的输出中,已经有了我们刚才添加的条目,Type类型为static表示是静态添加的。至此,我们也已经设置了电脑的静态ARP条目,这样电脑发送到路由器的数据包就不会发送到错误的地方去了。
    怎么知道路由器的MAC地址是多少呢?可以打开路由器的管理界面,进入“网络参数”->“LAN口设置”


LAN口的MAC地址就是电脑的网关的MAC地址。
    细心的人可能已经发现了,如果使用上面的方法,电脑每次在重启后都需要输入上面的命令来实现防止ARP欺骗,有没有更简单的方法自动来完成,不用手工输入呢?有!
    我们可以新建一个批处理文件如static_arp.bat,注意后缀名为bat。编辑它,在里面加入我们刚才的命令:


保存就可以了,以后可以通过双击它来执行这条命令,还可以把它放置到系统的启动目录下来实现启动时自己执行。打开电脑“开始”->“程序”,双击“启动”打开启动的文件夹目录,把刚才建立的static_arp.bat复制到里面去:

双向绑定就完成了。
Routeros2.96的IP、MAC绑定方法:
用winbox登陆Routeros,选择IP—ARP,


IP前面带“D”的,表示dymanic,动态的意思,双击这个IP,




单击“OK”,
前面的D标准就消失了,然后关闭这个窗口,选择Interfaces----你的LAN网卡—
arp属性这里选择“reply-only”(不再学习),这样只有帮定过的IP才可以通过路由上网。




OK。完成路由器上的绑定,客户机批处理操作与上面一样。


@echo off
arp -s 192.168.0.1 00-e0-0f-7f-05-52

评分

1

查看全部评分

 楼主| 发表于 2008-2-28 08:32:09 | 显示全部楼层
ARP的分析与解决

如果您的网络出现,整体突然掉线,或者有不定时的部分机器掉线,再或者出现一台一台机器的掉线.而且一般情况下几种掉线都会自动恢复.那我非常热切的恭喜您,您中奖啦.奖品是ARP欺骗. 不用高兴也不用激动,因为这个奖项量很大,很朋友都在深受其意.ARP到底咋回事,这里咱说道说道.

为了一个朋友"忘忧草"特意再加一段,"不掉线,一切看似正常的ARP"


ARP欺骗原理:
在同一NET内的所以机器是通过MAC地址通讯。方法为,PC和另一台设备通讯,PC会先寻找对方的IP地址,然后在通过ARP表(ARP表里面有所以可以通讯IP和IP所对应的MAC地址)调出相应的MAC地址。通过MAC地址与对方通讯。也就是说在内网中各设备互相寻找和用来通讯的地址是MAC地址,而不是IP地址。
但是当初ARP方式的设计没有考虑到过多的安全问题。给ARP留下很多的隐患,ARP欺骗就是其中一个例子。
网内的任何一台机器都可以轻松的发送ARP广播,来宣称自己的IP和自己的MAC。这样收到的机器都会在自己的ARP表格中建立一个他的ARP项,记录他的IP和MAC地址。如果这个广播是错误的其他机器也会接受。例如: 192。168。1。11机器MAC是 00:00:00:11:11:11,他在内网广播自己的IP地址是192。168。1。254(其实是路由器的IP),MAC地址是00:00:00:11:11:11(他自己的真实MAC).这样大家会把给192。168。1。254的信息和发给00:00:00:11:11:11.也就是192。168。1。11..。 有了这个方法欺骗者只需要做一个软件,就可以在内网想骗谁就骗谁.而且软件网上到处都是,随便DWON随便用.要多随便有多随便啊...
基于原理,ARP在技术上面又分为,对PC的欺骗和对路由的欺骗.他们的区别在后面的ARP解决里面仔细阐述.
ARP欺骗的起因:
网络游戏兴起后网络盗号,木马也跟着疯狂。ARP欺骗就是一种很好的盗号方式。欺骗者利用自己在网吧上网时,先找到内网网关的MAC地址,然后发送自己ARP欺骗,告送内网所以的机器自己是网关。例如:192。168。1。55 MAC00-14-6c-18-58-5a 机器为欺骗者的盗号机器,首先,他会先找到内网的网关(内网网关为 192。168。1。1 MAC为XX.XX.XX.XX.XX.XX)。之后他就会发送ARP广播,说自己的IP地址是192。168。1。1 MAC地址是00-14-6c-18-58-5a.这样,内网的所有收到他发信息得机器都会把它误认为内网的网关。所有上网信息都会通过他的MAC地址发给这个机器,由于找不到真正的网关,这些被骗的机器就无法上网。而发送的所有信息都会被这个盗号机器收到,通过分析收到的信息他可以在里面找到有用的信息,特别是有关于帐号的部分,从而得到正在游戏的玩家的帐号,发生盗号事件。
ARP的发现:
那我们网吧出现掉线了,是否是ARP呢?如何去判断.好,这里给出方法,但是请大家顶了再说.

ARP的通病就是掉线,在掉线的基础上可以通过以下几种方式判别,1。一般情况下不需要处理1分钟之内就可以回复正常上网。因为ARP欺骗是由时限,过了期限就会自动的回复正常。而且现在大多数路由器都会在很短时间内不停广播自己的正确ARP,使受骗的机器回复正常。但是如果出现攻击性ARP欺骗(其实就是时间很短的量很大的欺骗ARP,1秒有个几百上千的),他是不断的通过非常大量ARP欺骗来阻止内网机器上网,即使路由器不断广播正确的包也会被他大量的错误信息给淹没。2。打开被骗机器的DOS界面,输入ARP -A命令会看到相关的ARP表,通过看到的网关的MAC地址可以去判别是否出现ARP欺骗,但是由于时限性,这个工作必须在机器回复正常之前完成。如果出现欺骗问题,ARP表里面会出现错误的网关MAC地址,和真实的网关MAC一对黑白立分.
ARP解决:
现在看到ARP解决方案,都感觉有点效率低下,而且不够稳定.本人对欣向路由较为了解,以他为例吧.


1.路由ARP广播.
国内部分硬件路由有此功能,最早是在欣向的路由里面发现这个功能.感觉不错,挺有方法的,但是在软路由里面好像还未发现,软路由的兄弟们加把劲啦.他的原理是路由器不间断的广播正确的路由器ARP.例如:路由器的IP是192.168.1.1 MAC:11:12:13:14:15:16,那他就会不停的每秒广播自己的正确ARP.不管你内网机器是否喜欢收,1秒收一个一秒收一个,收到了就改一次ARP表收到了就改一次ARP表.无穷无尽无止无息,子子孙孙无穷亏也.....如果出现ARP欺骗,欺骗者发出欺骗信息,PC刚收到欺骗信息就收到了正确信息.所以问题也就解决了.但是有个隐患,就是广播风暴的问题.不间断的广播是否会应该内网的网络呢??? (带着问题请教了国内某厂家欣X的工程师,工程师很热情的解除了我的疑惑,感谢一下先).以每秒次的频率发送APR广播在内网是微乎其微的,因为任何一个机器都会有广播发生,多一个ARP最多相当于多几台机器的信息量,对内网是不会有影响的.但是这种方式有他的问题,当欺骗者加大欺骗ARP的频率超过路由时(在欺骗软件上面实现非常容易),还是会造成欺骗的效果.解决也应该很简单就是加大路由器的广播频率,但是欣X的工程师却否定了这种方法,原因请看第2条.


2.超量路由ARP广播.
近期发现个别路由厂家宣传可以完全防止ARP问题.我抱着崇敬的心态去学习了一下处理方法,不得不让人失望,是非常失望和痛心.所谓完全防止其实就是前面的路由ARP广播,只是简单的把频率加大到每秒100.200.....次. 这种方法效果单看ARP方面确实比每秒一次要好.但是却是得不偿失,甚至有点.....不说了,免得让人骂.简单给大家分析一下,每秒100为例吧,也就是说,路由器1秒时间会发出100个ARP广播,200台的电脑,每台机器每秒处理100次.如果有10台交换机,就会有10个交换机处理100次.每次交换机都会把信息互相转发,这每秒ARP信息的处理量要按照10N次方*100去计算的.大家如果了解广播的模式就会清楚,交换家之间会互相不停的传递信息,你发给大家,我收到了,还会发给大家.大家收到了还是要发给大家.这样每台PC最终收到的信息每秒要上万条吧(这个量应该只小没大吧?).每秒都这样干100次.不知道网络内部要成为什么样子??PC的就没事老维护ARP表就不干别的了吗?为了一个ARP,7*24小时的折腾网络值得吗?网络性能要降低多少啊.人满时或者有点内网的小攻击时,网吧不瘫痪估计有点难啊,,,死字很容易写啊.当然平时你是感觉不到的.但是我要问一句想出此方法的工程师,你出这个方案,是为了解决问题吗?


3.极力推荐的方法.静态绑定.
ARP解决最有效的方法,就是从根本杜绝他的欺骗途径。
欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以根本解决对内网PC的欺骗。
方法为:找到路由器的lan口的MAC地址,把MAC地址通过静态的方式帮定到每台PC上面。通过命令,ARP -S 可以实现。 首先,建立一个批处理文件。内容只有一行命令,“ARP -S 内网网关 网关的MAC地址 ”,例如:“ARP -S 192.168.1.1 00-13-32-33-12-11 ”.把批处理文件放到启动里面,这样每次开机都会执行这个文件,即使出现ARP欺骗,由于我们设置的是静态方式,PC也不会去理会欺骗的ARP.


如果设置成功会在PC上面通过执行 arp -a 可以看到相关的提示:
Internet Address Physical Address Type(注意这里)
192.168.1.1 00-0f-7a-05-0d-a4 static(静态)
一般不绑定,在动态的情况下:
Internet Address Physical Address Type
192.168.1.1 00-0f-7a-05-0d-a4 dynamic(动态)


ARP对路由的欺骗.
做了静态绑定之后,为什么还会掉线呢?还是ARP吗?不幸的是,还是ARP( ARP对路由欺骗).
因为有种情况下的问题,没有得到解决.大家设想一下,现在的处理方法如果碰到欺骗者不是冒充网关,而是冒充内网的PC会如何呢?答案是掉线,冒充谁,谁掉线.因为路由器收到欺骗ARP后找不到你了,转发给你的信息全部给了欺骗者的机器啦... 我们在PC上面可以绑定网关.难道在路由上面也绑定PC吗? 答案是否定的,难道我内网每台PC的MAC地址都在路由里面绑定,累死了,而且几百个MAC地址看着就眼晕,而且如果有任何改动都需要调整路由器,几百条记录也太累了吧.针对这个问题对多台设备进行了测试,包括3个版本的软路由,欣X,侠X,艾X等等的产品(大家也想测试的话,给当地的厂家代理商说你要试用,简单啊).最终结果不尽人意,软路由3种里面只有1种有可以解决的方法,而且是每台绑定方法.3款硬路由有1款是可以完全防范,2款需要绑定(提醒大家,2款产品都有绑定数量的限制,超过数量无法解决,采购时注意询问).对于1款可以防范的产品做了一些研究但是没有结果,再次打通了欣X的工程师电话,请教处理方法.工程师给出了答案,欣X路由是采用的WINDRIVER的VxWORKSII的操作系统.在效率与安全性要比免费LINUX系统的强很多,这套2代的系统本身就可以维护一个数据库,不从硬件的数据库提取数据,数据表内容都是在PC上网时收集的,对于ARP欺骗根本就不予理睬,针对ARP对路由的欺骗在基础上面就已经给屏蔽了.而且内网可以随意的改动与调整...打住..有点象厂家稿子啦......


ARP的问题这里基本都提到了,如果还有想法请大家提出来.我们一起讨论.......

后面在补充一种ARP欺骗的问题,他就是对交换机,很多带管理的交换机他们都有一张ARP表格需要维护,而且通过这张表来提高数据的交换效率.如果出现ARP欺骗,交换机就无法给目标IP发送数据啦,所以需要在交换机里面做静态ARP绑定.

为什么会有不掉线,一切看似正常的ARP

大家是否出现过网吧丢游戏号,丢QQ号,丢钱包的问题呢?

特别是大面积的丢失帐号,很大部分就是ARP造成的.原理是:欺骗者,先骗了PC后骗了路由器.

这种情况下,PC把信息发给欺骗者,然后欺骗者把信息再转发给路由器.当欺骗者收到路由器回来的信息后再发给相对应的PC.这样就可以再不影响内网PC正常上网情况下,截获PC的上网信息,就可以盗你的游戏帐号,盗你的qq号.偷你的钱包他就要换另一个方法了
回复 支持 反对

使用道具 举报

发表于 2008-2-28 10:36:39 | 显示全部楼层
看的好累啊,不过还好,学了一招啊!
回复 支持 反对

使用道具 举报

发表于 2008-2-28 11:37:54 | 显示全部楼层
学习啊
谢谢楼主了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|萤火虫

GMT++8, 2024-11-23 15:19 , Processed in 0.364871 second(s), 11 queries , File On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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