实验一 :抓包观察TCP报文、UDP报文

实验目的:

通过本次实验,抓包观察TCP报文和ARP报文。

实验环境:

硬件:PC机

软件:windows操作系统,ensp、wireshark、virtulBox等。

实验内容:

  1. 抓包观察TCP报文
  2. 抓包观察UDP报文。

实验原理:

  1. wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。
  2. TCP则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP的首部格式为:

怎么用wireshark抓取udp包 wireshark抓取udp报文_网络

(3)UDP则提供面向非连接的服务。UDP的首部格式为:

怎么用wireshark抓取udp包 wireshark抓取udp报文_tcp/ip_02

1.抓包观察TCP报文

实验拓扑:

怎么用wireshark抓取udp包 wireshark抓取udp报文_网络_03

实验过程:

步骤一: 启动设备,配置主机、客户端和服务器的IP地址

怎么用wireshark抓取udp包 wireshark抓取udp报文_怎么用wireshark抓取udp包_04


怎么用wireshark抓取udp包 wireshark抓取udp报文_udp_05

怎么用wireshark抓取udp包 wireshark抓取udp报文_tcp/ip_06

步骤二: 测试主机、客户端和服务器的连通性,打开主机的命令行界面,Ping服务器

怎么用wireshark抓取udp包 wireshark抓取udp报文_tcp/ip_07

怎么用wireshark抓取udp包 wireshark抓取udp报文_怎么用wireshark抓取udp包_08

怎么用wireshark抓取udp包 wireshark抓取udp报文_怎么用wireshark抓取udp包_09

1.通过主机的命令行界面可知,主机给服务器发送了5个包,发送了5个包,接收了5个包,丢包率为0%。

2.手动设置客户端Ping测试的目的IP地址并且发送4个包给目的IP地址,Ping成功:4

失败:0.

通过主机、客户端Ping服务器的测试,可见他们之间是连通的,可以相互通信。

步骤三: 配置服务器的服务信息为Httpserver,bing并开启服务

怎么用wireshark抓取udp包 wireshark抓取udp报文_udp_10

进入服务器信息界面,选择Httpserver,选择文件根目录之后启动该服务即可。

步骤四:客户端向服务器请求数据并在交换机上获取抓包

怎么用wireshark抓取udp包 wireshark抓取udp报文_怎么用wireshark抓取udp包_11

怎么用wireshark抓取udp包 wireshark抓取udp报文_怎么用wireshark抓取udp包_12

在客户端的客户信息界面中的HttpClient中可以给服务器发送GET请求去获取数据,这时,抓包就开始进行了

怎么用wireshark抓取udp包 wireshark抓取udp报文_端口号_13

在信息过滤文本框输入tcp,可以过滤信息,得到我们想要的信息。

步骤五: TCP建立连接进行三次握手。

1.第一次握手:

怎么用wireshark抓取udp包 wireshark抓取udp报文_tcp/ip_14

第一次握手,源地址,即客户端192.169.1.3的随机端口号为2053,目的地址,即服务器192.168.1.2的端口号为80,序列号为0,确认号为0,标志位为SYN,作用是在TCP建立连接时用来同步序号,窗口大小为8192。

2.第二次握手:

怎么用wireshark抓取udp包 wireshark抓取udp报文_网络_15

第二次握手,源地址,即服务器地址192.168.1.2的端口号为80,目的地址,即客户端192.169.1.3的随机端口号为2053,序列号为0,确认号为1,标志位为SYN和ACK,窗口大小为8192。

3.第三次握手:

怎么用wireshark抓取udp包 wireshark抓取udp报文_udp_16


第三次握手,源地址,即客户端192.169.1.3的随机端口号为2053,目的地址,即服务器地址192.168.1.2的端口号为80,序列号为1,确认号为1,标志位为ACK,窗口大小为8192。

步骤六: HTTP数据的传输

1.客户端向服务器发起GET请求

怎么用wireshark抓取udp包 wireshark抓取udp报文_端口号_17

源地址,即客户端192.169.1.3的随机端口号为2053,目的地址,即服务器地址192.168.1.2的端口号为80,序列号为1,下一个序列号为158,也就是说数据载荷为157个数据。确认号为1,窗口大小为8192。

2.服务器给客户端返回数据

怎么用wireshark抓取udp包 wireshark抓取udp报文_tcp/ip_18

源地址,即服务器地址192.168.1.2的端口号为80,目的地址,即客户端192.169.1.3的随机端口号为2053,序列号为1,下一个序列号为308,也就是说数据载荷为307个数据。确认号为158,表示前面157个数据都收到了,并且期望收到158开始的数据。窗口大小为8035。

3.客户端给服务器发送数据的确认

怎么用wireshark抓取udp包 wireshark抓取udp报文_tcp/ip_19

源地址,即客户端192.169.1.3的随机端口号为2053,目的地址,即服务器192.168.1.2的端口号为80,序列号为158,下一个序列号为158,即数据载荷为0。确认号为308,表示前面307个数据都收到了。标志位为ACK,窗口大小为7885。
步骤七: TCP释放连接进行四次挥手。

第一次挥手:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xaG3Id0-1670255955787)(https://cdn.jsdelivr.net/gh/Sdcardmm/superh-good-chief@main/202212052344558.png)]

怎么用wireshark抓取udp包 wireshark抓取udp报文_网络_20

源地址,即客户端192.169.1.3的随机端口号为2053,目的地址,即服务器192.168.1.2的端口号为80,序列号为158,下一个序列号为159,即数据载荷为1。确认号为308,表示前面307个数据都收到了。标志位为FIN和ACK,窗口大小为7885。

第二次挥手:

怎么用wireshark抓取udp包 wireshark抓取udp报文_udp_21

源地址,即服务器地址192.168.1.2的端口号为80,目的地址,即客户端192.169.1.3的随机端口号为2053,序列号为308,下一个序列号为308,也就是说数据载荷为0。确认号为159,标志位为ACK,窗口大小为8034。

第三次挥手:

怎么用wireshark抓取udp包 wireshark抓取udp报文_端口号_22

源地址,即服务器地址192.168.1.2的端口号为80,目的地址,即客户端192.169.1.3的随机端口号为2053,序列号为308,下一个序列号为309,确认号为159,标志位为FIN和ACK,窗口大小为8034。

第四次挥手:

怎么用wireshark抓取udp包 wireshark抓取udp报文_怎么用wireshark抓取udp包_23

源地址,即客户端192.169.1.3的随机端口号为2053,目的地址,即服务器192.168.1.2的端口号为80,序列号为159,下一个序列号为159,即数据载荷为0。确认号为309。标志位为FIN和ACK,窗口大小为7884。