Wireshark 50项终极实战技巧
涵盖抓包配置、协议解析、故障排查、安全分析、自动化五大维度,每个技巧均附**场景+语法+案例
📌 一、抓包配置篇(10项)
-
多网卡同时抓包
wireshark -i eth0 -i wlan0 -k # Linux多网卡捕获
-
限制抓包大小
捕获 → 选项 → 输入
→ 勾选"多文件"(每100MB分段存储) -
过滤抓包内容(BPF语法)
src host 192.168.1.1 and port 80 # 捕获前过滤
-
抓取VLAN封装流量
编辑 → 首选项 → Protocols → IEEE 802.1Q
→ 启用VLAN解析 -
捕获HTTP对象
文件 → 导出对象 → HTTP
→ 一键提取网页/图片 -
按包长过滤
frame.len <= 64 # 抓取小包(常用于DDOS检测)
-
保存RTP流媒体
电话 → RTP → 流分析
→ 点击"保存音频" -
时间同步校准
视图 → 时间参考
→ 右键包设为参考点(计算相对时间) -
抓取进程流量
tshark -i eth0 -f "port 80" -z "io,stat,1,ip.addr==192.168.1.100" # 统计进程流量
-
虚拟网卡抓包
Docker容器抓包:tshark -i docker0 -f "tcp port 8080"
🔍 二、过滤语法篇(12项)
场景 | 过滤式 | 说明 |
---|---|---|
11. TCP连接状态 | tcp.flags.syn==1 and tcp.flags.ack==0 |
仅抓SYN包(扫描检测) |
12. HTTP跳转跟踪 | http.location |
提取302重定向URL |
13. DNS隧道检测 | dns.qry.name.len > 50 |
过滤长域名(可疑隧道) |
14. IP分片重组 | ip.flags.mf == 1 |
查看分片包 |
15. VoIP通话筛选 | sip.Method == "INVITE" |
抓取SIP呼叫请求 |
16. WebSocket握手 | http contains "Upgrade: websocket" |
识别WS升级请求 |
17. SMTP密码泄露 | smtp.req.command == "AUTH" |
监控认证过程 |
18. ICMP隐蔽隧道 | icmp and data.len > 32 |
检测大载荷ICMP包 |
19. ARP异常 | arp.opcode != 2 |
过滤非ARP响应包 |
20. TCP零窗口 | tcp.window_size == 0 |
定位接收方卡顿 |
21. SSL证书信息 | ssl.handshake.certificate |
提取服务器证书 |
22. DHCP地址冲突 | bootp.option.type == 50 |
抓取DHCP请求包 |
⚠️ 三、协议分析篇(10项)
-
解密TLS 1.3
编辑 → 首选项 → TLS → (Pre)-Master-Secret log路径 # 浏览器设置SSLKEYLOGFILE环境变量
-
解析MySQL查询
mysql.query contains "SELECT" -- 监控SQL语句
-
提取FTP文件
文件 → 导出对象 → FTP
→ 下载传输的文件 -
分析QUIC协议
quic
→ 展开"CRYPTO帧"查看加密信息 -
跟踪SMB文件操作
smb2.cmd == 5 # 文件创建操作
-
解码gRPC流
Protobuf
配置:首选项 → Protocols → Protobuf
添加.proto文件路径 -
查看NTP时间同步
ntp
→ 分析"Stratum"字段(值越小时钟源越优) -
解析工业协议
Modbus/TCP
:过滤modbus.func_code == 6
(写寄存器请求) -
提取Kerberos票据
kerberos
→ 右键"AP-REQ"包 → 导出ASN.1格式票据 -
分析比特币流量
bitcoin.message.command == "tx" # 监控交易广播
🔧 四、故障排查篇(10项)
-
定位TCP乱序
tcp.analysis.out_of_order # 过滤乱序包 → Statistics → TCP Stream Graph → Window Scaling
-
计算HTTP响应时延
http.time > 0.5 # 高延迟请求 → 右键"Follow HTTP Stream"看服务端响应间隔
-
诊断DNS污染
比较多个DNS响应:dns.qry.name == "www.google.com" and dns.flags.response == 1
-
发现广播风暴
IO Graphs
→ Y轴设置:COUNT(eth.dst == ff:ff:ff:ff:ff:ff)
-
检测MTU问题
icmp.type==3 and icmp.code==4 # 抓取"需要分片"ICMP包
-
分析视频卡顿
RTP流分析 → 检查"Jitter"和"Packet Loss"图表 -
定位TCP窗口缩颈
tcp.analysis.window_full # 窗口满包过滤
-
追踪Wi-Fi漫游
wlan.fc.type_subtype == 0x000b # 抓取重关联请求
-
排查IP冲突
arp.duplicate-address-frame # ARP地址冲突包
-
检测中间人攻击
统计 → Endpoints → 检查同一IP的多个MAC地址
🤖 五、自动化篇(8项)
-
批量提取DNS查询
tshark -r traffic.pcap -Y "dns" -T fields -e dns.qry.name > dns_log.txt
-
统计TOP10流量主机
tshark -r file.pcap -qz io,stat,0,"ip.addr" | sort -n -k 6 | tail -n 10
-
自动告警异常流量
tshark -i eth0 -Y "tcp.analysis.retransmission" -c 10 -q | mail -s "重传告警" admin@site.com
-
生成HTTP性能报告
tshark -r http.pcap -Y "http" -T json > http_report.json
-
提取所有URL
tshark -r web.pcap -Y "http.request" -T fields -e http.host -e http.request.uri
-
检测端口扫描
tshark -i eth0 -Y "tcp.flags.syn==1 and tcp.flags.ack==0" -z "io,stat,10,COUNT(frame) frame" -q
-
自动化绘图
tshark -r voip.pcap -qz rtp,streams > rtp_analysis.svg
-
API流量监控
tshark -i any -Y "http.request.method and http.host contains 'api'" -T ek > api_log.json
🧩 六、速查表(5大工程师场景)
角色 | 高频场景 | 核心技巧编号 |
---|---|---|
网络工程师 | 带宽拥塞分析 | 6, 36, 38 |
安全研究员 | 恶意流量捕获 | 13, 18, 42, 48 |
开发工程师 | API接口调试 | 12, 26, 50 |
运维工程师 | 服务器故障定位 | 33, 34, 39 |
渗透测试员 | 敏感信息提取 | 17, 22, 31 |
💎 终极总结
Wireshark的50把手术刀:
✦ 抓包:物理网卡/容器流量/协议对象提取(1-10)
✦ 过滤:语法糖+协议特征精准狙击(11-22)
✦ 协议:从TLS 1.3到比特币的深度解码(23-32)
✦ 排障:网络层→应用层全栈诊断链(33-42)
✦ 自动化:TSHARK打造企业级监控流水线(43-50)
文章标题:Wireshark 50项终极实战技巧
文章链接:https://www.zhongke.fun/Linux/wxzjszjq.html
本站文章均为原创,未经授权请勿用于任何商业用途
推荐阅读:
评论一下?