【网络协议分析】使用Wireshark分析UDP协议

本文通过Wireshark抓取UDP流,详细比较了UDP与TCP在连接方式、可靠性、报文结构等方面的差异,并以DNS应用为例探讨其可靠传输机制。最后总结了UDP协议的无连接特点和常见应用场景。
摘要由CSDN通过智能技术生成

一、实验目的

        通过使用Wireshark抓取UDP流来分析学习UDP协议,比较TCP与UDP的不同。

二、实验过程

        1、使用Wireshark抓取UDP报文流,常见的使用UDP协议的应用有DNS、QQ、在线游戏等。

        2、分析抓取到的数据包,比较与TCP协议的异同。

        我们选取DNS的UDP报文进行分析。

        首先,相比于TCP协议建立连接时需要三次握手,结束时需要四次挥手,UDP协议可以直接发送数据分组,而省略了握手与挥手的过程,降低安全性换来提升传输的效率。

        因此,由于UDP本身的发送方式,UDP无法保证传输的可靠性,存在丢包的可能性。但UDP不是点对点的,可以借助该特性进行广播或多播。

        3、分析UDP报文格式

        分析Wireshark捕捉的UDP报文我们可以知道,UDP的报文首部共分为4个部分,每个部分占2字节,共8个字节。分别为:源端口Source Port、目的端口Destination Port、报文长度Length、校验和Checksum。后面的部分均属于数据区。

        源端口和数据端口包含了UDP端口号,用以在各个等待接收报文的应用之间对数据包进行多路分解工作。

        报文长度指明了以字节为单位的UDP首部和UDP数据的长度,因此报文长度最小值为8(数据为空,仅包含UDP首部)。

        校验和是可选字段,设置为0时表明未进行校验。校验和是UDP中提供的唯一保证UDP报文无差错的途径。

4、分析你使用UDP包的应用,试着分析该应用自身是否有提供可靠性传输相关的机制

        我们这里对DNS应用进行分析。

        首先,通过查看捕获到的报文,可以看到DNS报文使用了校验和作为保证可靠性传输的机制之一。

        此外,根据查阅资料我们可以知道,DNS首部提供了一个截断位,当报文长度大于512字节时,由于UDP传输大数据的不稳定,仅用UDP发送前512各字节,并设置截断位为1,这样客户端收到后会用TCP重发这个请求,可保证长数据的稳定传输。下图报文中的截断位为0,即无须截断。

5、捕获到使用ICMP报文来报告UDP数据报不可达的报文

        使用手机提供热点,但关闭手机的数据流量,使得电脑连接的热点为不可访问互联网的状态。此时在电脑上打开任意使用UDP协议的应用(这里选择阿里云盘),可以抓到UDP报文发送失败时,使用ICMP报文报告UDP数据报不可达的报文。

        我们可以发现,这个ICMP报文的Type Code为3 0,表明目标网络端口不可达。

        使用ICMP报文报告数据报不可达也是UDP于TCP的区别之一。TCP协议由于本身连接与断开都是经过多次确认的,且考虑了出现问题时重传和阻塞控制。因此其自身在握手、挥手、数据发送时通过超时、捎带确认等方式就可以完成确认和错误报告。而UDP由于是无连接的用户数据报协议,因此在不可达时,只能从本机发送一个ICMP报文报告不可达,通报路径上的各节点。此外的一个原因是,ICMP本身也是一个数据报协议,依靠UDP传输。

三、思考与总结

        本次实验主要对UDP协议进行了捕获,通过分析UDP报文格式对UDP协议进行进一步的学习。

        UDP协议是一个无连接的面向数据报协议,其报文格式如下:

        TCP与UDP的区别如下:

        (1)TCP 是面向连接的,UDP 是面向无连接的。

        (2)UDP程序结构较TCP程序简单。

        (3)TCP 是面向字节流的,UDP 是基于数据报的。

        (4)TCP 保证数据正确性,UDP 可能丢包。

        (5)TCP 保证数据顺序,UDP 不保证。

        UDP协议常用的应用场景有:即时通信(QQ等)、直播/在线视频、在线游戏、网盘等。其特点为单次传输需要资源少、不需要一一对应建立连接、可以忍受丢包,但对实时性要求强。

  • 26
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: UDP协议是一种无连接的传输协议,它不保证数据传输的可靠性,但具有传输速度快的优点。Wireshark是一款网络协议分析工具,可以用来抓包并分析网络数据包。 在使用Wireshark抓包时,可以选择过滤器来只显示UDP协议的数据包。在分析UDP数据包时,可以查看源IP地址、目的IP地址、源端口号、目的端口号等信息。此外,还可以查看UDP数据包的长度、校验和等信息。 通过分析UDP数据包,可以了解网络中的数据传输情况,发现网络故障和安全问题。同时,也可以优化网络性能,提高数据传输效率。 ### 回答2: UDP协议是一种无连接的传输协议,数据传输效率高,但传输的数据可能会出现丢包、乱序等问题。Wireshark是一款常用的网络协议分析工具,可以通过Wireshark抓包来分析UDP协议的数据传输情况。 在使用Wireshark抓包分析UDP协议时,需要设置正确的过滤器,只捕获UDP协议的数据包。可以使用udp”作为过滤器,也可以在端口号上设置过滤器,来分析特定端口接收的UDP数据包。通过设置过滤器,可以避免捕获其他无关协议的数据包,提高分析效率。 在Wireshark抓包的窗口中,可以查看每个UDP数据包的详细信息。其中包括源IP地址、目标IP地址、源端口号、目标端口号、数据长度、校验和等信息。对这些信息进行分析,可以了解数据传输的源与目标,以及数据长度等情况。 在Wireshark抓包中,也可以查看UDP协议的负载数据,即传输的数据内容。通过分析负载数据,可以了解实际的数据传输情况,例如数据是否完整、数据是否乱序等情况。此外,在分析负载数据时,还可以对数据进行解码操作,以便更好地了解数据内容。 除了对UDP协议的数据包进行捕获和分析外,在Wireshark中还可以进行一些其他的设置和操作,以更好地分析UDP协议的数据传输情况。例如,可以设置统计窗口、进行协议解析等操作,有助于更全面、准确地分析协议的数据传输情况。 总之,通过使用Wireshark抓包分析UDP协议,可以更好地了解UDP协议的数据传输情况和问题,有助于优化网络数据传输,提高数据传输效率和数据传输质量。 ### 回答3: UDP是用户数据报协议,它是一种简单的、无连接的传输层协议。相对于TCP,UDP不提供可靠的数据传输和流量控制,但是其传输速度快,适用于一些实时性要求高,数据量不大的场景,如音频、视频等。 Wireshark是一个开源的网络协议分析工具,可以实时捕获网络封包,并提供详细的分析报告。利用Wireshark可以对网络通信的过程进行详细分析,包括协议类型、IP地址、端口号、数据内容、传输速率等等。 通过Wireshark抓包分析UDP协议,可以从以下几个方面入手: 1. 抓包过程 在UDP协议通信过程中,可以打开Wireshark进行抓包。在Wireshark界面中选择要抓取数据的接口,开始抓包。可以利用过滤器,只抓取特定的UDP报文。 2. 协议头部 UDP协议的头部的长度为8字节,包含四个字段:源端口、目的端口、长度和校验和。其中,端口号用于标识传输的应用层数据,长度字段指示了整个UDP报文的长度,校验和用于检测报文的完整性。 3. 应用层数据 UDP协议将数据直接封装在UDP报文中,没有TCP那样的分包合并的过程。应用层协议将数据传输给UDP协议后,UDP不对数据进行任何加工,直接传输。 4. 抓包分析Wireshark中,可以查看到抓取到的所有UDP数据包,并对其进行分析。可以分析源IP和端口号、目的IP和端口号、发送时间、数据长度等信息。同时,还可以查看每个UDP包中传输的数据信息,如HTTP、FTP等。 总之,利用Wireshark抓包分析UDP协议可以深入了解UDP通信过程的细节,为网络调试和优化提供非常有价值的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_41626672

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值