可以修改密码。访问路由器,在其中设置IP地址和Mac地址绑定,这样ARP攻击就无效了
建议你还可以开启ARP防火墙
ARP防火墙,简单来说是局域网的防火墙,当你的电脑是属于局域网的电脑时,你用这个ARP防火墙时,可以防止他人用:“网络执法官、网络剪刀手、局域网终结者”之类的软件来攻击你,使你的电脑无法上网。
你可以试试腾讯电脑管家,免费专业安全软件,杀毒管理二合一,占内存小,杀毒好,防护好,无误报误杀。拥有云查杀引擎、反病毒引擎、金山云查杀引擎、AVIRA查杀引擎、小红伞和查杀修复引擎等世界一流杀毒软件内嵌杀毒引擎!保证安全。
打开电脑管家——首页——工具箱——ARP防火墙开启
arp是底层协议,用于局域网中将IP翻译成MAC,来进行内网数据的传输,arp攻击就是网络中有大量的虚假arp包,导致每台设备得到的信息都是假的,无法获得正确的信息,要想防止就是要保证发出的数据都是真实的,底层问题底层解决,对网卡进行驱动式的管理,读取网卡的信息,对包含的不是自己信息的数据进行拦截,这样发出去的数据都是自己真实的信息,别的电脑得到的也就是真实的,这种攻击也就防住了简单说 只要在你局域网的总路由器上绑定下面每台pc的mac 然后每台pc绑定路由的mac就 可以防御arp了详细说呢:自从2006年,所有局域网用户真可谓是谈“ARP”色变!网上流传的N种解决ARP欺骗的帖子更是多如牛毛,这篇帖子我就来和大家讨论一下传说中的“双绑”和ARP的相关知识。
一ARP协议概述:(本段内容来源与互联网)
P数据包常通过以太网发送。太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。
ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。目的地主机,或另一个代表该主机的系统,以一个含有IP和以太网地址对的数据包作为应答。发送者将这个地址对高速缓存起来,以节约不必要的ARP通信。
如果有一个不被信任的节点对本地网络具有写访问许可权,那么也会有某种风险。这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。ARP机制常常是自动起作用的。在特别安全的网络上, ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。
二ARP的工作原理:
太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Address Resolution Protocol,地址解析协议)。
讲到此处,我们可以在命令行窗口中,输入
arp –a
来看一下效果,类似于这样的条目
21011845100 00-0b-5f-e6-c5-d7 dynamic
就是我们电脑里存储的关于IP地址与MAC地址的对应关系,dynamic表示是临时存储在ARP缓存中的条目,过一段时间就会超时被删除(xp/2003系统是2分钟)。
这样一来,比如我们的电脑要和一台机器比如210118451通信的时候,它会首先去检查arp缓存,查找是否有对应的arp条目,如果没有,它就会给这个以太网络发ARP请求包广播询问210118451的对应MAC地址,当然,网络中每台电脑都会收到这个请求包,但是它们发现210118451并非自己,就不会做出相应,而210118451就会给我们的电脑回复一个ARP应答包,告诉我们它的MAC地址是xx-xx-xx-xx-xx-xx,于是我们电脑的ARP缓存就会相应刷新,多了这么一条:
210118451 xx-xx-xx-xx-xx-xx dynamic
为什么要有这么一个ARP缓存呢,试想一下如果没有缓存,我们每发一个IP包都要发个广播查询地址,岂不是又浪费带宽又浪费资源? 而且我们的网络设备是无法识别ARP包的真伪的,如果我们按照ARP的格式来发送数据包,只要信息有效计算机就会根据包中的内容做相应的反应。
三ARP攻击的原理
在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下所示。
主机 IP地址 MAC地址
A 192168161 aa-aa-aa-aa-aa-aa
B 192168162 bb-bb-bb-bb-bb-bb
C 192168163 cc-cc-cc-cc-cc-cc
D 192168164 dd-dd-dd-dd-dd-dd
我们以主机A(192168161)向主机B(192168162)发送数据为例。
当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FFFFFFFFFFFF”,这表示向同一网段内的所有主机发出这样的询问:“192168162的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192168162的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够接收到A发送的数据包了么,嗅探成功。
A对这个变化一点都没有意识到,但是接下来的事情就让A产生了怀疑。因为A和C连接不上了。D对接收到A发送给C的数据包可没有转交给C。
做“man in the middle”,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。不过,假如D发送ICMP重定向的话就中断了整个计划。
D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。现在D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌了。
中了ARP后的一些现象:
1:能PING通网内其它客户机,但PING不通路由,上不了网(连接到INTERNET)。
2:能PING通网内其它客户机,同样PING不通路由,但能上网(能连接到INTERNET)。
3:当中毒的机器向网关路由发出请求时,网关路由的ARP缓存还未到刷新时间,网关路由内的ARP缓存表中保存的是客户机还未中毒前的MAC地址。而这个MAC地址,与客户机当前请求的MAC(被病毒修改过)不一致,客户机的连接请求被网关拒绝。即发生与网关断流。
4:当中毒的源头机器向局域网发出假MAC广播时,网关路由也接收到了此消息,并将这些假MAC地址与其IP相对应,并建立新的ARP缓存。导致客户机与服务器断开连接。
四ARP解决思路
仔细阅读了我的那篇《局域网问题》的帖子的朋友,相信在做了屏蔽病毒网站,打系统补丁,装免疫软件之后,剩下来的就是“双绑”问题了。下面我们就详细谈谈 双绑。
要是哪位朋友使用的是华为等高端路由器并对该路由器 *** 作不熟悉的话,建议放弃进入路由双绑,华为路由器的纯命令行 *** 作是需要很强的专业知识的,我这里只谈一点利用批处理来绑定的简易 *** 作方法。
第一种批处理:
此批处理有缺陷,有时不能实现真正意义的双绑!
引用: @echo off
arp -d & arp -s 你的网关IP 你的网关MAC
::读取本机Mac地址
if exist ipconfigtxt del ipconfigtxt
ipconfig /all >ipconfigtxt
if exist phyaddrtxt del phyaddrtxt
find "Physical Address" ipconfigtxt >phyaddrtxt
for /f "skip=2 tokens=12" %%M in (phyaddrtxt) do set Mac=%%M
::读取本机ip地址
if exist IPAddrtxt del IPaddrtxt
find "IP Address" ipconfigtxt >IPAddrtxt
for /f "skip=2 tokens=15" %%I in (IPAddrtxt) do set IP=%%I
::绑定本机IP地址和MAC地址
arp -s %IP% %Mac%
::读取网关地址
if exist GateIPtxt del GateIPtxt
find "Default Gateway" ipconfigtxt >GateIPtxt
for /f "skip=2 tokens=13" %%G in (GateIPtxt) do set GateIP=%%G
::读取网关Mac地址
if exist GateMactxt del GateMactxt
arp -a %GateIP% >GateMactxt
for /f "skip=3 tokens=2" %%H in (GateMactxt) do set GateMac=%%H
::绑定网关Mac和IP
arp -s %GateIP% %GateMac%
exit
这个批处理要查询本机的ARP 缓存表,看里面是不是有网关的IP和MAC,有则能成功
绑定,但是没有的话就绑不定了!!!不过可以改进一下,达到双绑的目的,比如
加上arp -s 网关IP 网关MAC一行就可以了。。。
二、这个也不能实现真正意义的双绑,只能绑定本机IP和MAC
(多谢中国DOS联盟lxmxn提供)
引用: @echo off
arp -d & arp -s 你的网关IP 你的网关MAC
for /f "delims=: tokens=2" %%a in ('ipconfig /all^|find "Physical Address"') do set local_mac=%%a
for /f "delims=: tokens=2" %%a in ('ipconfig /all^|find "IP Address"') do set local_ip=%%a
for /f "delims=: tokens=2" %%a in ('ipconfig /all^|find "Default Gateway"') do set gate_ip=%%a
for /f %%a in ('getmac /nh /s %local_ip%') do set gate_mac=%%a
arp -s %local_ip% %local_mac%
arp -s %gate_ip% %gate_mac%
exit
经测试,此批处理不能绑定网关IP和MAC,只能绑定本机IP和MAC
三、这个经测试,能绑定本机IP和MAC
引用: @ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
arp -d & arp -s 你的网关IP 你的网关MAC
for /f "tokens=2 delims=[]=" %%i in ('nbtstat -a %COMPUTERNAME%') do call set local=!local!%%i
for /f "tokens=3" %%i in ('netstat -r^|find " 0000"') do set gm=%%i
for /f "tokens=1,2" %%i in ('arp -a %gm%^|find /i /v "inter"') do set gate=%%i %%j
arp -s %gate%
arp -s %local%
这个批处理可以绑定网关IP和MAC,但是还是有缺陷,要依赖于本机上存在的ARP缓存!
改进方法为在最后加一个arp -s 网关IP和MAC! 此P处理执行效率稍低一点不过够精简了
四、这个是一个兄弟的博客上找到的,原理和第一个一样,只是改进了一点点!
这个P通过ping网关三次得到了网关的MAC其实以上的批都可以通过这个来搞定网关的IP和MAC,
但是如果开机的时候正在发生ARP欺骗的话 这样你绑的IP和MAC就是错的,不能上网了。。
不过这种情况很少,发过来试一下先吧!
引用: @echo off
:::::::::::::清除所有的ARP缓存
arp -d
:::::::::::::读取本地连接配置
ipconfig /all>ipconfigtxt
:::::::::::::读取内网网关的IP
for /f "tokens=13" %%I in ('find "Default Gateway" ipconfigtxt') do set GatewayIP=%%I
:::::::::::::PING三次内网网关
ping %GatewayIP% -n 3
:::::::::::::读取与网关arp缓存
arp -a|find "%GatewayIP%">arptxt
:::::::::::::读取网关MAC并绑定
for /f "tokens=1,2" %%I in ('find "%GatewayIP%" arptxt') do if %%I==%GatewayIP% arp -s %%I %%J
:::::::::::::读取本机的 IP+MAC
for /f "tokens=15" %%i in ('find "IP Address" ipconfigtxt') do set ip=%%i
for /f "tokens=12" %%i in ('find "Physical Address" ipconfigtxt') do set mac=%%i
:::::::::::::绑定本机的 IP+MAC
arp -s %ip% %mac%
:::::::::::::删除所有的临时文件
del ipconfigtxt
del arptxt
exit
以上批处理可以配合路由上对客户机的IP和MAC进行绑定实现完全防ARP,只是单绑下面机和网关IP及MAC
没有多大用处,关于路由上面的,因为大家用的路由不一样,所以在这里不能全面的介绍《以亲身经历来谈谈局域网问题》这贴里介绍了应用比较广泛的ROS软路由和TP-LINK路由的脚本方法,华为,思科等高端路由器我就没办法做详细的介绍了。
好了,相信到此为止,大家对ARP,双绑等定义和方式有了一定的了解了,有什么写的不好的地方,请大家及时提出,有错误的地方,请一定要通知我,以便更正。
最后祝大家都能远离ARP的迫害!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)