IT网数据包协议及arp协议问题初探
2019-02-14张志钢
张志钢
(联通怀化市分公司,湖南怀化,418000)
1 协议
在概念上,协议似乎很复杂,实际上很容易理解,并且使用也很容易。只要你在键盘上轻轻地敲入一个网址并回车,如:http:www.10010.com,那么你已经成功地使用了一次协议,并达到了浏览网页的目的。这个过程好比生活中的问和答,其中的“http:”部分相当于问话人使用的语种,汉语还是维语等等;“www.10010.com”部分相当于被问者姓名,连起来就是你请你的电脑用一种对方电脑(服务器)“听”得懂的“语言”说:“嘿!伙计,把你网页的第一页内容递过来!”其实,这里的http就是一种协议—超文本传送协议。协议是不同机器间交流所使用的语言的集合。为什么要引入协议的概念呢?不同国家都有语言差异,何况机器之间?为了实现不同机器间的通信,人们必须制定计算机通信网络中两台计算机之间进行通信所必须共同遵守的规则即协议。
刚才讲的是接受新闻的实现即“问”。现在,让我们反过来再看看发布新闻是怎么通过协议实现的即“答”。设sohu网站发布新闻网页,其安装一台服务器并一种叫IIS的或其它软件时,给它命名为news.sohu.com,使这台原“听”不懂任何“语言”的服务器能听懂http“语言”,并随时等候客户端请求。而我用户电脑的windows默认是能喊出"http"话语的:"http://news.sohu.com".这好比生活中某人使用某种语言在给一个叫“news.sohu.com”的人写请求信,而对方刚好明白这语言,就会按来信要求,准确地把新闻网页传送给用户的电脑,并被用户电脑所“展示”。
注意一点:机器不同于人的是,听与说是分离的,即同一种“语言”,一台机器能“说”出去,自己没必要“听”得懂。例如用户的电脑虽然能发送http“语言”,但对收到的http请求却可以“充耳不闻”。所以,如果在sohu服务器地址栏输入“http://222.23.12.32(客户端的ip)”,并且客户端电脑没部署IIS类软件,则服务器什么也得不到,但并不影响客户端电脑浏览服务器的网页。又假如在news.sohu.com上没装ftp server类软件,则它就不能听懂ftp“语言”,因此你在电脑地址栏输入“ftp://news.sohu.com”时,得到的是“无法访问”。有没有办法访问呢?有,那就是等news.sohu.com上装“ftp server”类软件后,我们就可以得到机器(news.sohu.com)上的文件。ftp,Files Transform Protocol文件传送协议,顾名思义,就是专门传文件给你的协议。
协议除了帮助实现网页、文件的传播,网络中所有信息的传送,都是依赖于协议完成的。其实,日常中所说的协议总是指某一层的协议。准确地说,在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议。应用层是最高层,物理层是最低层。http属于应用层协议。那么最低层物理层的两个实体,例如一段网线两头的电路,他们之间的通信不需要什么协议了吧?不!同样需要。我们都知道,功能220V的剃须刀,插在宾馆110V的插座上,因为电压不同,可能无法正常使用剃须刀—电流的传送必须遵守电压的约定,而这种约定可以看做是最简单的协议。可见,物理层传送,要约定许多参数或者协议,才能通信。
2 IT网数据包协议分析
计算机通信网是由许多具有信息交换和处理能力的节点互连而成的。要使整个网络有条不紊地工作,就要求每个节点必须遵守一些事先约定好的有关数据格式及时序等的规则。这些为实现网络数据交换而建立的规则、约定或标准就称为网络协议。通信网中每个数据包,无一例外地遵守着某种协议的规定而传送,如TCP包,UDP包,ARP包。这此都是客观存在,虽然摸不着但是却有办法“看”到它们的存在,比如使用一些抓包工具,就可以“目睹”某一时段某网络上传送的所有协议包。下面给大家看下截图,如图1所示。
图1正常网络:显示了DCN局域网ARP协议正常时1分钟内所抓的包,其arp协议正确地解析了各IP的Mac地址,如:69.80.1的mac地址尾数分别为:39:1e:2b。如果Mac异常(即全部相同),则意味着网络工作异常。另外,利用抓包工具不仅可以帮助我们理解交换原理,还可以分析网络故障,快速定位故障点、排除障碍。如图2,通过arp包的分析,可以从几十台甚至上百台电脑的局域网中“揪”出可能被ARP病毒感染电脑,从而“拯救”整个DCN网的VLAN子网。
图1 正常情况下的网络
图2 揭开arp病毒的神秘面纱
故障现象:10.209.64.0/24网段中的几十台电脑同时断网、(任选某PC)用Ping命令Ping网关时显示为out,修复网卡后的几秒钟内通了几个数据包而马上又显示为out,则可基本判定遭受到ARP攻击。但要确定是哪台(还须考虑一台以上)故障,则可通过利用抓包工具来定位。
故障定位:在DCN网内中,用任一电脑网卡以“混杂”模式,抓包10分钟,分析结果,找到异常---如图1红圈所示。正常小红圈里每一行不必然相同。但现在每一行惊人地相同,在每7秒钟的时间里,IP尾数为94的这台电脑同时向局域网内的1-254台电脑发送arp广播,其目的是为了冒充网关,欺骗所在局域网的所有电脑,从而截获其它电脑的数据包。其它电脑就会误认为此94ip的电脑为网关,就将数据发到假网关94上,而不与实际网关通讯。表现为断网。
此时,如将故障电脑网卡右击一次修复,则能短时ping通网关。
为什么在受到ARP攻击时,修复网卡的瞬间能通几个包,是因为arp病毒第一次完成254个广播后再循环时需要7秒钟,所以DCN网络会在病毒再次发生作用前正常一瞬间,立即又陷入瘫痪。
图3 ping着网关演示修复网卡获“鱼的7秒记忆”
要将该局域网的ARP攻击问题彻底解决,只需拔掉IP尾号为94的这一台电脑的网线(此时其它所有电脑马上会恢复网络功能),隔离,进行arp病毒专杀。或者在pc上手工解析网关的MAC地址也能处理,如网关IP为:192.168.0.254,其网卡Mac地址为:00-11-22-aa-bbcc,则在命令提示符下使用命令:ARP -S 192.168.0.254 00-11-22-aa-bb-cc。使该pc知道网关的正确地址,也就能恢复和网关的通信了。
同时在网关设备上捆绑pc的ip与mac,语句格式为:arpa 192.168.0.1 0011.2233.xxxx(思科网关设备),其中192.168.0.1为pc1的ip地址,0011.2233.xxx为pc1的MAC地址,此为通常说的双向绑定。能彻底使arp攻击失效。但此为手工方式,当pc数量达到一定数量级时,其工作量之大是超常规的且网点换电脑会受到影响。
解决arp攻击的另一种方法是减小广播域。用可变长子网掩码(VLSM)技术精细化划分出多个子网(VLAN),对arp攻击有时能起到事半功倍的效果。VLSM特征就是网络中的不同部分(如不同的部门、不同的楼层等)出现了不同的子网掩码。即使arp爆发,也会被局限某一个部门(楼层)几台电脑,不会影响其他PC。如某地级内网IT承载网终端数950台,属34个子单位,则合适的VLAN划分数为68个。