Wireshark抓包——传输层

所用软件

Wireshark

传输层

操作一

熟悉 TCP 和 UDP 段结构
用 Wireshark 任意抓包(可用 tcp 过滤),熟悉 TCP 段的结构,如:源端口、目的端口、序列号、确认号、各种标志位等字段。
用 Wireshark 任意抓包(可用 udp 过滤),熟悉 UDP 段的结构,如:源端口、目的端口、长度等。

ping 10.160.4.161

TCP
利用TCP进行过滤:在这里插入图片描述

展开数据详细信息区间,查看TCP段的结构。如下:在这里插入图片描述
UDP

利用UDP进行过滤:在这里插入图片描述
展开数据详细信息区间,查看TCP段的结构。如下:在这里插入图片描述

操作一相关问题

由上可以看到 UDP 的头部比 TCP 简单得多,但两者都有源和目的端口号。请问源和目的端口号用来干什么?
回答:传输层实现的是端到端的通信,也就是说两台设备之间的进程通信,而进程通信需要两边的确认,因此在传输层无论选择哪种协议,都需要源端口号与目的端口号实现端到端的进程通信。

操作二

打开浏览器访问 qige.io 网站,用 Wireshark 抓包(可用 tcp 过滤后再使用加上 Follow TCP Stream),不要立即停止 Wireshark 捕获,待页面显示完毕后再多等一段时间使得能够捕获释放连接的包。
请在你捕获的包中找到三次握手建立连接的包,并说明为何它们是用于建立连接的,有什么特征。
请在你捕获的包中找到四次挥手释放连接的包,并说明为何它们是用于释放连接的,有什么特征。
显示如下:在这里插入图片描述
Follow TCP Stream:在这里插入图片描述

三次握手的标志位:
客户端发送数据, 序列号seq:标记数据段的顺序。
客户点请求建立连接,确认号ack:期待收到对方下一个报文段的第一个数据字节的序号。
服务端同意建立请求,回复确认。 确认ACK:占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效。
连接建立完成。 同步SYN:连接建立时用于同步序号。
终止FIN:用来释放一个连接。FIN=1表示:此报文段的发送方的数据已经发送完毕,并要求释放运输连接

第一次握手的标志位为SYN,代表客户端请求建立连接:SYN=1 Sep= x
第二次握手由对方发回确认包,标志位为SYN,ACK:SYN=1,ACK=x+1,Sep=Y
第三次握手客户端再次发送确认包:ACK=Y+1,Sep=Z

据此查找发现三次握手的显示如下:在这里插入图片描述

wireshark抓到了三次握手的三个数据包。第四个包是HTTP的,即明HTTP的确是使用TCP建立连接的。

同理,四次挥手释放包的查找也可以用标志位进行查询,如下:
FIN=1,其序列号为seq=u; TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。
客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
服务器发送完数据后,再次向客户端发送连接释放的确认。FIN=1,ack=u+1,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
客户端收到服务器的连接释放报文后,必须发出确认,ACK=1。
服务器只要收到了客户端发出的确认,释放连接。

建立状态:FIN=1, seq=u
服务器确认:ACK=1,seq=u,ack=u+1
服务器询问释放连接:FIN=1, ACK=1,seq=w,ack=u+1
用户端回复:ACK=1,seq=u+1,ack=w+1

据此查找发现四次挥手的显示如下:在这里插入图片描述

操作二相关问题

问题一

去掉 Follow TCP Stream,即不跟踪一个 TCP 流,你可能会看到访问 qige.io 时我们建立的连接有多个。请思考为什么会有多个连接?作用是什么?
回答:
Follow TCP Stream是对ip A port A和ip B port B的对应,加上src/dst的转换。
用tsp过滤了抓包之后,由于存在多个tcp连接,因此会出现多个包,从而不能一下子找到自己想要的包。因此需要分清楚抓到的包是否包含了多个tsp连接的数据。然后找到正确的连接,再使用follow tcp stream功能进行对于TCP流的跟踪。

问题二

我们上面提到了释放连接需要四次挥手,有时你可能会抓到只有三次挥手。原因是什么?
回答:
在最终的数据交换有四次,其中第二次和第三次可以合并,当出现这种情况时就只能抓到三个包。

总结

以上就是利用Wireshark抓包学习传输层的具体内容。

猜你喜欢

转载自blog.csdn.net/qq_44644740/article/details/111536400