SNIFFER网络数据包分析_第1页
SNIFFER网络数据包分析_第2页
SNIFFER网络数据包分析_第3页
SNIFFER网络数据包分析_第4页
SNIFFER网络数据包分析_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

SNIFFER网络数据包分析实验班级:学号:姓名:指导教师:日期:一、 实验目的通过使用SnifferPro软件捕获网络流量,分析数据报结构,来验证我们在计算机网络基础课堂中所学习的知识,使学生能够更加清楚地掌握网络分层的思想,从感性认识飞跃到理性认识。再通过捕获各个具体协议的通信数据包,一步一步具体分析其实现步骤,更加具体地掌握协议的实现过程。二、 实验主要仪器设备和材料一台联网计算机和SnifferProv4.7.530软件。三、 实验内容和要求本次实验包括三项实验内容,分别是捕获报文基本分析实验、捕获并分析用户数据报协议(UDP)、捕获并分析传输控制协议(TCP)。a) 任意捕获一个数据包,分析其数据链路层格式、网络层格式和传输层格式,加深学生对计算机网络分层概念的理解。b) 用户数据报协议(UDP)是网络上另外一种很常用的第四层协议。用户数据报协议是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。c) 传输控制协议(TCP)—种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transportlayer)通信协议,由IETF的RFC793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。四、 实验原理1、UDP协议UDP协议使用端口号为不同的应用保留其各自的数据传输通道OUDP正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:源端口号、目标端口号、数据报长度、校验值。SourcePort一16位。源端口是可选字段。当使用时,它表示发送程序的端口,同时它还被认为是没有其它信息的情况下需要被寻址的答复端口。如果不使用,设置值为0。DestinationPort目标端口在特殊因特网目标地址的情况下具有意义。ALength该用户数据报的八位长度,包括协议头和数据。长度最小值为8。AChecksumIP协议头、UDP协议头和数据位,最后用0填补的信息假协议头总和。如果必要的话,可以由两个八位复合而成。UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。2、TCP协议在因特网协议族(Internetprotocolsuite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。首先,TCP建立连接之后,通信双方都同时可以进行数据的传输。其次,他是全双工的,在保证可靠性上,采用超时重传和捎带确认机制;在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传;在拥塞控制上,采用慢启动算法。

下图展示了TCP首部的数据格式。如果不计任选(Options)字段,那么,它的大小是20个字节。0123012311111456789012345678911111111111111110123451111116789011111111111111111111111111111111111SourcePort |111111Destination1111111Port |11111111111i rn 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 rSequenceNumber |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1_1 1 1 Illi111111111111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 IlliAcknowledgmentNumber |11111|Datai rn 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Iu|a|p|r|s|f|T 1 1 1 1 1t 1 1 1 1 1 r1|Offset|Reserved|r|C|S|S|Y|I|Window111111111 Ig|k|h|t|n|n|11111111111111111111111111111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Checksum |1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 rUrgentPointer |111111111111 1111 1 1 1 1 1 1 1 1 1 1 1Options1 l_ 1 1 1 1 1 1 1 1 1 1 1 1 1 T 1 1 1 1 11J11111t 1 1 1 1 1 rPadding |11111|1 1 1 111J1111i rn i i i i i i i i i i i i i i i i i i i i ii i i i rdata |1 LJ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 LTCP包头格式TCP协议通过三个报文段完成连接的建立,这个过程称为三次握手(three-wayhandshake),过程如下图所示。请卑方服务汙请卑方SYN-ACK在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 ;第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+l),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的 SYN+ACK包,向服务器发送确认包ACK(ack=k+l),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。Backlog参数:表示未连接队列的最大容纳数目。SYN-ACK重传次数服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。SYN:同步标志同步序列编号(SynchronizeSequenceNumbers)栏有效。该标志仅在三次握手建立TCP连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。在这里,可以把TCP序列编号看作是一个范围从0到4,294,967,295的32位计数器。通过TCP连接交换的数据中每一个字节都经过序列编号。在TCP报头中的序列编号栏包括了TCP分段中第一个字节的序列编号。ACK:确认标志确认编号(AcknowledgementNumber)栏有效。大多数情况下该标志位是置位的。TCP报头内的确认编号栏内包含的确认编号(w+1,Figure-1)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。RST:复位标志复位标志有效。用于复位相应的TCP连接。URG:紧急标志紧急(Theurgentpointer)标志有效。紧急标志置位,PSH:推标志该标志置位时,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理。在处理telnet或rlogin等交互模式的连接时,该标志总是置位的。FIN:结束标志 带有该标志置位的数据包用来结束一个TCP回话,但对应端口仍处于开放状态,准备接收后续数据。五、1、捕获报文基本分析实验打开SnifferPro程序后,选择Capture(捕获)一Start(开始),或者使用F10键,或者是工具栏上的开始箭头。一小段时间过后,再次进入Capture(捕获)菜单,然后选择Stop(停止)或者按下F10键,还可以使用工具栏。还可以按F9键来执行“停止并显示”的功能,或者可以进入Capture(捕获)菜单,选择“停止并显示”。4•停止捕获后,在对话框最下角增加了一组窗口卷标,包括高级、解码、矩阵、主机表单、协议分布和统计信息。5.选择解码卷标,可以看到SnifferPro缓冲器中的所有实际“数据”。分析该卷标结构及其内容。具体结构:分割为上中下三个相连接的窗口,分别用于显示不同信息内容;内容:1)最上面得窗口显示的是捕获各帧的数量和主要信息(包括帧编号,帧状态,源地址与目的地址,摘要等信息);2) 中间的窗口显示的是所选取帧的协议信息(DLC,IP,UDP及TCP协议等的协议内容);3) 最下面得窗口显示的是帧中协议各项内容对应的位置和机器码(默认以ASCII码显示)。

2、捕获并分析用户数据报协议(UDP)751[1S3.93.3217[192168.1.101]TJDPD7138S7300LEN4276000087200.017.611752[183.93.3217[192168.1.101]UDPD7138S7300LEN4276000087240.004.115□753[183.93.3217[192168.1.101]UDPD7138S7300LEN4276000087240.000.299754[1B3.93.3217[192168.1.101]TJDPD7138S7300LEN5690000087450.021.005□755[1B3.93.3217[192168.1.101]TJDPD7138S7300LENE690000087450.000.221756[183.93.3217[1921G8.1.101]UDPD7138S7300LEN5690000087460.000.245757[192.168.1.10[183.93.32.177]UDP::D=7300S=7138LEN=128813220::00::08.7540.008.318758[192.168.110[18393.32.177]UDP73007138LEN12881322000087540.000.068□759[192.168.110[18393.32.177]UDP73007138LEN12881322000087540.000.019760[192.168.110[18393.32.177]UDP73007138LEN349383000087540.000.015□761[192.168.110[18393.32.177]TJDP73007138LEN12881322000087540.000.015762[192.168.110[18393.32.177]UDP730i:i7138LEN1288132200008754i:i.i:ii:ii:i.i:i14763[192.168.110[18393.32.177]UDP730i:i7138LEN1288132200008754764[192.168.110[18393.32.177]UDP73007138LEN3493B3000087540.000.014765[192.168.110[18393.32.177]UDP73007138LEN12881322000087540.000.014□766[192.168.110[18393.32.177]UDP73007138LEN12881322000087540.000.014767[192.168.110[115175.27.205]UDP46047138LEN3493B3000087540.000.029□768[192.168.110[11517E.27.205]UDP46047138LEN1288132200008754i:i.i:ii:ii:i.i:i21769[192.168.110[11517E.27.205]UDP46047138LEN1288132200008754i:i.i:ii:ii:i.i:i14770[192.168.110[115175.27.205]UDP46047138LEN12881322000087540.000.016771[192.168.110[115175.27.205]UDP46047138LEN349383000087540.000.013匚772[192.168.110[18393.32.177]UDP73007138LEN4276000087570.003.099(图一) 选择的数据包是用蓝色标记的IP数据包封装UDP此数据包是ip数据包PPPPPPPPPPPPPPPPPPPPPP-•IIIIIIIIIIIIIIIIIIIIII-IP□□□□□□□□□□□□□□□□□□□□□□野QQQaaQ:.曰PPPPPPPPPPPPPPPPPPPPPP-•IIIIIIIIIIIIIIIIIIIIII-IP□□□□□□□□□□□□□□□□□□□□□□野QQQaaQ:.曰 曰IPHeader 盯已r:三:1口口=4headerlength=20上耳『1:.已:三:Type口fservice=00000 ...0........0... 0.. 0. 0TcitailengthId已ntificati口nFlagsFragment-口ffsetTim巳t口1iveFr口t口匚:口1HBaderchecksumE;口urceaddress=routine:n口r-iftaldelayn口r-iftalthr口ughputn口r-iftalrelia.hilit”ECThit-tra.nsp口rtpr口t•口匚:口1wi11ign口r已th已匚Ehit匚Ebit-:n口匸:口ngesticm1308bytes34644nxniayfragin已n.tlastfragment-0hyt巳w:255sec口口p:m17(UDP)95&0(correct)=[192.168.1.101]D已:mtinmti口口addr已:三::w: = [183.93.32.177]N口口pti口口:2:UDPHeader Sourceport = 7138Destiiytimipor-t= 7300Length =1288匚h已cksum =68DA[匚:口rrect)[12801:叩t已 口fdata](图二)说明Version=4代表的是现在使用的是IPv4网络层协议Headerlength=20表明头部长度为20bytesIP协议规定的首部信息是20bytes符合Typeofservice=00表示为普通服务

分析如下:000 =00代表的是优先权选择字段(现在已经忽略)•••0….=0最小时延字段为0代表正常时延....0...=0最大吞吐量字段为0代表正常吞吐量 0..=0最高可靠性字段为0代表正常可靠性 0.=0 0表示将忽略下面的CE字段 0=00表示没有阻塞totallength=1308=1024+256+16+8+4所以二进制表示为10100011100标识位为34644标志位为说明此标志位数据报最后一个分片倒数最后一位为DF位DF=0表示可以分片;片偏移为0生存时间为255上层协议是UDP协议(因为代码为17ip封装的UDP即ip层的上层是UDP协议)10首部校验和为9560是正确的(用反码求和)我主机的ip地址是192.168.1.101根据9所列出的理由所以IP层的上层是UDP数据包(图三)(图三)根据图一可以看出,在传输层抓的是UDP数据包,源ip地址(即我所用的这台电脑的ip)为(图一、图三)192.168.1.101服务器端的ip地址(图一)为183.93.32.177,源端口(我电脑上所接受的数据包所用端口号)为7138,目的端口(服务器上的)为7300.满足要求(电脑上的端口号为16位的<65536)ip数据包的长度为1308字节,但他是封装了UDP,在UDP头部加了ip的头部,ip数据包头部长度为20,所以1308-20=1288为UDP数据包的长度,从而也验证了图一UDP数据包长度为1288bytes本ip数据包验证了ip层和传输层的UDP协议之间的关系,网络层(ip层)对传输层(传输层有UDP协议)数据的的封装3、捕获并分析传输控制协议(TCP)」状态1源地址 1目标地址 1摘要|Len序节]|RelM间|Delta时间M[192.168.1.101][113.4.72.88]TCP::D=14095S=2998SYNSEQ=G4G269573LEN=0UIN=G5535GG0::00::00.0000.000.00[113.4.72.88][192.1G8.1.101]T匚FD=2998S=14095S¥NACK=6462G9574SEQ=30899i:i4528LEN=0UIN=169686600000.cue.0.01G.27[192.168.1.101][113.4.72.88]TCPD=14095S=2998 直匚K=3089904529T.HN=25&9&06000000.0160.000.07[192.168.1.101][113.4.72.88]TCPD=140955=2998 必匚K=30E:9904529SEQ=64&2&9574LEN=154WIN=25696020800000.0180.001.99[113.4.72.88][192.168.1.101]T匚FD=2998S=14095 ACK=646269728SEQ=3089904529LEN=96WIN=1681415000000.0290.010.71[113.4.72.88][192.168.1.101]T匚FD=2998S=14095FINACK=G4G269728SEQ=3089904625LEN=0¥IN=16814GO00000.0300.001.66[192.168.1.101]rTn--iT|-|TTnT1[113.4.72.88]rin-|ii--ii--iinTTTCPD=14095S=2998 ACK=3089904626T.JIN=25&8&4r-.-n--in-_iI--_--innni—tjit厂仃厂,一《ttnnrnaintttit_ntttit_rr-ir600n00nn00.030nni--in0.000.02nnnnr-i(图一)这三次握手是从蓝颜色标记处开始的三个TCP包,机器A源IP为192.168.1.101,机器B目的地址为113.4.72.88r:cpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcpcp匡CPCPIrTTTTTTTTTTTTTTTTTTTTTTTTT』Tc5^®巒巒efjffl^e巒5鬱鳄55巒巒«鬱5轡568«5a-TCFheader Sourcep口工t = 2998Destinati口nport =14095InitialsequencenuTiiber=646269573NestespectedSeqnuTiLber=646269574Data□ffset =32bytesReservedBits:ReservedforFutureUse(NotshownintheHesDump)FlagsWindowChecksuiiLUrgentpointer=02=(Nourgentpointer)=i:Noacknow1edgment)=(Nopush)=(Noreset)=S¥N=(NoFIN:)=6EE35=3FDD(correct)=UOptionsfoilowMaKiiiLUiiLsegTiientsize=146UNo-OperationUindowsealeOptionWindowscalefactor=2No-OperationNo-OperationSACti-PerjiLi11edOption此图是图一蓝色标记那个被截获的TCP数据包的详细内容分析图二如下:机器A(ip为192.168.1.101)访问机器B(113.4.72.88)首先A向B发送连接请求源端口号(机器A)为2988,目的端口(机器B)为14095。初始化序列号位646269573在TCP连接中传送的每一个字节都有自己的序列号它期望收到对方下一个报文段的第一个数据字节的序号为3570398464。数据偏移为32个字节也就是数据头部有32个字节。保留字是为了将来来用。标志位为02其中只有SYN位为1而ACK位为0所以根据TCP数据报首部定义,此数据包为连接请求报文段(表明机器A正在试图和机器B连接,等待服务器的响应)。窗口为65535表明此时是最大的接收窗口检验和是3FDD(工具算出来是正确的) J丄亠■TCP: TCPheader TTTTTTTTTTTTTTTTTTTTTTTTT?T1T

®®®®555555f)5蠻5圈圈圈55®®®®®SMI55SourceportDestinaticinportInitialsequencenumh巳工-NsktespectedSeqnumberAcknow1edgmentnumberDataoffsetReservedFlagsEitw:Reserved0...TTTTTTTTTTTTTTTTTTTTTTTTT?T1T

®®®®555555f)5蠻5圈圈圈55®®®®®SMI55SourceportDestinaticinportInitialsequencenumh巳工-NsktespectedSeqnumberAcknow1edgmentnumberDataoffsetReservedFlagsEitw:Reserved0....0....1 ....0WindowChecksumUrgentpointerOptionwfollowMasimumsegmentNo-OperationWindowscaleOptionWindowscalefactor:P:.No-Operationorationsize=14095=2998=3089904528=3039904529=646269574=32bytesforFutureUse(Notshowninth已HskDump)=12=(Nourgentpointer)=Acknowledgment=(Nopush)=(Noreset)=SYN=(NoFIN)=1696S=11F7(correct)=01414=014095,目的端口(机器A)为2988。确认号为3570398464,表明此时响应了机

温馨提示

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

评论

0/150

提交评论