目录
一、抓包准备工作
安装wireshark
sudo apt update
sudo apt install wireshark
运行
二、WireShark工具面板分析
上图中所显示的信息从上到下分布在 3 个面板中,每个面板包含的信息含义如下:
Packet List 面板:显示 Wireshark 捕获到的所有数据包,这些数据包从 1 进行顺序编号。
Packet Details 面板:显示一个数据包的详细内容信息,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。
Packet Bytes 面板:显示一个数据包未经处理的原始样子,数据是以十六进制和 ASCII 格式进行显示。
在Packet Details面板中:
Frame:物理层的数据帧概况。
Ethernet II:数据链路层以太网帧头部信息。
Internet Protocol Version 4:互联网层IP包头部信息。
Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。
面板数据解析
双击packet list面板数据包
Frame 6: 87 bytes on wire (696 bits), 87 bytes captured (696 bits) on interface lo, id 0 (第6帧数据,线路87字节,实际捕获87字节)
Section number: 1
Interface id: 0 (lo)(接口id)
Encapsulation type: Ethernet (1)(封装类型)
Arrival Time: Jan 9, 2024 09:07:39.315583109 CST(捕获日期和时间)
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1704762459.315583109 seconds
[Time delta from previous captured frame: 0.000184924 seconds]
(此包与前一个包的时间间隔)
[Time delta from previous displayed frame: 0.000184924 seconds]
[Time since reference or first frame: 1.000935456 seconds]
(此包与第一帧的时间间隔)
Frame Number: 6 (帧序号)
Frame Length: 87 bytes (696 bits) (帧长度)
Capture Length: 87 bytes (696 bits)(捕获长度)
[Frame is marked: False] (此帧是否做了标记,false否)
[Frame is ignored: False](此帧是否做了标记,false否)
[Protocols in frame: eth:ethertype:ip:tcp:data](帧内封装层次协议结构,eth:ethertype:ip:tcp,以太网,以太网协议,ip,tcp)
[Coloring Rule Name: TCP](着色标记的协议名称)
[Coloring Rule String: tcp](着色显示的字符串)
Ethernet II, Src: 00:00:00_00:00:00 (00:00:00:00:00:00), Dst: 00:00:00_00:00:00 (00:00:00:00:00:00)
Destination: 00:00:00_00:00:00 (00:00:00:00:00:00)(目标地址)
Source: 00:00:00_00:00:00 (00:00:00:00:00:00)(源mac地址)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1(ipv4协议)
Transmission Control Protocol, Src Port: 8877, Dst Port: 60856, Seq: 1, Ack: 17, Len: 21
Data (21 bytes)(tcp协议)
三、TCP三次握手抓取
1.第一次握手
第一次握手建立连接时,客户端向服务器发送SYN报文(Seq=x,SYN=1),并进入SYN_SENT状态,等待服务器确认。
2.第二次握手
第二次握手实际上是分两部分来完成的,即SYN+ACK(请求和确认)报文。
(1)服务器收到了客户端的请求,向客户端回复一个确认信息(Ack=x+1)。
(2)服务器再向客户端发送一个SYN包(Seq=y)建立连接的请求,此时服务器进入SYN_RECV状态。
3.第三次握手
第三次握手客户端收到服务器的回复(SYN+ACK报文)。此时,客户端也要向服务器发送确认包(ACK)。此包发送完毕客户端和服务器进入ESTABLISHED 状态,完成三次握手。此时就可以进行数据传输了。
右键追踪流,点击tcp