UDP是什么?ARP攻击又是什么?
UDP
UDP(User Datagram Protocol) 用户数据报协议 (RFC 768)
用户数据报协议(UDP)是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 UDP 协议基本上是 IP 协议与上层协议的接口。 UDP 协议适用端口分别运行在同一台设备上的多个应用程序。
由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 UDP 的“端口号”完成的。例如,如果一个工作站希望在工作站 128.1.123.1 上使用域名服务系统,它就会给数据包一个目的地址 128.1.123.1 ,并在 UDP 头插入目标端口号 53 。源端口号标识了请求域名服务的本地机的应用程序,同时需要将所有由目的站生成的响应包都指定到源主机的这个端口上。 UDP 端口的详细介绍可以参照相关文章。
与 TCP 不同, UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。由于 UDP 比较简单, UDP 头包含很少的字节,比 TCP 负载消耗少。
UDP 适用于不需要 TCP 可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。 UDP 是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。
ARP攻击
ARP定义
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的底层协议,负责将某个IP地址解析成对应的MAC地址。
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。
ARP攻击原理
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
遭受ARP攻击后现象
ARP欺骗木马的中毒现象表现为:使用局域网时会突然掉线,过一段时间后又会恢复正常。比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。如果局域网中是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS窗口下运行命令arp -d后,又可恢复上网。
ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。如**QQ密码、**各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。
基于ARP协议的这一工作特性,黑客向对方计算机不断发送有欺诈性质的ARP数据包,数据包内包含有与当前设备重复的Mac地址,使对方在回应报文时,由于简单的地址重复错误而导致不能进行正常的网络通信。一般情况下,受到ARP攻击的计算机会出现两种现象:
1.不断弹出“本机的0-255段硬件地址与网络中的0-255段地址冲突”的对话框。
2.计算机不能正常上网,出现网络中断的症状。
因为这种攻击是利用ARP请求报文进行“欺骗”的,所以防火墙会误以为是正常的请求数据包,不予拦截。因此普通的防火墙很难抵挡这种攻击。
对ARP攻击的防护
防止ARP攻击是比较困难的,修改协议也是不大可能。但是有一些工作是可以提高本地网络的安全性。
首先,你要知道,如果一个错误的记录被插入ARP或者IP route表,可以用两种方式来删除。
a. 使用arp –d host_entry
b. 自动过期,由系统删除
这样,可以采用以下的一些方法:
1). 减少过期时间
#ndd –set /dev/arp arp_cleanup_interval 60000
#ndd -set /dev/ip ip_ire_flush_interval 60000
60000=60000毫秒 默认是300000
加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现ARP请求和回复,请不要在繁忙的网络上使用。
2). 建立静态ARP表
这是一种很有效的方法,而且对系统影响不大。缺点是破坏了动态ARP协议。可以建立如下的文件。
test.nsfocus.com 08:00:20:ba:a1:f2
user. nsfocus.com 08:00:20:ee:de:1f
使用arp –f filename加载进去,这样的ARP映射将不会过期和被新的ARP数据刷新,除非使用arp –d才能删除。但是一旦合法主机的网卡硬件地址改变,就必须手工刷新这个arp文件。这个方法,不适合于经常变动的网络环境。
3).禁止ARP
可以通过ipconfig interface –arp 完全禁止ARP,这样,网卡不会发送ARP和接受ARP包。但是使用前提是使用静态的ARP表,如果不在apr表中的计算机 ,将不能通信。这个方法不适用与大多数网络环境,因为这增加了网络管理的成本。但是对小规模的安全网络来说,还是有效可行的。
但目前的ARP病毒层出不穷,已经不能单纯的依靠传统的方法去防范,比如简单的绑定本机ARP表,我们还需要更深入的了解ARP攻击原理,才能够通过症状分析并解决ARP欺骗的问题,这里引用一篇关于分析最新ARP病毒:黑金的文章.通过文章,大家可以更好的了解先进ARP欺骗的发展趋势:http://www.allhack.cn/viewthread.php?tid=72&extra=page%3D1
什么是ARP攻击?什么是MAC?什么是端口?
引起问题的原因一般是由传奇外挂携带的ARP木马攻击。当在局域网内使用上述外挂时,外挂携带的病毒会将该机器的MAC地址映射到网关的IP地址上,向局域网内大量发送ARP包,从而致使同一网段地址内的其它机器误将其作为网关,这就是为什么掉线时内网是互通的,计算机却不能上网的原因。
临时处理对策:
步骤一. 在能上网时,进入MS-DOS窗口,输入命令:arp –a 查看网关IP对应的正确MAC地址,将其记录下来。 注:如果已经不能上网,则先运行一次命令arp –d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话),一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp –a。
步骤二. 如果已经有网关的正确MAC地址,在不能上网时,手工将网关IP和正确MAC绑定,可确保计算机不再被攻击影响。手工绑定可在MS-DOS窗口下运行以下命令: arp –s 网关IP 网关MAC
例如:假设计算机所处网段的网关为218.197.192.254,本机地址为218.197.192.1在计算机上运行arp –a后输出如下:
C:\Documents and Settings>arp -a Interface: 218.197.192.1
--- 0x2 Internet Address Physical Address Type 218.197.192.254 00-01-02-03-04-05 dynamic
其中00-01-02-03-04-05就是网关218.197.192.254对应的MAC地址,类型是动态(dynamic)的,因此是可被改变。被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC,如果大家希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找做准备。
手工绑定的命令为: arp –s 218.197.192.254 00-01-02-03-04-05 绑定完,可再用arp –a查看arp缓存, C:\Documents and Settings>arp -a Interface: 218.197.192.1 --- 0x2 Internet Address Physical Address Type 218.197.192.254 00-01-02-03-04-05 static 这时,类型变为静态(static),就不会再受攻击影响了。但是,需要说明的是,手工绑定在计算机关机重开机后就会失效,需要再绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,令其杀毒,方可解决。找出病毒计算机的方法: 如果已有病毒计算机的MAC地址,可使用NBTSCAN软件找出网段内与该MAC地址对应的IP,即病毒计算机的IP地址,然后可报告校网络中心对其进行查封。 NBTSCAN的使用方法:下载nbtscan.rar到硬盘后解压,然后将cygwin1.dll和nbtscan.exe两文件拷贝到c:\windows\system32(或system)下,进入MSDOS窗口就可以输入命令: nbtscan -r 218.197.192.0/24 (假设本机所处的网段是218.197.192,掩码是255.255.255.0;实际使用该命令时,应将斜体字部分改为正确的网段) 。
注:使用nbtscan时,有时因为有些计算机安装防火墙软件,nbtscan的输出不全,但在计算机的arp缓存中却能有所反应,所以使用nbtscan时,还可同时查看arp缓存,就能得到比较完全的网段内计算机IP与MAC的对应关系。
补充一下: Anti ARP Sniffer 使用说明
一、功能说明: 使用Anti ARP Sniffer可以防止利用ARP技术进行数据包截取以及防止利用ARP技术发送地址冲突数据包。
二、使用说明:
1、ARP欺骗: 填入网关IP地址,点击〔获取网关mac地址〕将会显示出网关的MAC地址。点击[自动防护]即可保护当前网卡与该网关的通信不会被第三方监听。 注意:如出现ARP欺骗提示,这说明攻击者发送了ARP欺骗数据包来获取网卡的数据包,如果您想追踪攻击来源请记住攻击者的MAC地址,利用MAC地址扫描器可以找出IP 对应的MAC地址。
2、IP地址冲突 首先点击“恢复默认”然后点击“防护地址冲突”。 如频繁的出现IP地址冲突,这说明攻击者频繁发送ARP欺骗数据包,才会出现IP冲突的警告,利用Anti ARP Sniffer可以防止此类攻击。
首先您需要知道冲突的MAC地址,Windows会记录这些错误。查看具体方法如下: 右击[我的电脑]-->[管理]-->点击[事件查看器]-->点击[系统]-->查看来源为[TcpIP]--->双击事件可以看到显示地址发生冲突,并记录了该MAC地址,请复制该MAC地址并填入Anti ARP Sniffer的本地MAC地址输入框中(请注意将:转换为-),输入完成之后点击[防护地址冲突],为了使MAC地址生效请禁用本地网卡然后再启用网卡,在CMD命令行中输入Ipconfig /all,查看当前MAC地址是否与本地MAC地址输入框中的MAC地址相符。如果成功将不再会显示地址冲突。 注意:如果您想恢复默认MAC地址,请点击[恢复默认],为了使MAC地址生效请禁用本地网卡然后再启用网卡
目前知道的带有ARP欺骗功能的软件有“QQ第六感”、“网络执法官”、“P2P终结者”、“网吧传奇杀手”等,这些软件中,有些是人为手工操作来破坏网络的,有些是做为病毒或者木马出现,使用者可能根本不知道它的存在,所以更加扩大了ARP攻击的杀伤力
在局域网中,通信前必须通过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功能关闭:打开路由器管理界面,“DHCP服务器”->“DHCP服务”,把状态由默认的“启用”更改为“不启用”,保存并重启路由器。
2.给电脑手工指定IP地址、网关、DNS服务器地址,如果您不是很清楚当地的DNS地址,可以咨询您的网络服务商。
二、设置路由器防止ARP欺骗
目前这一功能只有在R480T的最新Beta版升级程序中有,公测正常后会在所有企业级路由器上增加这一功能。打开路由器的管理界面可以看到如下的左侧窗口:
可以看到比之前的版本多出了“IP与MAC绑定”的功能,这个功能除了可以实现IP和MAC绑定外,还可以实现防止ARP欺骗功能。
打开“静态ARP绑定设置”窗口如下:
注意,默认情况下ARP绑定功能是关闭,请选中启用后,点击保存来启用。
打开“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复制到里面去:
好了,以后电脑每次启动时就会自己执行arp –s命令了,网吧网管和老板终于可以好好休息一下,不再受到ARP攻击的干扰。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!