网络ARP问题及其解决方案
ARP的分析与解决.
如果您的网络出现,整体突然掉线,或者有不定时的部分机器掉线,再或者出现一台一台机器的掉线.而且一般情况下几种掉线都会自动恢复.那我非常热切的恭喜您,您中奖啦.奖品是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号.偷你的钱包他就要换另一个方法了(下一篇文章着重讨论防范偷钱包.)
问题的解决:
1。欣X不需要升级就可以解决ARP欺骗路由器的问题,因为他可以本身就防范,原因就是用了VxWorks II,具体看前面就不详细解决啦。另外,这里重申一点大家容易进入的误区...路由器发送ARP包解决ARP欺骗的方法,是很很笨拙,一秒几百次ARP发送的方法更是..........
2。杀病毒还是重装系统都没有太多的意义,因为你能保证不在感染吗,能保证么有人在网络内主动运行吗?
3。对于那些各类的SERVER,确实比较头痛,因为不论是LIUXN还是WINDOWS都要面临各种内网的机器变动啊,调换啊之类的事情。但是有个好消息,欣向有一个类似网管的软件,好象可以解决类似问题。以欣向的技术估计软件不会差了。
4。有朋友提出改动内网PC的IP与MAC,设置为与路由冲突,使路由DOWN掉。这个问题超出了ARP的范畴。但是,你说的方法确实破坏力很强,我之前的软路由确实很怕这个东西。但是用欣向的路由就没事啦。
5.新开的机器会很慢很卡,无法正常上网.但是本来开着的机器就很正常.
答复: 找高手帮你找一下是否已经被种了肉鸡,如果找不到从新做系统
大家有问题继续提,我会尽量和大家一起深入探讨的。。。
追加欣向ARP工具,并介绍使用方法与技巧。
经过这2天的测试与使用,发现欣向的这个工具还是非常适应潮流地,是大家需要地,是不错地,是个好同志地,是。。。。好了,先和大家探讨一下如何使用。
这里给大家推荐的工具包括:
1。欣向ARP工具。包括很全面的ARP防范的功能。(其中包括WinPcap_3_0.,请务必先安装此软件)
下载地址: http://www.nuqx.com/downce...
2。抓包看包工具。ethereal-setup-0.10.8。
http://www.ethereal.com/di... ... al-setup-0.10.8.exe
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
欣向ARP工具。(欣全向ARP工具.exe)
共分5大功能 (软件中所有需要保存文件的功能都会保存在软件所在的目录中)
1。IP/MAC清单
a。选择网卡。如果是单网卡不需要设置。如果是多网卡需要设置连接内网的那块网卡。
b。IP/MAC扫描。这里会扫描目前网络中所有的机器的IP与MAC地址。请在内网运行正常时扫描,因为这个表格将作为对之后ARP的参照。
之后的功能都需要这个表格的支持,如果出现提示无法获取IP或MAC时,就说明这里的表格里面没有相应的数据。
2。ARP欺骗检测
这个功能会一直检测内网是否有PC冒充表格内的IP.你可以把主要的IP设到检测表格里面,例如,路由器,电影服务器,等需要内网机器访问的机器IP.
(补充")ARP欺骗记录"表如何理解:
" time":发现问题时的时间;
"sender":发送欺骗信息的IP或MAC;
"Repeat":欺诈信息发送的次数;
" ARP info":是指发送欺骗信息的具体内容.如下面例子:
time sender Repeat ARP info
22:22:22 192.168.1.22 1433 192.168.1.1 is at 00:0e:03:22:02:e8
这条信息的意思是:在22:22:22的时间,检测到由192.168.1.22发出的欺骗信息,已经发送了1433次,他发送的欺骗信息的内容是:192.168.1.1的MAC地址是00:0e:03:22:02:e8.
打开检测功能,如果出现针对表内IP的欺骗,会出现提示。可以按照提示查到内网的ARP欺骗的根源。提示一句,任何机器都可以冒充其他机器发送IP与MAC,所以即使提示出某个IP或MAC在发送欺骗信息,也未必是100%的准确。所有请不要以暴力解决某些问题。
3。主动维护(快速解决)
这个功能可以直接解决ARP欺骗的掉线问题,但是并不是理想方法。他的原理就在网络内不停的广播指定的IP的正确的MAC地址。有些硬件路由器的ARP防范功能其实就是利用的这个功能,只是自动的不停广播网关的正确IP MAC而已,在大部分情况下都会表现不错.只是......前面有说过,这里不在赘述.
"制定维护对象"的表格里面就是设置需要保护的IP。发包频率就是每秒发送多少个正确的包给网络内所有机器。强烈建议尽量少的广播IP,尽量少的广播频率。一般设置1次就可以,如果没有绑定IP的情况下,出现ARP欺骗,可以设置到50-100次,如果还有掉线可以设置更高,即可以实现快速解决ARP欺骗的问题。但是想真正解决ARP问题,还是请参照上面绑定方法。
4。欣向路由器日志
收集欣向路由器的系统日志,等功能。
5。抓包
网吧很少接触到包级别的设置或问题。欣向的这个功能很可能把大家带到一个新技术高度,但是对于包的分析比一般的问题要复杂很多了,但是却可以提高对网络的把控力。
大家通过抓到的包可以分析内网的各种问题。具体这里不解释啦,基本所有的TCP/IP问题都可以分析。
抓包功能里面的空白条是控制抓包规则的,ethereal软件就是给大家分析包用的,大家把包文件直接拖到ethereal里面就可以打开。ethereal即可以抓包也可以看包,如果有机会可以研究一下。
############################################################
是否可以彻底解决ARP问题?
首先要在3个方面考虑,1.路由器.2.PC.3.中间的交换机.
1.路由器要选择可以防范ARP对路由器欺骗的,应该如果选择看自己的情况.具体品牌就不推荐了,后面我会出一个真假ARP防范区别的方法.让大家可以放心的采购.
2.PC都需要对路由器绑定,还有比较重要的服务器.(一般服务器绑定不是很重要)
3.中间的交换机要关闭MAC管理功能,或者做交换机下面的PC与其他连接交换机端口的MAC-IP绑定.再或者就选用不带MAC管理的交换机.这个功能对网吧其实真是没大用,因为主要业务还是对外网的访问,内网的那电流量再现在强大的交换机面前可以说忽略不计.
以上3点全部做到ARP就无作恶之处啦.....
############################################################
真假ARP防范识别.
好多朋友都再说ARP的防范啊,什么100次200次的啊.看着那个烦啊.
给大家一个检测方法,简单有效.
1.测试PC的欺骗防范.
,关闭路由器,把PC1设置为与路由器同IP,打开欣向ARP工具.记录PC1的IP MAC,然后把PC1设置为"主动维护"里面,............这样就把模拟的ARP攻击的环境假设好了.再把路由器打开,按照正常设置内网的PC上网.然后在"主动维护"里面开始主动维护,,这时路由器会一直广播错误的路由器MAC...先设置到100次,,只到500次看看是否可以防范....现在就看你的路由器的能力了.
2.对路由的欺骗防范.
找3台电脑,先设置错误的IP.然后打开ARP工具记录,把3个IP添加到主动维护里面,之后在把3台电脑的IP改为正确.........然后在开始主动维护....看看是否3台电脑还是否可以上网....黑白立判.
############################################################
自动绑定本机,网关的批处理文本
1、批处理绑定IP与网卡地址分类
@echo OFF
if %~n0==arp exit
if %~n0==Arp exit
if %~n0==ARP exit
echo 正在获取本机信息.....
:IP
FOR /f "skip=13 tokens=15 usebackq " %%i in (`ipconfig /all`) do Set IP=%%i && GOTO MAC
:MAC
echo IP:%IP%
FOR /f "skip=13 tokens=12 usebackq " %%i in (`ipconfig /all`) do Set MAC=%%i && GOTO GateIP
:GateIP
echo MAC:%MAC%
arp -s %IP% %MAC%
echo 正在获取网关信息.....
FOR /f "skip=17 tokens=13 usebackq " %%i in (`ipconfig /all`) do Set GateIP=%%i && GOTO GateMac
:GateMac
echo IP:%GateIP%
FOR /f "skip=3 tokens=2 usebackq " %%i in (`arp -a %GateIP%`) do Set GateMAC=%%i && GOTO Start
:Start
echo MAC:%GateMAC%
arp -d
arp -s %GateIP% %GateMAC%
echo 操作完成!!!
exit
###################################################################
2.批处理获得本机&网关的IP和MAC地址然后进行绑定
@echo off
:::::::::读取本机Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
:::::::::读取本机ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
:::::::::绑定本机IP地址和MAC地址
arp -s %IP% %Mac%
:::::::::读取网关地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G
:::::::::读取网关Mac地址
if exist GateMac.txt del GateMac.txt
arp -a %GateIP% >GateMac.txt
for /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H
:::::::::绑定网关Mac和IP
arp -s %GateIP% %GateMac%
exit
############################################################
3.批处理获得本机的IP和MAC地址然后进行绑定
@echo off
for /f "tokens=1* delims=:" %%i in ('ipconfig /all^|find /i "Physical
Address"') do set mac=%%j
for /f "tokens=1* delims=:" %%i in ('ipconfig /all^|find /i "IP
Address"') do set ip=%%j
arp -s %ip:~1% %Mac:~1%
如果您的网络出现,整体突然掉线,或者有不定时的部分机器掉线,再或者出现一台一台机器的掉线.而且一般情况下几种掉线都会自动恢复.那我非常热切的恭喜您,您中奖啦.奖品是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号.偷你的钱包他就要换另一个方法了(下一篇文章着重讨论防范偷钱包.)
问题的解决:
1。欣X不需要升级就可以解决ARP欺骗路由器的问题,因为他可以本身就防范,原因就是用了VxWorks II,具体看前面就不详细解决啦。另外,这里重申一点大家容易进入的误区...路由器发送ARP包解决ARP欺骗的方法,是很很笨拙,一秒几百次ARP发送的方法更是..........
2。杀病毒还是重装系统都没有太多的意义,因为你能保证不在感染吗,能保证么有人在网络内主动运行吗?
3。对于那些各类的SERVER,确实比较头痛,因为不论是LIUXN还是WINDOWS都要面临各种内网的机器变动啊,调换啊之类的事情。但是有个好消息,欣向有一个类似网管的软件,好象可以解决类似问题。以欣向的技术估计软件不会差了。
4。有朋友提出改动内网PC的IP与MAC,设置为与路由冲突,使路由DOWN掉。这个问题超出了ARP的范畴。但是,你说的方法确实破坏力很强,我之前的软路由确实很怕这个东西。但是用欣向的路由就没事啦。
5.新开的机器会很慢很卡,无法正常上网.但是本来开着的机器就很正常.
答复: 找高手帮你找一下是否已经被种了肉鸡,如果找不到从新做系统
大家有问题继续提,我会尽量和大家一起深入探讨的。。。
追加欣向ARP工具,并介绍使用方法与技巧。
经过这2天的测试与使用,发现欣向的这个工具还是非常适应潮流地,是大家需要地,是不错地,是个好同志地,是。。。。好了,先和大家探讨一下如何使用。
这里给大家推荐的工具包括:
1。欣向ARP工具。包括很全面的ARP防范的功能。(其中包括WinPcap_3_0.,请务必先安装此软件)
下载地址: http://www.nuqx.com/downce...
2。抓包看包工具。ethereal-setup-0.10.8。
http://www.ethereal.com/di... ... al-setup-0.10.8.exe
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
欣向ARP工具。(欣全向ARP工具.exe)
共分5大功能 (软件中所有需要保存文件的功能都会保存在软件所在的目录中)
1。IP/MAC清单
a。选择网卡。如果是单网卡不需要设置。如果是多网卡需要设置连接内网的那块网卡。
b。IP/MAC扫描。这里会扫描目前网络中所有的机器的IP与MAC地址。请在内网运行正常时扫描,因为这个表格将作为对之后ARP的参照。
之后的功能都需要这个表格的支持,如果出现提示无法获取IP或MAC时,就说明这里的表格里面没有相应的数据。
2。ARP欺骗检测
这个功能会一直检测内网是否有PC冒充表格内的IP.你可以把主要的IP设到检测表格里面,例如,路由器,电影服务器,等需要内网机器访问的机器IP.
(补充")ARP欺骗记录"表如何理解:
" time":发现问题时的时间;
"sender":发送欺骗信息的IP或MAC;
"Repeat":欺诈信息发送的次数;
" ARP info":是指发送欺骗信息的具体内容.如下面例子:
time sender Repeat ARP info
22:22:22 192.168.1.22 1433 192.168.1.1 is at 00:0e:03:22:02:e8
这条信息的意思是:在22:22:22的时间,检测到由192.168.1.22发出的欺骗信息,已经发送了1433次,他发送的欺骗信息的内容是:192.168.1.1的MAC地址是00:0e:03:22:02:e8.
打开检测功能,如果出现针对表内IP的欺骗,会出现提示。可以按照提示查到内网的ARP欺骗的根源。提示一句,任何机器都可以冒充其他机器发送IP与MAC,所以即使提示出某个IP或MAC在发送欺骗信息,也未必是100%的准确。所有请不要以暴力解决某些问题。
3。主动维护(快速解决)
这个功能可以直接解决ARP欺骗的掉线问题,但是并不是理想方法。他的原理就在网络内不停的广播指定的IP的正确的MAC地址。有些硬件路由器的ARP防范功能其实就是利用的这个功能,只是自动的不停广播网关的正确IP MAC而已,在大部分情况下都会表现不错.只是......前面有说过,这里不在赘述.
"制定维护对象"的表格里面就是设置需要保护的IP。发包频率就是每秒发送多少个正确的包给网络内所有机器。强烈建议尽量少的广播IP,尽量少的广播频率。一般设置1次就可以,如果没有绑定IP的情况下,出现ARP欺骗,可以设置到50-100次,如果还有掉线可以设置更高,即可以实现快速解决ARP欺骗的问题。但是想真正解决ARP问题,还是请参照上面绑定方法。
4。欣向路由器日志
收集欣向路由器的系统日志,等功能。
5。抓包
网吧很少接触到包级别的设置或问题。欣向的这个功能很可能把大家带到一个新技术高度,但是对于包的分析比一般的问题要复杂很多了,但是却可以提高对网络的把控力。
大家通过抓到的包可以分析内网的各种问题。具体这里不解释啦,基本所有的TCP/IP问题都可以分析。
抓包功能里面的空白条是控制抓包规则的,ethereal软件就是给大家分析包用的,大家把包文件直接拖到ethereal里面就可以打开。ethereal即可以抓包也可以看包,如果有机会可以研究一下。
############################################################
是否可以彻底解决ARP问题?
首先要在3个方面考虑,1.路由器.2.PC.3.中间的交换机.
1.路由器要选择可以防范ARP对路由器欺骗的,应该如果选择看自己的情况.具体品牌就不推荐了,后面我会出一个真假ARP防范区别的方法.让大家可以放心的采购.
2.PC都需要对路由器绑定,还有比较重要的服务器.(一般服务器绑定不是很重要)
3.中间的交换机要关闭MAC管理功能,或者做交换机下面的PC与其他连接交换机端口的MAC-IP绑定.再或者就选用不带MAC管理的交换机.这个功能对网吧其实真是没大用,因为主要业务还是对外网的访问,内网的那电流量再现在强大的交换机面前可以说忽略不计.
以上3点全部做到ARP就无作恶之处啦.....
############################################################
真假ARP防范识别.
好多朋友都再说ARP的防范啊,什么100次200次的啊.看着那个烦啊.
给大家一个检测方法,简单有效.
1.测试PC的欺骗防范.
,关闭路由器,把PC1设置为与路由器同IP,打开欣向ARP工具.记录PC1的IP MAC,然后把PC1设置为"主动维护"里面,............这样就把模拟的ARP攻击的环境假设好了.再把路由器打开,按照正常设置内网的PC上网.然后在"主动维护"里面开始主动维护,,这时路由器会一直广播错误的路由器MAC...先设置到100次,,只到500次看看是否可以防范....现在就看你的路由器的能力了.
2.对路由的欺骗防范.
找3台电脑,先设置错误的IP.然后打开ARP工具记录,把3个IP添加到主动维护里面,之后在把3台电脑的IP改为正确.........然后在开始主动维护....看看是否3台电脑还是否可以上网....黑白立判.
############################################################
自动绑定本机,网关的批处理文本
1、批处理绑定IP与网卡地址分类
@echo OFF
if %~n0==arp exit
if %~n0==Arp exit
if %~n0==ARP exit
echo 正在获取本机信息.....
:IP
FOR /f "skip=13 tokens=15 usebackq " %%i in (`ipconfig /all`) do Set IP=%%i && GOTO MAC
:MAC
echo IP:%IP%
FOR /f "skip=13 tokens=12 usebackq " %%i in (`ipconfig /all`) do Set MAC=%%i && GOTO GateIP
:GateIP
echo MAC:%MAC%
arp -s %IP% %MAC%
echo 正在获取网关信息.....
FOR /f "skip=17 tokens=13 usebackq " %%i in (`ipconfig /all`) do Set GateIP=%%i && GOTO GateMac
:GateMac
echo IP:%GateIP%
FOR /f "skip=3 tokens=2 usebackq " %%i in (`arp -a %GateIP%`) do Set GateMAC=%%i && GOTO Start
:Start
echo MAC:%GateMAC%
arp -d
arp -s %GateIP% %GateMAC%
echo 操作完成!!!
exit
###################################################################
2.批处理获得本机&网关的IP和MAC地址然后进行绑定
@echo off
:::::::::读取本机Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
:::::::::读取本机ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
:::::::::绑定本机IP地址和MAC地址
arp -s %IP% %Mac%
:::::::::读取网关地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G
:::::::::读取网关Mac地址
if exist GateMac.txt del GateMac.txt
arp -a %GateIP% >GateMac.txt
for /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H
:::::::::绑定网关Mac和IP
arp -s %GateIP% %GateMac%
exit
############################################################
3.批处理获得本机的IP和MAC地址然后进行绑定
@echo off
for /f "tokens=1* delims=:" %%i in ('ipconfig /all^|find /i "Physical
Address"') do set mac=%%j
for /f "tokens=1* delims=:" %%i in ('ipconfig /all^|find /i "IP
Address"') do set ip=%%j
arp -s %ip:~1% %Mac:~1%