wireshark实验五:UDP

一、实验目的

通过wireshark捕获UDP数据包,进行数据包分析,从而掌握UDP报文格式

二、实现原理

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。在网络中它与TCP协议一样用于处理数据包,在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。

  UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。  

  UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。UDP传输的可靠性由应用层负责。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如TFTP、SNMP、NFS、DNS、BOOTP等。

  在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议。

UDP首部的格式

UDP有数据字段和首部字段两个字段。首部字段只有8个字节,分别为源端口、目的端口、长度和检验和。检验和用于检测UDP用户数据报在传输中是否有错,有错就丢弃。

当运输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口上交给进程。如果接方UDP发现收到的报文中的目的端口不正确就丢弃报文,并由ICMP发送“端口不可达”差错报文交给发送方。

在计算检验和时,要在UDP用户数据报之前增加12个字节的伪首部。“伪首部”并不是用户数据报真正的首部,只是在计算检验和时,临时添加在UDP数据报前面,得到一个临时UDP数据报。伪首部既不向下传送也不向上递交,仅仅是为了计算检验和。

扫描二维码关注公众号,回复: 3311656 查看本文章

三、实验操作

开始启动wireshark捕捉数据包,然后可以执行能够产生发送或接收UDP数据包的操作。或许不做任何操作,在数据包列表中也会发现UDP数据包,尤其是SNMP数据包,你可以通过SNMP消息中找到UDP数据包。

停止数据包捕获,设置显示过滤器,来筛选包含有UDP数据包,请选择任一个UDP数据包,回答下列问题:

<1>从选择的UDP数据包中,确定UDP头部中有哪些字段?

<2>查询UDP数据包字段中,头部中每个字段的长度(以字节为单位)?

<3>UDP数据包长度多少?

<4>UDP的协议号是多少?(分别以十六进制与十进制给出)

<5>请求UDP信息与响应UDP信息端口号有啥关系?

猜你喜欢

转载自blog.csdn.net/wz_cow/article/details/81749339
今日推荐