wireshark 过滤分析

本文详细介绍Wireshark中各种过滤器的使用方法,包括IP、端口、协议、包长度、HTTP模式过滤等,帮助读者掌握精确抓取和显示网络数据包的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、IP过滤:包括来源IP或者目标IP等于某个IP

比如:ip.src addr==192.168.0.208 or ip.src addr eq 192.168.0.208 显示来源IP
ip.dst addr==192.168.0.208 or ip.dst addr eq 192.168.0.208 显示目标IP


二、端口过滤:

比如:tcp.port eq 80 // 不管端口是来源的还是目标的都显示
tcp.port == 80
tcp.port eq 2722
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
过滤端口范围
tcp.port >= 1 and tcp.port <= 80


三、协议过滤:

tcpudp
arp
icmp
http
smtp
ftp
dns
msnms
ip
ssl
等等
排除ssl包,如!ssl 或者 not ssl


四、包长度过滤:

比如:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后


五、http模式过滤:

例子:
http.request.method == “GET”
http.request.method == “POST”
http.request.uri == “/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.”
// GET包包含某头字段
http.request.method == “GET” && http contains “Host: ”
http.request.method == “GET” && http contains “User-Agent: ”
// POST包包含某头字段
http.request.method == “POST” && http contains “Host: ”
http.request.method == “POST” && http contains “User-Agent: ”
// 响应包包含某头字段
http contains “HTTP/1.1 200 OK” && http contains “Content-Type: ”
http contains “HTTP/1.0 200 OK” && http contains “Content-Type: ”


六、连接符

   and / or


七、表达式:

!(arp.src==192.168.1.1) and !(arp.dst.proto_ipv4==192.168.1.243)


八、wireshark filter contains 过滤器的用法

 

1.expert.message是用来对info信息过滤,主要配合contains来使用

2.过滤TCP协议端口5000,且TCP数据中包含有连续的数据:0x00 00 02 00 00 00 00 01 的正确写法如下:

tcp.port==5000 and tcp contains 00-00-02-00-00-00-00-01
不能写为:   tcp.port==5000 and tcp.data contains 0000020000000001
也不能写为: tcp.port==5000 and tcp contains "00-00-02-00-00-00-00-01"
也不能写为: tcp.port==5000 and tcp contains 0x000002

130604:
可以用:ip.addr == 192.168.0.191 && tcp.port==5000 &&   tcp  contains a7-d8-c1
可以用:ip.addr == 192.168.0.191 && tcp.port==5000 &&   data contains a7-d8-c1
不能用:ip.addr == 192.168.0.191 && tcp.port==5000 &&   tcp.data contains a7-d8-c1

九、抓取过滤规则

9.1 只抓取HTTP报文

tcp port 80

解析:上面是只抓取tcp 协议中80端口的包,大部分Web网站都是工作在80端口的,如果碰到了81端口呢?可以使用逻辑运算符or呗!如 tcp port 80 or tcp port 81

9.2 .只抓取arp报文

ether proto 0x0806

解析:ether表示以太网头部,proto表示以太网头部proto字段值为0x0806,这个字段的值表示是ARP报文,如果的ip报文此值为0x8000

9.3 只抓取与某主机的通信

host www.cnblogs.com

只抓取和博客园服务器的通信,src表示源地址,dst表示目标地址

十、显示过滤规则

只是将已经抓取到的包进行过滤显示。

在下方的输入框添入相应的规则点击apply即可,如果需要清除这一次的显示过滤点击Clear即可

1.只显示HTTP报文

tcp.port == 80

2.只显示ARP报文

eth.type == 0x806

3.只显示与某主机的通信

ip.addr == 42.121.252.58

 

<think>嗯,用户现在遇到了手机刷快手极速版视频一直不加载的问题,想知道可能的原因以及如何用Wireshark分析,特别是三次握手是否成功。首先,我需要回顾之前的历史对话,用户之前询问过如何抓包分析快手极速版的域名,现在问题升级到了具体的不加载情况。 用户可能的真实需求是解决视频加载失败的问题,但作为技术支持,需要引导他们通过技术手段排查原因。首先,我应该考虑常见的网络问题方向,比如网络连接、DNS解析、服务器问题、应用本身故障等。然后结合Wireshark的具体分析方法,指导用户如何一步步排查。 用户提到三次握手是否成功,这说明他们对网络基础有一定了解,但可能不清楚如何在Wireshark中验证这一点。需要详细说明如何过滤TCP SYN、SYN-ACK包,查看握手是否完成。同时,可能还有其他原因,比如TLS握手失败、HTTP请求错误等,这些也需要在分析中涵盖。 另外,用户之前已经学习过如何过滤HTTPS和HTTP流量,所以可能需要提醒他们使用类似的过滤命令,但这次要针对连接建立阶段。还需要注意新版应用可能使用HTTP/3或QUIC,这会影响抓包方法,可能需要更新Wireshark版本或使用特定插件。 在回答结构上,应该先列出可能的怀疑方向,再逐一解释如何用Wireshark分析,确保步骤清晰。同时,要考虑到用户的技术水平,避免使用过于专业的术语,但保持准确性。最后,注意事项部分需要包括法律合规性和操作建议,确保用户进行合法分析。</think>以下是针对「快手极速版视频加载失败」的排查思路及Wireshark分析方法,按优先级排序: --- ### **一、核心怀疑方向** 1. **网络连接异常** - 三次握手失败(TCP层问题) - TLS握手失败(HTTPS加密层问题) - DNS解析异常 2. **服务器响应错误** - HTTP 4xx/5xx状态码 - 视频CDN节点故障 3. **应用层异常** - 视频资源请求超时 - 鉴权失效(如token过期) - 协议版本不匹配(HTTP/2 vs HTTP/3) --- ### **二、Wireshark排查方法** #### **(1) 验证三次握手** ```wireshark 过滤命令:tcp.flags.syn == 1 && tcp.flags.ack == 0 # 抓取SYN包 ``` - **成功标志**: - 完整握手流程:`SYN → SYN-ACK → ACK` - 查看目标IP是否来自快手ASN(如`*.kuaishou.com`解析的IP) - **失败特征**: - 仅有SYN包无响应 → 网络阻断 - SYN-ACK后无ACK → 防火墙拦截 - `[RST]`标志 → 连接被重置 #### **(2) 检查TLS握手** ```wireshark 过滤命令:tls.handshake.type == 1 # Client Hello || tls.handshake.type == 2 # Server Hello ``` - 重点观察: - 是否存在`Certificate`报文(服务器证书) - 是否有`Alert`告警(如证书过期/域名不匹配) - SNI字段是否为快手域名(如`*.gifshow.com`) #### **(3) DNS解析验证** ```wireshark 过滤命令:dns # 查看所有DNS请求 ``` - 典型异常: - 响应码`NXDOMAIN`(域名不存在) - 响应延迟>200ms(DNS服务器性能差) - 解析到非常用IP(如`127.0.0.1`可能被劫持) #### **(4) HTTP请求分析** ```wireshark 过滤命令:http.request # 明文HTTP请求 || http.response # 响应分析 ``` - 关键字段: - `GET /api/feed`(视频流接口) - `Host: *.kuaishou.com`(域名验证) - `HTTP/2 206 Partial Content`(分段加载) --- ### **三、典型故障场景对照表** | 现象 | Wireshark特征 | 解决方案 | |-----------------------|---------------------------------------|-----------------------| | 持续加载转圈 | TCP重传>3次 || tcp.analysis.retransmission | 切换网络/CDN测试 | | 黑屏无数据 | HTTP 403/404 || http.response.code >=400 | 清除APP缓存 | | 播放卡在0% | 无`video/mp4` MIME类型响应 | 检查Content-Type头 | | 间歇性加载失败 | 存在`[TCP ZeroWindow]`流量控制 | 排查手机内存/CPU占用 | --- ### **四、高级排查技巧** 1. **统计图表分析** - `Statistics → TCP Stream Graphs → Round Trip Time` 查看RTT波动 - `Statistics → HTTP → Packet Counter` 统计错误请求比例 2. **QUIC协议检测** ```wireshark 过滤命令:quic # 针对HTTP/3流量 ``` - 验证`QUIC Version Negotiation`是否完成 3. **视频CDN检测** - 使用`geoip`插件验证CDN节点地理位置 - 检查`X-Cache: HIT`响应头(缓存命中状态) --- ### **五、注意事项** 1. 需在APP启动后立即开始抓包(避免遗漏初始化请求) 2. 建议同时抓取手机端`adb logcat`日志交叉验证 3. 若使用运营商网络,需排除MTU值不匹配问题(过滤`tcp.analysis.fragment`) 4. 遵守《个人信息保护法》,禁止分析加密视频内容本身 通过上述方法可准确定位到网络层(三次握手)、传输层(TLS)、应用层(HTTP)的具体故障点。若三次握手失败,通常伴随大量TCP重传包(过滤`tcp.analysis.retransmission`),此时应优先排查网络链路质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值