目录

实验:WireShark数据包分析

 

一、实验目的

二、实验环境

三、实验内容与实验要求

四、实验过程与分析

TCP三次握手

第一次握手

第二次握手

第三次握手

UDP

五、实验结果总结


实验:WireShark数据包分析

一、实验目的

1)掌握Wireshark的使用;

2)能够使用Wireshark进行简单的协议分析;

3)掌握TCP三次握手过程。

二、实验环境

Kali-linux-2018.1-amd64

WireShark Network Analyer (Version 2.4.5)

三、实验内容与实验要求

1)了解Wireshark和基本使用方法

2)使用Wireshark分析TCP的三次握手

3)对UDP协议进行分析,分析UDP与TCP有什么不同?

四、实验过程与分析

运行WireShark

wireshark图表分析功能 wireshark网络分析实战_TCP

选择抓包网卡(eth1),开始抓包

wireshark图表分析功能 wireshark网络分析实战_三次握手_02

设置过滤规则

wireshark图表分析功能 wireshark网络分析实战_三次握手_03

TCP三次握手

wireshark图表分析功能 wireshark网络分析实战_三次握手_04

 

浏览器访问测试网页[192.168.1.154]

wireshark图表分析功能 wireshark网络分析实战_wireshark_05

在wireshark中输入http过滤, 然后选中GET / HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream", 这样做的目的是为了得到与浏览器打开网站相关的数据包,点击close,将得到如下图:

成功抓取到TCP三次握手过程

wireshark图表分析功能 wireshark网络分析实战_三次握手_06

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的,

这说明HTTP的确是使用TCP建立连接的。

第一次握手

客户端发送的TCP报文中以[SYN]作为标志位,并且客户端序号seq=0;

wireshark图表分析功能 wireshark网络分析实战_三次握手_07

第二次握手

服务器返回的TCP报文中以[SYN,ACK]作为标志位;

并且服务器端序号seq=0;确认号Ack=1(第一次握手:客户端序号seq的值+1)

wireshark图表分析功能 wireshark网络分析实战_三次握手_08

第三次握手

客户端再向服务器端发送的TCP报文中以[ACK]作为标志位;

其中客户端序号seq=1(第二次握手:中服务器端确认号ack的值),确认号ack=1(第二次握手:中服务器端序号seq的值+1)。

wireshark图表分析功能 wireshark网络分析实战_UDP_09

UDP

UDP 是User Datagram Protocol的简称,报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。

基于UDP的协议也有很多,如:DHCP,DNS,SSDP,NTP等

wireshark图表分析功能 wireshark网络分析实战_TCP_10

我们对其中的一条DHCP数据包进行分析

可以看到其首部由源端口、目的端口、长度和检验和这四部分组成,其首部组成简单,占用空间小。

wireshark图表分析功能 wireshark网络分析实战_三次握手_11

TCP与UDP的区别

1、TCP面向连接,在通信之前要进行三次握手,结束要进行四次挥手;UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,无法保证可靠交付
3、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
4、TCP首部开销20字节;UDP的首部开销小,只有8个字节
5、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

五、实验结果总结

本次实验,首先对Wireshark的用法做了基本的了解,之后趁热打铁通过TCP数据包,详细分析和了解了TCP协议的三次握手机制,之后,通过抓去UDP包对UDP协议也做了分析,了解其数据包的组成和特性,最后,综合分析了TCP和UDP的区别。认识到了TCP和UDP各自适用的场景,有些应用场景对可靠性要求不高会用到UPD,比如长视频,要求速率