网络层数据分组的捕获和解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
. 实验二:网络层数据分组的捕获和解析
1. 实验类别
协议分析型
2. 实验容和实验目的
本次实验容:
1)捕获在连接Internet过程中产生的网络层分组:DHCP分组,ARP分组,IP数据分组,ICMP 分组。
2)分析各种分组的格式,说明各种分组在建立网络连接过程中的作用。
3)分析IP数据分组分片的结构。
通过本次实验了解计算机上网的工作过程,学习各种网络层分组的格式及其作用,理解长度大于1500字节IP数据组分片传输的结构。
3. 实验设备环境
Windows XP 操作系统的pc机,连接到Internet,使用WireShark软件。
4. 实验步骤
4.1 准备工作
启动计算机,连接网络确保能够上网。。
4.2 捕获和分析网络层分组
开启监控,连接网络。一段时间后查看捕获的分组。分析各种分组的格式以及在上网过程中所起的作用。
4.3-1 发送ICMP分组,捕获并分析格式
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
0100为协议类型:4.
0101为首部长度:5*4=20字节
00000000为服务类型。
00000000 00111100 为总长度:60(20个头部,40个数据)
00001000 10101101为标识:0*08ad(2221)
000为标志位MF=0 DF=0
00000 00000000为片偏移:offest=0
10000000 为生存时间:128
00000001为协议:ICMP(1)
00000000 00000000 为首部校验和:0
01110110 11100101 100000010 00010110为源地址:128.229.130.22
01110111 01001011 11010101 00110011为目标地址:119.75.213.51
00001000为ICMP报文的类型:8
00000000为code:0
01001100 11001101 为校验和:0x4ccd
其后面的32为与ICMP的类型有关
在后面的为数据部分。
此ICMP为回送请求与回送回答报文
4.3-2 发送ARP分组,捕获并分析格式
ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。
ARP包:
本机希望知道ip为118.229.130.1主机的物理地址,如果本机的ARP缓存表中没有目标IP地址,那么本机将会发送一个广播本机MAC地址是“00:26:18:fd:f8:12”,这表示向同一网段的所有主机发出这样的询问:“我是118.229.130.1,我的硬件地址是"00:26:18:fd:f8:12".请问IP地址为192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有目标主机接收到这个帧时,才向本机做出这样的回应:“118.229.130.1的MAC地址是xx-xx-xx-xx-xx-xx”。这样,本机就知道了目标主机的MAC地址,它就可以向目标主机发送信息了。还同时都更新了自己(本机与目标的)的ARP缓存表(因为本机在询问的时候把自己的IP和MAC地址一起告诉了目标主机),下次本机再向目标主机或者目标主机向本机发送信息时,直接从各自的ARP缓存表里查找就可以了。
DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给部网络或网络服务供应商自动分配IP地址给用户给部网络管理员作为对所有计算机作中央管理的手段。
首先释放当前的IP地址,然后再重新获取IP地址。然后向网络发出一个DHCP DISCOVER 封包。封包的来源地址会为0.0.0.0 ,而目的地址则为255.255.255.255 ,然后再附上DHCP discover 的信息,向网络进行广播。
当DHCP 服务器监听到客户端发出的DHCP discover 广播后,它会从那些还没有租出的地址围,选择最前面的空置IP ,连同其它TCP/IP 设定,响应给客户端一个DHCP OFFER 封包。由于客户端在开始的时候还没有IP 地址,所以在其DHCP discover 封包会带有其MAC 地址信息,并且有一个XID 编号来辨别该封包,DHCP 服务器响应的DHCP offer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer 封包会包含一个租约期限的信息。
如果客户端收到网络上多台DHCP 服务器的响应,只会挑选其中一个DHCP offer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCP request广播封包,告诉所有DHCP 服务器它将指定接受哪一台服务器提供的IP 地址。同时,客户端还会向网络发送一个ARP 封包,查询网络上面有没有其它机器使用该IP 地址;如果发现该IP 已经被占用,客户端则会送出一个DHCPDECLIENT 封包给DHCP 服务器,拒绝接受其DHCP offer ,并重新发送DHCP discover 信息。
当DHCP 服务器接收到客户端的DHCP request 之后,会向客户端发出一个DHCPACK 响应,以确认IP 租约的正式生效,也就结束了一个完整的DHCP 工作过程。
若一直得不到响应的情况下,客户端一共会有四次DHCP discover 广播(包括第一次在),除了第一次会等待1 秒之外,其余三次的等待时间分别是9、13、16 秒。如果都没有得到DHCP 服务器的响应,客户端则会显示错误信息,宣告DHCP discover 的失败。之后,基于使用者的选择,系统会继续在5 分钟之后再重复一次DHCP discover 的过程。