《网络协议书分析》实验指导书_第1页
《网络协议书分析》实验指导书_第2页
《网络协议书分析》实验指导书_第3页
《网络协议书分析》实验指导书_第4页
《网络协议书分析》实验指导书_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

./网络协议分析课题名称:网络协议分析指导教师:赵红敏专业班级:2014级计算机科学与技术2班学号:20144591姓名:孙晓阳评语:成绩:目录实验一点到点协议PPP4实验目的4实验环境4实验步骤4实验二地址转换协议ARP10实验目的10实验环境10实验步骤10实验三Internet控制报文协议ICMP16实验目的16实验环境16实验步骤16实验四实现"洞"的算法20实验目的20实验环境20实验要求20实验一点到点协议PPP实验目的理解PPP协议的工作原理及作用。练习PPP,CHAP的配置。验证PPP,CHAP的工作原理。实验环境安装windows操作系统的PC计算机。BosonNetSim模拟仿真软件。实验步骤绘制实验拓扑图利用BosonNetworkDesigner绘制实验网络拓扑图如图1-1。本实验选择两台4500型号的路由器。同时,采用Serial串行方式连接两台路由器,并选择点到点类型。其中DCE端可以任意选择,对于DCE端路由器的接口<Serial0/0>需要配置时钟信号〔这里用R1的Serial0/0作为DCE端。配置路由器基本参数绘制完实验拓扑图后,可将其保存并装入BosonNetSim中开始试验配置。配置时点击BosonNetSim程序工具栏按钮eRouters,选择R1并按下面的过程进行路由器1的基本参数配置:Router>enableRouter#conftRouter<config>#hostR1R1<config>#enablesecretc1R1<config>#linevty04R1<config-line>#passwordc2R1<config-line>#interfaceserial0/0R1<config-if>#clockrate64000R1<config-if>#noshutdownR1<config-if>#endR1#copyrunning-configstartup-config点击工具栏按钮eRouters,选择R2并按下面过程进行路由器的基本参数配置:Router>enableRouter#conftRouter<config>#hostR2R2<config>#enablesecretc1R2<config>#linevty04R2<config-line>#passwordc2R2<config-line>#interfaceserial0/0R2<config-if>#noshutdownR2<config-if>#endR2#copyrunning-configstartup-config配置、测试PPP选择路由器R1并配置PPP,如下所示:R1#conftR1<config>#interfaceserial0/0R1<config-if>#encapsulationpppR1<config-if>#endR1#copyrunning-configstartup-config选择路由器R2并配置PPP,如下所示:R2#conftR2<config>#interfaceserial0/0R2<config-if>#encapsulationpppR2<config-if>#endR2#copyrunning-configstartup-config选择路由器R1,按照下面的步骤测试并观察PPP诊断输出:R1#debugpppnegotiationR1#conftR1<config>#interfaceserial0/0R1<config-if>#shutdownR1<config-if>#noshutdownR1<config-if>#endR1#undebugall配置、测试CHAP选择路由器R1并配置CHAP,如下所示:R1#conftR1<config>#usernameR2passwordsamepwdR1<config>#interfaceserial0/0R1<config-if>#pppauthenticationchapR1<config-if>#endR1#copyrunning-configstartup-config选择路由器R2并配置CHAP,如下所示:R2#conftR2<config>#usernameR1passwordsamepwdR2<config>#interfaceserial0/0R2<config-if>#pppauthenticationchapR2<config-if>#endR2#copyrunning-configstartup-config选择路由器R1,按照下面步骤测试并观察CHAP配置:R1#showipinterfacebrief思考题两台路由器上所使用的串行口分别是什么?Serial0/0两台路由器的IP地址及子网掩码分别是多少?R2:那台路由器上的串行接口为DCE端?使用R1#showcontR1本串行链路所使用的时钟频率是多少?64000在CHAP验证中,对所设置的用户名和密码是否存在什么特殊要求?如果没有配置默认的CHAP密码,则被验证方根据主演正方的用户名在本端的用户表中查找该用户对应密码,并选用找到的密码。密码必须相同,用户名是对方的实验二地址转换协议ARP实验目的能够使用ARP命令对ARP选路表进行简单操作。学会使用Ethereal捕获ARP数据包并分析其格式。深入理解ARP工作原理和重要作用。实验环境安装windows操作系统的PC计算机一台。每台PC具有一块网卡,通过双绞线与局域网相连。每台PC运行网络协议分析软件Ethereal。实验步骤使用ARP命令打开"命令提示符界面",键入"arp-a"查看本机ARP表的内容。如图:Type栏下dynamic字段表明该表项处于动态更新中。如果20分钟内没有其他访问网络的操作,ARP表会自动清空。如果不想等待20分钟,可使用"arp-d"命令主动清空ARP表的内容。此时再执行"arp-a"命令,会发现ARP表已经清空。还可使用"arp-s"命令手工设置ARP表项。如:Arp–s192.168.12.25300-cd-0d-33-00-34分析ARP协议工作过程具体操作步骤:相邻两名同学为一组,清除ARP表中的所有项。运行Ethereal程序,执行分组捕获操作。向另一台机器发送ping包,稍后停止发ping包。查看Ethereal捕获到的ARP包,分析ARP协议执行的全过程。用ARP命令查找IP地址冲突主机原理:主机A在连接网络或者更改IP地址的时候,就会向网络发送ARP来广播自己的IP地址。如果网络中存在相同IP地址的主机B,那么B就会通过ARP来reply该地址,当A接收到这个reply后,A就会跳出IP地址冲突的警告,B也会有警告。如果能同时观察到这些主机,那么通过修改其中一台主机的IP地址即可。如果仅能观察到其中一台PC提示"IP地址与网络上其他地址冲突",那么应如何确定是哪两台主机设置了相同的IP地址呢?将该报警主机的IP地址修改为一个未用的地址。如:192.16在该机命令提示符界面接入"".执行"arp-a"命令。思考题结合实验画出地址解析的流程图。根据ARP协议工作机制考虑是否存在地址欺骗的安全隐患?并找出可能的解决途径。<1>存在地址欺骗的安全隐患,因为在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机〔包括网关都有一个ARP缓存表。查;阅资料可知:在正常情况下,这个缓存表能够有效的保证数据传输的一对一性,也就是说主机A与主机C之间的通讯只通过网关1和网关2,像主机B之类的是无法截获A与C之间的通讯信息的。但是在ARP缓存表的实现机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就导致主机B截取主机A与主机C之间的数据通信成为可能。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。所以在网络中,有人发送一个自己伪造的ARP应答,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!举一个例子加以说明,假设一个网络环境中,网内有三台主机,分别为主机A、B、C。主机详细信息如下描述:MAC:AA-AA-AA-AA-AA-AAMAC:BB-BB-BB-BB-BB-BBMAC:CC-CC-CC-CC-CC-CC正常情况下A和C之间进行通讯,但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3〔C的IP地址,MAC地址是BB-BB-BB-BB-BB-BB〔C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存〔A被欺骗了,这时B就伪装成C了。同时,B同样向C发送一个ARP应答,应答包中发送方IP地址四192.168.10.1〔A的IP地址,MAC地址是BB-BB-BB-BB-BB-BB〔A的MAC地址本来应该是AA-AA-AA-AA-AA-AA,当C收到B伪造的ARP应答,也会更新本地ARP缓存〔C也被欺骗了,这时B就伪装成了A。这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B。主机B完全可以知道他们之间说的什么。这就是典型的ARP欺骗过程。ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,"网络掉线了"。<2>查阅资料可知目前有下面几种方法来控制ARP欺骗:①

主机静态绑定网关MAC:使用ARP命令静态绑定网关MAC;

网关使用IP+MAC绑定模式:交换机启用静态ARP绑定功能,将用户的IP与MAC进行静态绑定,防止ARP欺骗发生;③

使用ARP服务器:在局域网内架设ARP服务器,替代主机应答ARP包;④

使用防ARP攻击的软件。因为ARP欺骗利用的是ARP协议本身的缺陷,所以到目前为止,还没有一个十分有效的方法去控制这种攻击。以下是我们根据资料自己总结出的一些解决ARP欺骗的方案。方案A:IP-MAC绑定通过双向IP-MAC绑定可以抵御ARP欺骗,解决由于ARP欺骗造成的网络掉线、IP冲突等问题,保证网络畅通。1、客户机绑定网关IP-MAC2、利用APC的软件分发功能给客户机分发IP-MAC绑定程序3、网关绑定客户机IP-MAC:使用支持IP/MAC绑定的网关设备,在网关设备中设置客户机的静态IP-MAC列表。注:方案A可以抵御ARP欺骗,保证网络正常运行,但不能定位及清除ARP攻击源。方案B:利用ARP命令及nbtscan定位ARP攻击源1、确定ARP攻击源MAC地址2、定位ARP攻击源计算机3、对ARP攻击源计算机进行全面杀毒。方案C:利用AntiArpSniffer实时防护并检测ARP攻击源1、运行AntiArpSniffer3.6,输入网关IP及MAC地址,点击自动保护。AntiArpSniffer可以监控本机的ARP缓存,自动清除伪造的ARP条目;监控网内的ARP欺骗数据包,显示ARP攻击源的MAC地址及IP地址。2、在只能检测到ARP攻击源的MAC地址,而检测不到其IP地址时,可以利用AntiArpSniffer3.6附带的MAC扫描工具MacScan.exe,查找ARP攻击源MAC地址对应的IP地址,根据IP地址定位攻击源计算机。3、对ARP攻击源计算机进行全面杀毒。实验三Internet控制报文协议ICMP实验目的掌握使用Ethereal工具对ICMP协议进行抓包分析的方法。理解不同类型ICMP报文的具体意义。通过实验,进一步了解ICMP协议。实验环境安装windows操作系统的PC计算机一台。每台PC具有一块网卡,通过双绞线与局域网相连。每台PC运行网络协议分析软件Ethereal。实验步骤ping程序使用的ICMP信息包启动Ethereal协议分析工具,选择"Capture"→"start",开始数据包的抓取,接下来点击"开始"菜单,在运行中输入"cmd",进入操作系统命令行模式,在该模式下输入"ping–nIP地址",如图。Ping结束后,停止Ethereal抓包程序,并在Ethereal中的Filter域中键入关键字"ICMP",点击"Apply"按钮,将非ICMP过滤掉。查看数据包内容窗口中的"ICMP",可以看到该ICMP数据包的协议类型和代码,从而可以判断是一个ICMP什么数据包。分析查看这些ICMP数据包,回答以下问题:本机的IP地址是多少?目标主机的IP地址是多少?本机:1为什么ICMP协议数据包没有源端口和目的端口号?ICMP是网络层协议,端口号是应用层协议,所以ICMP没有端口号。查看本机发送的每个request包,回答这些包的类型号和代码是多少?这些数据包中其他字段有哪些?checksum、sequence、identifier字段分别占多少字节?Type:8、8、8、8,code:0、0、0、0,checksum:16字节,sequence:16字节,identifier:16字节。查看回复的reply数据包,它们的类型号和代码是多少?这些包中还有哪些字段?checksum、sequence、identifier字段分别占多少字节?Type:0、0、0、0,code:0、0、0、0,checksum:16字节,sequence:16字节,identifier:16字节。traceroute程序使用的ICMP信息包启动Ethereal协议分析工具,选择"Capture"→"start",开始数据包的抓取,接下来点击"开始"菜单,在运行中输入"cmd",进入操作系统命令行模式,在该模式下输入"",如图。Tracert命令结束后,停止Ethereal抓包程序,并在Ethereal中的Filter域中键入关键字"ICMP",点击"Apply"按钮,将非ICMP过滤掉。分析查看这些ICMP数据包,回答以下问题:本机的IP地址是多少?目标主机的IP地址是多少?本机:1,目标主机。查看echo数据包,与ping所使用的ICMP包比较一下,看有什么区别?Data类型echo为64字节,ICMP为16字节。查看本error〔Time-to-liveExceeded数据包,这些包比echo数据包多了哪些字段?这些字段的内容是什么?多了IP和ICMP,内容与ICMP包的相同字段一样。查看最后3个error数据包,这些包与其他error包有什么不同?ICMP字段的ICMP中的checksum与sequence数值依次递减。思考题ICMP用途是什么?ICMP是"InternetControlMessageProtocol"〔Internet控制消息协议的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。为什么要限制由实效的ICMP差错报文再产生一个ICMP报文?限制失效报文为了减少网络流量,再产生一个报文一般是报告错误状态,网络管理一般要得到这个参数。Ping程序和Tracert程序分别使用什么样的ICMP类型数据包?ping主要是用来查看到目的地址的时延和丢包情况,tracert是用来查看所经过的每一跳路由,可以具体判断时延变大或者丢包的点。实验四实现"洞"的算法实验目的理解"洞"的算法。理解重组分片的具体意义。通过实验,进一步了解IP协议。实验环境安装windows操作系统的PC计算机一台。安装任一面向对象的语言,例如:vc++,java实验要求利用任一所学语言实现洞的算法.实验代码#include<stdio.h>#defineDATA_LENGTH500#include<pcap.h>voidPacket_Analyser<u_char*user,conststructpcap_pkthdr*header,constu_char*pkt_data>;typedefstructip_address{ u_charbyte1; u_charbyte2; u_charbyte3; u_charbyte4;}ip_address;typedefstructip_header{ u_charver_ihl; u_chartos; u_shorttotallen; u_shortidentification; u_shortflags_fo; u_charttl; u_charproto; u_shortcrc;/ ip_addresssaddr; ip_addressdaddr; u_intop_pad;}ip_header;staticintCOUNT=1;ip_header*Pheader_Cache=<ip_header*>malloc<sizeof<ip_header>*COUNT>;voidmain<>{ pcap_if_t*alldevs; pcap_if_t*d; pcap_t*adhandle; intindex; inti=0; charerrbuf[PCAP_ERRBUF_SIZE]; if<pcap_findalldevs_ex<PCAP_SRC_IF_STRING,NULL,&alldevs,errbuf>==-1> { fprintf<stderr,"Errorinpcap_findalldevs_ex:%s\n",errbuf>; exit<1>; } for<d=alldevs;d!=NULL;d=d->next> { printf<"%d:\n%s",i++,d->name>; if<d->description> printf<"%s\n",d->description>; else printf<"NoDescriptionavailable">; } if<i==0> { printf<"\nNointerfacesfound!MakesureWinpCapisinstalled.\n">; return; }printf<"\n\nIfYouWantChooseaDeviceToCaptureTheDataPleaseInputTheNumberBeforeTheDevice\n">; scanf<"%d",&index>;if<index>i||index<0> { printf<"YouChoosedAnErrorNum">; exit<1>; } for<d=alldevs,i=0;i<index;d=d->next,i++>; printf<"YouChoosedTheDeviceIt'sNameIs:%s",d->name>;if<<adhandle=pcap_open<d->name,65536,PCAP_OPENFLAG_PROMISCUOUS,1000,NULL,errbuf>>==NULL> {fprintf<stderr,"\nUnabletoOpentheadapter.%sisNotsupportbyWinPcap\n",d->name>; pcap_freealldevs<alldevs>; return; } printf<"\nlistingon%s...\n",d->description>; //开始抓获数据包 pcap_loop<adhandle,0,Packet_Analyser,NULL>; pcap_freealldevs<alldevs>;}voidPacket_Analyser<u_char*user,conststructpcap_pkthdr*header,constu_char*pkt_data>{ ip_header*pheader=<ip_header*><pkt_data+14>; ntohs<pheader->flags_fo>; if<pheader->proto!=1> { return; } for<inti=0;i<COUNT;i++> { ntohs<<Pheader_Cache+i>->flags_fo>; } //重组IP数据包 if<<int>header->len<1500> { intFlag=0; for<inti=0;i<COUNT;i++> { if<pheader->identification==<Pheader_Cache+i>->identification> { Flag=1; } }if<Flag> {printf<"以下分片属于同一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论