wireshark抓包实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本科实验报告实验名称:利用EtherPeek工具进行的网络抓包实验学员:学号:专业:所属学院:国防科学技术大学训练部制【实验名称】利用Wireshark工具进行的抓包实验【实验目的】通过Wireshark软件捕获并观察ARP协议、ICMP协议、FTP协议、HTTP协议以及TCP协议的工作原理,包括协议序列和报文内容【实验内容】实验环境描述:网络环境:因特网操作系统:Windows7软件:Wiresharkv1.12.4实验步骤:1.Ping命令(ARP,ICMP分析)2.在实验主机使用FTP应用(FTP分析)3.在实验主机使用web应用(HTTP分析)【实验过程】1.ping命令(ICMP、ARP分析)实验主机的IP地址为:192.168.0.189实验主机的MAC地址为:9c:4e:36:cf:db:e4在实验主机的命令框内输入命令:ping121.14.1.189Wireshark抓获的数据包如下:观察可得,抓获的报文里协议类型有ICMP与ARP。(前12条是输入ping命令后抓取的)(1)ICMP分析:首先明确一下ICMP的相关知识:ICMP是(InternetControlMessageProtocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。各种ICMP报文的前32bits都是三个长度固定的字段:type类型字段(8位)、code代码字段(8位)、checksum校验和字段(16位)8bits类型和8bits代码字段:一起决定了ICMP报文的类型。常见的有:类型0、代码0:回应应答。类型3、代码0:网络不可达类型3、代码1:主机不可达类型5、代码1:为主机重定向数据包类型8、代码0:回应类型11、代码0:传输中超出TTL(常说的超时)16bits校验和字段:包括数据在内的整个ICMP数据包的校验和,其计算方法和IP头部校验和的计算方法是一样的。类型代码类型描述0响应应答(ECHO-REPLY)3不可到达4源抑制5重定向8响应请求(ECHO-REQUEST)11超时12参数失灵13时间戳请求14时间戳应答17地址掩码请求18地址掩码应答30路由跟踪1.响应请求我们日常使用最多的ping,就是响应请求(Type=8)和应答(Type=0),一台主机向一个节点发送一个Type=8的ICMP报文,如果途中没有异常(例如被路由器丢弃、目标不回应ICMP或传输失败),则目标返回Type=0的ICMP报文,说明这台主机存在,更详细的tracert通过计算ICMP报文通过的节点来确定主机与目标之间的网络距离。2.目标不可到达、源抑制和超时报文这三种报文的格式是一样的,目标不可到达报文(Type=3)在路由器或主机不能传递数据报时使用,例如我们要连接对方一个不存在的系统端口(端口号小于1024)时,将返回Type=3、Code=3的ICMP报文,它要告诉我们:“嘿,别连接了,我不在家的!”,常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)等。源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率。最后,无连接方式网络的问题就是数据报会丢失,或者长时间在网络游荡而找不到目标,或者拥塞导致主机在规定时间内无法重组数据报分段,这时就要触发ICMP超时报文的产生。超时报文的代码域有两种取值:Code=0表示传输超时,Code=1表示重组分段超时。报文分析:(1)PING响应请求报文选取第3条报文分析:Wireshark获取的报文:从报文格式中可以看出ICMP协议是TCP/IP协议族的一个子协议。IP报文格式:IP报文版本号是IPV4,首部长度:20bytes,数据包总长度:60,标示符:0x0db0,标志:0x00,比特偏移:0,寿命:64,上层协议:ICMP,首部校验和:0x30e1,并且是正确的。源IP地址:192.168.0.189目的IP地址:121.14.1.189ICMP报文格式:类型:8(回显请求)代码/编码:0校验和:0x4d3c(正确的校验和)标示符(大端顺序):1(0x0100);标示符(小端顺序):256(0x0100);序列号(大端顺序):31(0x001f)序列号(小端顺序):7936(0x1f00)报文统计和报文具体内容可以用wireshark对应。发现标示符LE与BE都指向二进制报文内容的0x0001,后来在网上搜索是大小端问题,window系统与Linux系统发出的ping报文(主要指ping应用字段而非包含IP头的ping包)的字节顺序不一样(windows为LE:little-endianbyteorder,Linux为BE:big-endian)。可以看出报文其实就是一些比特流,网络协议就是解释它的东西。其ICMPType为8,与知识背景相符,是请求报文。与预想的一样,packet的源地址为实验主机地址,目的地址为Ping命令中的参数地址。(2)PING响应应答报文选取第4条报文分析:其ICMPType为0。由上两图可以看出分别经历了四次响应请求和响应应答,数据长度为32bytes,符合ping命令行为。过滤出icmp的报文,我们取黑色底色校验错误的包,Type=3、Code=3,可以看出是一个端口不可达的报文。(2)ARP分析:取第1、第2条报文进行分析。报文格式分析:1)ARP请求报文从截图中可以看出硬件类型(hardwaretype)是以太网。协议类型(protocoltype)为IP(0x0800),表示使用ARP的协议类型为IPV4。硬件地址长度(hardwaresize)为6。协议地址长度(protocolsize)为4,操作类型(opcode)为1,表示报文类型为ARP请求。发送方硬件地址(senderMACaddress)为9c:4e:36:cf:db:e4,定义了发送方的硬件地址。发送方协议地址(senderIPaddress)为192.168.0.189,定义发送方的协议地址。目的硬件地址(targetMACaddress)为00:00:00:00:00:00,表示是广播地址。目的协议地址(targetIPaddress)为192.168.0.1,定义目的设备的协议地址。从图中还可以看出本主机在链路层发送了一个目的MAC地址为ff:ff:ff:ff:ff:ff的广播帧,这与我们所学的ARP协议的工作原理是相符的。2)ARP应答报文硬件类型为以太网。协议类型为IP(0x0800)。硬件地址长度为6,协议地址长度为4,操作类型为2,表示为ARP应答报文。发送方硬件地址为74:27:ea:6d:cf:01,发送方IP地址为192.168.0.1。目的硬件地址为9c:4e:36:cf:db:e4,目的协议地址为192.168.0.189。工作过程分析:ARP请求报文中在发送方硬件地址字段填上本机的物理地址9c:4e:36:cf:db:e4,在发送方IP地址字段填入本机的协议地址192.168.0.189,在目的协议地址字段填入准备解析的目的主机IP地址192.168.0.1,以广播方式在以太网上发送。在ARP应答报文中,目的主机将收到的ARP请求报文中的发送方硬件地址和IP地址放入目的硬件地址和目的协议地址,在发送方硬件地址和发送方协议地址中分别填入自己的硬件地址74:27:ea:6d:cf:01和协议地址192.168.0.1,在以太网上单播发送。2.在实验主机使用FTP应用(FTP分析)使用flashFXP连接ftp服务器137.189.4.14截获的报文列表如下:过滤到ftp报文(1)TCP三次握手建立连接a、TCP背景知识TCP报文段首部(20个字节)源端口和目标端口:各占2个字节,16比特的端标语加上32比特的IP地址,共同构成相当于传输层办事接见点的地址,即“插口”;这些端口可用来将若干高层和谈向下复用;序号字段和确认序号字段:序号:占4个字节,是本报文段所发送的数据项目组第一个字节的序号。在TCP传送的数据流中,每一个字节都有一个序号。例如,一报文段的序号为300,而起数据供100字节,则下一个报文段的序号就是400;确认序号:占4字节,是期望收到对方下次发送的数据的第一个字节的序号,也就是期望收到的下一个报文段的首部中的序号;因为序号字段有32比特长,可以对4GB的数据进行编号,如许就可包管当序号反复应用时,旧序号的数据早已在收集中消散了;数据偏移字段数据偏移:占4比特,默示数据开端的处所离TCP报文段的肇端处有多远。这实际上就是TCP报文段首部的长度。因为首部长度不固定,是以数据偏移字段是须要的。保存字段:6比特,供往后应用,今朝置为0。6个比特的把握字段紧急比特URGent:当URG=1时,注解此报文应尽快传送,而不要按本来的列队次序来传送。与“紧急指针”字段共同应用,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号,使接管方可以知道紧急数据共有多长;确认比特ACK:只有当ACK=1时,确认序号字段才有意义;急迫比特PSH:当PSH=1时,注解恳求远地TCP将本报文段立即传送给其应用层,而不要比及全部缓存都填满了之后再向上交付。复位比特ReSeT:当RST=1时,注解呈现严重错误,必须开释连接,然后再重建传输连接。复位比特还用来拒绝一个不法的报文段或拒绝打开一个连接;同步比特SYN:在建树连接时应用,当SYN=1而ACK=0时,注解这是一个连接恳求报文段。对方若赞成建树连接,在发还的报文段中使SYN=1和ACK=1。是以,SYN=1默示这是一个连接恳求或毗邻接管报文,而ACK的值用来区分是哪一种报文;终止比特FINal:用来开释一个连接,当FIN=1时,注解欲发送的字节串已经发完,并请求开释传输连接;窗口字段16位窗口大小(windowsize):是TCP流量控制的一个手段。这里说的窗口,指的是接收通告窗口(ReceiverWindow,RWND)。它告诉对方本端的TCP接收缓冲区还能容纳多少字节的数据,这样对方就可以控制发送数据的速度。16位校验和(TCPchecksum):由发送端填充,接收端对TCP报文段执行CRC算法以检验TCP报文段在传输过程中是否损坏。注意,这个校验不仅包括TCP头部,也包括数据部分。这也是TCP可靠传输的一个重要保障。16位紧急指针(urgentpointer):是一个正的偏移量。它和序号字段的值相加表示最后一个紧急数据的下一字节的序号。因此,确切地说,这个字段是紧急指针相对当前序号的偏移,不妨称之为紧急偏移。TCP的紧急指针是发送端向接收端发送紧急数据的方法。我们将在后面讨论TCP紧急数据。选项字段容许每台主机设定可以或许接管的最大TCP载荷才能(缺省536字节)。b、结合报文进行具体分析三次握手报文如下:第10条第11条第12条观察可得,三次握手过程中,前两次SYN位为1,最后一次SYN位为0,而ACK位为0,至此TCP连接建立完成。(2)FTP协议分析第13条如上图所示,FTP的控制TCP连接运行在服务器的端口21,客户端(源实验主机)的端口64955上,同时利用TCP进行可靠传输。3.在实验主机使用web应用(HTTP分析)在主机上打开IE浏览器,输入链接并获取一个网页。(1)HTTP请求报文第9条由上图可得,该报文是实验主机向IP地址为180.97.33.107的网页服务器发出的HTTP请求。HTTP协议是运行在TCP协议之上的,端口号为周知端口号80,主机上的源端口号任意,为50135.此TCP报文的SequenceNumber为186.(2)HTTP回复报文第11条这是目的主机给实验源主机发的HTTP回复报文,此时Sequ

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功