Wireshark分析TCP连接建立过程

Wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

通过Wireshark的抓包数据可以获取那些信息呢?

Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

Paste_Image.png

Paste_Image.png

小写的ack表示ACK number

一个TCP三次握手的实例

Paste_Image.png

观察第一个TCP报文段:客户端想服务器发送的请求连接包

Paste_Image.png

重要的数据,SYN=1, seq=0 (sequence number),表示连接请求

第二个TCP报文段:服务器向客户端发送的确认报文段

Paste_Image.png

重要数据,SYN=1,seq=0,ACK=1(并不是ACK number,值为1时,表示确认号 字段 有效),ACK number=1(这个才是确认号,表示期望收到对方 下一段报文段的 第一个 数据字节 的 序号sequence number,也就是说希望下一段的seq=1,这个也表示1之前的数据包已经接受了)

第三个TCP报文段:客户端向服务器发送的确认报文段

重要数据,ACK=1, seq=1, ACK number=1

注意区分ACK和ACK number

这样就完成了TCP三次握手,连接建立完成

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP协议的连接过程主要分为三个阶段:建立连接阶段、数据传输阶段和释放连接阶段。下面是wireshark深入分析TCP协议的连接过程。 1. 建立连接阶段 在TCP协议中,建立连接需要进行“三次握手”。wireshark可以通过抓取网络数据分析这个过程。首先,客户端向服务器发送SYN,表示请求连接。服务器接收到SYN后,回复一个SYN+ACK表示同意连接。最后,客户端再回复一个ACK,表示确认连接已经建立。 在wireshark中,可以使用过滤器“tcp.flags.syn==1”来查找SYN,使用过滤器“tcp.flags.syn==1 && tcp.flags.ack==1”来查找SYN+ACK,使用过滤器“tcp.flags.ack==1”来查找ACK。 2. 数据传输阶段 建立连接后,客户端和服务器就可以进行数据传输了。在TCP协议中,数据传输采用“面向连接”的方式,即每次发送数据前需要先建立连接wireshark可以通过抓取网络数据分析数据传输过程。在数据传输过程中,每个数据含了序号和确认序号,用于保证数据的可靠传输。 在wireshark中,可以使用过滤器“tcp.stream eq X”(X代表TCP连接的编号)来查找某个TCP连接的数据。 3. 释放连接阶段 在TCP协议中,释放连接需要进行“四次挥手”。wireshark可以通过抓取网络数据分析这个过程。首先,客户端向服务器发送FIN,表示请求断开连接。服务器接收到FIN后,回复一个ACK表示已经收到请求。然后,服务器也向客户端发送FIN,表示同意断开连接。最后,客户端回复一个ACK,表示确认连接已经断开。 在wireshark中,可以使用过滤器“tcp.flags.fin==1”来查找FIN,使用过滤器“tcp.flags.fin==1 && tcp.flags.ack==1”来查找ACK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值