type
status
date
slug
summary
tags
category
icon
password
记录常用的wireshark抓包中的技巧
常用命令
过滤规则篇
ip过滤
协议过滤
tcp | 过滤TCP协议的数据包。 |
udp | 过滤UDP协议的数据包。 |
icmp | 过滤ICMP协议的数据包。 |
http | 过滤HTTP协议的数据包。 |
dns | 过滤DNS协议的数据包。 |
ip.addr == 192.168.0.1 | 过滤源或目标IP地址为192.168.0.1的数据包。 |
ip.src == 192.168.0.1 | 过滤源IP地址为192.168.0.1的数据包。 |
ip.dst == 192.168.0.1 | 过滤目标IP地址为192.168.0.1的数据包。 |
tcp.port == 80 | 过滤目标端口为80的TCP数据包。 |
ip.proto == 6 | 过滤协议为TCP的数据包。 |
TCP握手/挥手分析篇
TCP中的Flag标志
TCP三次握手建立链接
- 第一次握手:
在这个例子中,我们可以看到它是一个SYN包,源IP地址是192.168.1.100,目标IP地址是216.58.221.4。
- 第二次握手:
在这个例子中,我们可以看到它是一个SYN-ACK包,源IP地址是216.58.221.4,目标IP地址是192.168.1.100。
- 第三次握手:

TCP四次挥手
- 第一次挥手:
- 第二次挥手:
- 第三次挥手:
- 第四次挥手:
其中第三次挥手和第四次挥手的数据包与第一次和第二次挥手的数据包类似,只是源和目标端口号互换。

HTTP请求分片分析
wireshark分片请求, 部分item

标记分析
- ACK: 标志用于确认接收数据。当接收到带有ACK标志的TCP段时,表示接收方已经接收到包括ACK段中指定的序列号在内的所有数据。
- PSH: 标志用于指示发送TCP实体应尽快将数据推送到接收应用程序。当发送的数据是时间敏感或关键的,并且不应延迟时,这是非常有用的。
在HTTP协议中,一个HTTP请求可以被拆分成多个TCP数据包进行传输。如果一个HTTP请求跨越了多个TCP数据包,那么其中的一个或多个数据包可以被标记为PSH,以便让接收方立即将这些数据交付给HTTP应用程序。
所以,当一个TCP数据包的PSH标志被设置时,这意味着该数据包中的数据应该立即交付给上层应用程序,而不需要等待缓冲区填满或者等待一段时间后才交付。如果这个TCP数据包包含HTTP请求的一部分或全部数据,那么它可以被视为带有HTTP请求数据的TCP分片数据包之一。
为什么tcp分片每隔一段时间就出现一条带有PSH的
TCP分片的产生是由于TCP协议本身有最大传输单元(MTU)限制,当需要传输的数据包大于MTU时,TCP就会把数据分成多个片段来传输,接收端则需要把这些片段组装起来。每隔一段时间出现带有PSH标志的分片则可能是因为发送方的应用层在发送数据时,把数据放到TCP缓存区中,当缓存区中的数据达到一定量或者一定时间间隔时,TCP就会发送一个带有PSH标志的数据包,表示应该立即将缓存区中的数据发送出去。这可以提高数据传输的实时性,避免因等待缓存区填满而导致传输延迟过长。
- 作者:leiax00
- 链接:https://blog.leiax00.cn/article/wireshark
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。