推荐榜 短消息 big5 繁体中文 找回方式 手机版 广 广告招商 主页 VIP 手机版 VIP 界面风格 ? 帮助 我的 搜索 申请VIP
客服
打印

[交流] 阻止传奇木马、网络执法管等Arp欺骗类软件的小程序

购买/设置 醒目高亮!点此感谢支持作者!本贴共获得感谢 X 9

阻止传奇木马、网络执法管等Arp欺骗类软件的小程序

在论坛的电脑问题应用交流区,经常看到有朋友问:网速怎么突然变慢啦,防火墙提示遇到Arp攻击啦,网络里有人用网络剪刀手或者网络执法官程序,怎么对付啦等等问题。在排除了路由器的原因后,多数是因为网内有电脑中了传奇木马病毒,或者网内有人安装了网络剪刀手,网络执法官,局域网终结者这类依靠Arp欺骗来工作的网络管理程序。当内网有一台电脑中了这类Arp欺骗类的病毒或者安装了这类依靠Arp欺骗来工作的网络管理程序,整个内网就会速度明显变慢,甚至网络断流(当中毒软件关机的时候到交换机Arp表老化失效的那段时间内),或者由于多台电脑中了病毒或者安装了网管程序而互相干扰导致网络完全无法使用。由于中病毒或者安装网管软件的是别人的电脑,我们动不了。但我们有能力给自己的电脑加上简单的防护手段来避免这种危害。
  1、Arp欺骗类病毒和网管程序的工作原理:
    在整个局域网内,有一个网关,大家都只知道网关的IP地址。其实,我们的网卡连接网关,不是按IP地址,而是按网关的mac地址来找的。这样,在交换机和我们的电脑里,就保存有一份网关的mac地址(网关的网卡物理地址,全球唯一)和网关IP地址的对应表,这张表就是Arp表。比如说,A电脑要让网关发一个数据包出去,它就会喊:谁是网关啊?把你的mac地址告诉我。网关听到后,就会说:我是网关(192.168.0.1),我的mac地址是XX:XX:XX:XX:XX:XX,你把数据包发到这个XX:XX:XX:XX:XX:XX就行了。A电脑听到后,就会把网关的mac地址和IP地址填到他的Arp表里,在一定的时间内(老化时间),他的所有向外的数据包都会发往XX:XX:XX:XX:XX:XX这个地址,从而完成上网的过程。
    这个时候,如果内网有B电脑中了Arp病毒(传奇木马就是),或者装了网络执法官这类软件,它就会对外不停地喊:我是网关192.168.0.1,我的mac地址是BB:BB:BB:BB:BB:BB,这个时候,内网所有的电脑都会把数据发往B这台电脑,然后由B再发到网关,完成上网的过程。这个时候,B电脑就可以:分析数据包,截获用户名和密码(病毒和木马程序的目的),或者进行流量统计和流量管理,超过了他规定流量的数据包就会扔掉。这就是Arp欺骗的整个过程。
    这里有朋友会问了,那我在电脑里手工指定网关的IP和mac地址行不行?这样不就不受病毒和Arp网管程序欺骗了?当然可以了。我这个小程序就是起这个作用的。由于静态的Arp绑定,每次关机或者重启都会失效,所以要写注册表,让这个绑定程序每次开机都自动运行一次才行。
    另外,这个程序也有缺点,就是你的网关换了,你要再运行一次这个程序才能上网。因为你的电脑里记着的是以前网关的mac地址啊。

  2、程序代码:
@echo off
title=自动绑定网关的静态arp表
::setlocal enabledelayedexpansion
arp -d
set gateway=192.168.0.1
for /f "delims=: tokens=2" %%a in ('ipconfig /all^|find /i "default gateway"') do (
       for /f %%b in ("%%a") do set gateway=%%b )
@echo -----此程序将自动搜索你的网关ip和mac进行绑定-----
@echo.
@echo ..................................................
@echo .---------你网关的ip地址是: %gateway% ------.
ping -n 3 %gateway% >nul
for /f "tokens=1,2" %%i in ('arp -a ^| find "%gateway%"') do (set gatewayip=%%i & set gatewayeth=%%j)
arp -d
@echo .------你网关的mac地址是: %gatewayeth%------.
@echo .-----------下面将绑定你的网关的arp--------------.
arp -s %gatewayip% %gatewayeth% 1>nul 2>nul
@echo @echo off >c:\windows\route.bat
@echo ping -n 20 %gatewayip% 1^>nul 2^>nul >>c:\windows\route.bat
@echo arp -s %gatewayip% %gatewayeth% >>c:\windows\route.bat
@echo Windows Registry Editor Version 5.00 >routearp.reg
@echo. >>routearp.reg
@echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>routearp.reg
@echo. >>routearp.reg
@echo "routearp"="c:\\windows\\route.bat" >>routearp.reg
regedit /s routearp.reg
del routearp.reg /q
@echo 
@echo .   --------网关arp静态绑定成功!!!--------    .
@echo .以后每次开机后都会由注册表自动绑定网关的静态arp .
@echo .   --------按任意键将退出本程序!!---------    .
@echo ..................................................
pause

程序代码摘要说明一下,以示是我自己写的,并且不是病毒:
第四行先删除电脑里旧Arp表,这样就是错误的arp绑定也会清空
第五行给gateway变量赋初值(你的网关不是192.168.0.1也没关系)
第六行开始只要你现在电脑是正常上网,会自动从电脑的网络配置信息里得到网关的信息,并取出它的mac地址进行绑定
从倒数第十六行开始,生成一个注册表文件,并运行,让电脑每次开机自动运行这个绑定操作
倒数第七行,删除这个临时生成的注册表文件
最后六行,提示信息并等待按任意键退出


这是批处理程序名称(只要后面的.bat不变,前面改成什么都没关系)

这是运行这个工具之前我的电脑里Arp表,可以看到只有一个动态的网关IP和mac条目。动态就是说随时有人喊是网关它就换掉

这是我的xp运行程序里的界面,已经绑定完成,等待按任意键退出窗口

这是绑定完成后我的电脑里的Arp表里的新条目,大家可以看到只有一条静态绑定条目了。也就是说,别人再怎么喊,它也不会变了。除非你再次运行这个工具程序重新绑定

由于论坛本版块不允许上传附件,所以我就把代码发地贴子里。要用的朋友直接复制这段代码,然后粘贴到记事本里,保存为“绑定网关.bat”文件名就行了(注意不能保存为Txt文本格式,要保存为bat批处理程序格式)。在需要绑定网关的电脑上双击运行一次就行。

注:这个小程序是几年前写的,在xp下用是没一点问题的,在win7下我没试过。用win7的朋友自己考虑是否冒险。

[ 本帖最后由 wubozh 于 2011-8-17 10:35 编辑 ]
本帖最近评分记录
  • 韋尐旭 金币 +25 高手,应该如此待遇..希望以后能活跃在电脑 ... 2011-8-17 12:05
  • 韋尐旭 原创 +1 高手,应该如此待遇..希望以后能活跃在电脑 ... 2011-8-17 12:05

点此感谢支持作者!本贴共获得感谢 X 9
TOP

我想请问一下,这个工具对于静态IP的局域网起到什么作用。

TOP

不管是动态IP,还是静态IP,电脑里对于网关的Arp绑定都是动态的。因为微软要考虑到换网关的情况(路由器坏了,或者笔记本电脑换到另一个内网去了)。而Arp协议是建立在相互“信任”的基础上,也就是说,你喊一嗓子说你是网关,大家都相信。这样就给Arp欺骗留下了漏洞。我这个小程序是强行绑定网关的IP,如果将来万一路由器坏了换了网关,再绑定一次就行了。这样就不怕Arp欺骗了。你喊你的,我不理你。
至于说内网是每台机器指定IP地址,还是DHCP动态获取IP地址,都一样存在这个问题,它们对网关都是动态的。这个工具一样用,一样起作用
本帖最近评分记录
  • 韋尐旭 金币 +3 欢淫讨论 2011-8-17 18:06

TOP

arp  -s  IP  MAC
全文最重要的一点!
呵呵,Arp欺骗类病毒和网管程序的工作原理解释得蛮有趣的,这个加分值啦!

TOP

批处理文件不是很好用,而且每次都需要开机执行

TOP

回复 5楼 的帖子

这个批处理程序其实就是一个安装程序,让系统每次开机自动绑定一下网关。最种程序的最大好处是不占用系统资源,运行完就完了。不象杀毒软件里带的Arp病毒防范功能,要始终开着,占用一定的系统资源和网络资源

TOP

Arp欺骗类病毒和网管程序的工作原理解释的很有意思啊

TOP

这个就是防止arp欺骗,可以装个arp防止篡改工具即可,或者手工指定一下

TOP

回复 8楼 的帖子

有些杀毒软件也带这个功能啊。不过这些软件都要消耗一定的系统资源。这个小工具安装后每次开机自动静态绑定一下就行了。手工指定也一样需要每次开机运行。因为Arp静态绑定,一旦关机或者重启就消失了

TOP

对付这类arp病毒,还是专业的arp防火墙靠谱一点

TOP



当前时区 GMT+8, 现在时间是 2025-6-22 16:28