实验报告实验二:IP和TCP数据分组的捕获和解析ytinrete1.实验类别协议分析型2.实验内容和实验目的本次实验内容:1)捕获在连接Internet过程中产生的网络层分组:DHCP分组,ARP分组,IP数据分组,ICMP分组。2)分析各种分组的格式,说明各种分组在建立网络连接过程中的作用。3)分析IP数据分组分片的结构。通过本次实验了解计算机上网的工作过程,学习各种网络层分组的格式及其作用,理解长度大于1500字节IP数据组分片传输的结构。4)分析TCP建立连接,拆除连接和数据通信的流程。3.实验组人数单人组4.实验环境windows7WireShark5.实验步骤和实验结果5.1捕获DHCP报文并分析打开软件,并设置过滤器为udp.port==68则可捕获DHCP报文分析DHCP分组格式:OP:若是client送给server的封包,设为1,反向为2。HTYPE:硬件类别,Ethernet为1。HLEN:硬件地址长度,Ethernet为6。HOPS:若封包需经过router传送,每站加1,若在同一网内,为0。TRANSACTIONID:DHCPREQUEST时产生的数值,以作DHCPREPLY时的依据。SECONDS:Client端启动时间(秒)。FLAGS:从0到15共16bits,最左一bit为1时表示server将以广播方式传送封包给client,其余尚未使用。Ciaddr:要是client端想继续使用之前取得之IP地址,则列于这里。Yiaddr:从server送回client之DHCPOFFER与DHCPACK封包中,此栏填写分配给client的IP地址。Siaddr:若client需要透过网络开机,从server送出之DHCPOFFER、DHCPACK、DHCPNACK封包中,此栏填写开机程序代码所在server之地址。Giaddr:若需跨网域进行DHCP发放,此栏为relayagent的地址,否则为0。Chaddr:Client之硬件地址。Sname:Server之名称字符串,以0x00结尾。File:若client需要透过网络开机,此栏将指出开机程序名称,稍后以TFTP传送。Options:允许厂商定议选项(Vendor-SpecificArea),以提供更多的设定信息查看DHCP的四次握手获得IP地址,缺省路由DNS等参数的过程。在DOS窗口执行命令ipconfig/release先释放已经申请的IP地址。再执行ipconfig/renew。Wireshark捕获四次握手具体分析分析四次握手的过程:1)第一次握手本地端向网络以广播形式发送DHCPdiscover报文,等待网络中的DHCPserver给出回应。由抓包结果可知,discover报文第二层源mac地址为源端口mac,目的mac为广播地址ff:ff:ff:ff:ff:ff.。三层源地址为0.0.0.0,目的地址为广播地址255.255.255.255。UDP源端口为68,目的端口为67。2)第二次握手当DHCPserver接收到本地端发出的discover报文后,它会从那些还没有租出的地址范围内,选择最前面的空置IP,连同其它TCP/IP设定,响应给本地端一个DHCPoffer封包。由于客户端在开始的时候还没有IP地址,所以在其DHCPdiscover封包内会带有其MAC地址信息,并且有一个XID编号来辨别该封包,DHCP服务器响应的DHCPoffer封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCPoffer封包会包含一个租约期限的信息,当本地端到了这个期限,会释放出IP,再次发送discover报文重新申请。由抓包结果可得:ClientIPaddress=0.0.0.0(0.0.0.0)Your(Client)IPaddress=10.201.18.140(10.201.18.140):DHCPServer分配给本地端的IP地址DHCPMessageType=DHCPOffer:表示这是offer报文Serveridentifier=10.3.9.3(10.3.9.3):DHCPserver的IP地址Ipaddressleasetime=12hour表示租期是12小时SubnetMask=255.255.255.128:子网掩码DomainName=bupt.edu.cn:域名Router=10.201.18.129(10.201.18.129):路由网关3)第三次握手本地端向网络以广播形式发送request报文作为响应,告诉所有DHCP服务器它将指定接受哪一台服务器提供的IP地址。由抓包结果可看出这是一个request报文,IP为我们刚刚申请的IP:10.201.18.140。4)第四次握手网络中的DHCPserver接收到本地端发送的request之后,向本地端以单播方式回应DHCPack报文,确认IP租约生效,整个过程结束由抓包结果可以看出,这是一个ACK报文,内容类似于DHCPoffer。四次握手用简图可表示为:DHCP分组在建立网络连接中用于给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。5.2观察ARP和PING命令的执行过程Arp分组格式为:开始测试arp分组,在命令行中输入Ping10.201.18.129可见给10.201.18.129发送了4个数据包都得到了回复。从抓包结果看首先以广播的形式发出了一个长度为42的报文,内容是请求10.201.18.129的mac地址,请求告知10.201.18.140。然后接收到一个长度为60的回复报文,头6个字节是本地的mac地址接着的6个字节就是对方的mac地址,这样我们就知道了对方地址。加进缓存表。DHCP分组在建立网络连接中用于获取目标主机的mac地址。在以太网协议中规定,同一局域网中的一台主机要和另一台主机迚行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(addressresolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。5.3IP数据分组分组格式实验结果:字段报文解释版本Version:4版本为IPv4首部长度Headerlength:20bytes首部长20字节服务类型Differentiatedservicescodepoint:default正常时延、正常吞吐量、正常可靠性总长度Totallength:1454数据分组长1454字节标识Identification:0x709b(28827)标识为28827标志Flags:0x00DF=0;MF=0;片偏移Fragmentoffset:0偏移量为0生存周期Timetolive:47每跳生存时间为47秒协议Protocol:TCP(6)使用TCP协议首部校验和Headerchecksum:0x4036[correct]IP头部校验和为0x4036,校验正确源地址Source:58.250.135.111源地址:58.250.135.111目标地址Destination:10.201.8.71目标地址:10.201.8.715.4ICMP分组分组格式:实验结果:ICMP是(InternetControlMessageProtocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。字段报文解释类型Type:0echo响应代码Code:0echo响应校验和Checksum:0x5543校验和为0x5543校验正确标识符Identifier(BE):1Identifier(LE):256标识符序列号Sequencenumber(BE):24Sequencenumber(LE):6144序列号5.5分析IP数据分组的分片传输过程ping-l8000则捕捉到如下所示:可见,整个8000的包被分成6个包,下面一一分析:第一个字段报文解释版本Version:4版本为IPv4首部长度Headerlength:20bytes首部长20字节服务类型Differentiatedservicescodepoint:0x00正常时延、正常吞吐量、正常可靠性总长度Totallength:1500数据分组长1500字节标识Identification:0x02f5(757)标识为757标志Flags:0x01DF=0;MF=1(还有帧);片偏移Fragmentoffset:0偏移量为0生存周期Timetolive:64每跳生存时间为64秒协议Protocol:ICMP(1)使用ICMP协议首部校验和Headerchecksum:0xc46b[correct]IP头部校验和为0xc46b,校验正确源地址Source:10.201.8.71源地址:10.201.8.71目标地址Destination:121.194.0.239目标地址:121.194.0.239数据段Data(1480bytes)数据段长度为1480字节第二个字段报文解释版本Version:4版本为IPv4首部长度Headerlength:20bytes首部长20字节服务类型Differentiatedservicescodepoint:0x00正常时延、正常吞吐量、正常可靠性总长度Totallength:1500数据分组长1500字节标识Identification:0x02f5(757)标识为757标志Flags:0x01DF=0;MF=1(还有帧);片偏移Fragmentoffset:1480偏移量为1480生存周期Timetolive:64每跳生存时间为64秒协议Protocol:ICMP(6)使用ICMP协议首部校验和Headerchecksum:0xc3b2[correct]IP头部校验和为0xc3b2,校验正确源地址Source:10.201.8.71源地址:10.201.8.71目标地址Destination:121.194.0.239目标地址:121.194.0.239数据段Data(1480bytes)数据段长度为1480字节第三个字段报文解释版本Version:4版本为IPv4首部长度Headerlength:20bytes首部长20字节服务类型Differentiatedservicescodepoint:0x00正常时延、正常吞吐量、正常可靠性总长度Totallength:1500数据分组长1500字节标识Identification:0x02f5(757)标识为757标志Flags:0x01DF=0;MF=1(还有帧);片偏移Fragmentoffset:2960偏移量为2960生存周期Timetolive:64每跳生存时间为64秒协议Protocol:ICMP(6)使用ICMP协议首部校验和Headerchecksum:0xc2f9[correct]IP头部校验和为0xc2f9,校验正确源地址Source:10.201.8.71源地址:10.201.8.71目标地址Destination:121.194.0.239目标地址:121.194.0.239数据段Data(1480bytes)数据段长度为1480字节第四个字段报文解释版本Version:4版本为IPv4首部长度Headerlength:20bytes首部长20字节服务类型Differentiatedservicescodepoint:0x00正常时延、正常吞吐量、正常可靠性总长度Totalleng