文章目录一、为什么 Wireshark 是安全人必备技能二、抓包前 30 秒选对网卡、少踩坑2.1 选哪个接口2.2 开始抓包2.3 显示过滤器 vs 捕获过滤器三、过滤器 #1ip.addr — 锁定「谁在和谁说话」3.1 语法3.2 典型场景3.3 实战示例3.4 常见变体四、过滤器 #2tcp.port / udp.port — 锁定服务4.1 语法4.2 典型场景4.3 组合最常用套路4.4 安全分析五、过滤器 #3http / tls / 协议名 — 直接看应用层5.1 语法5.2 典型场景5.3 HTTP 深挖开发/渗透高频5.4 HTTPS 说明六、过滤器 #4tcp.flags — 看穿握手、扫描与攻击6.1 语法6.2 TCP 标志速查6.3 典型排障6.4 与 nmap 对照七、过滤器 #5frame contains / matches — 搜关键字与特征5.1 语法5.2 典型场景5.3 安全狩猎示例八、五过滤器组合一张速查表8.1 黄金组合公式九、四个实战排障剧本练完即会剧本 Acurl 不通是 DNS 还是 TCP剧本 BHTTP 200 但页面不对剧本 C怀疑被 ARP 欺骗中间人剧本 DSYN 洪水复盘接上一篇十、三个必会 Wireshark 操作配合过滤器十一、显示过滤器语法小抄十二、常见踩坑十三、动手练习30 分钟十四、本篇小结附录 A5 过滤器书签复制到 Wireshark附录 B命令行互补服务器无 GUI一、为什么 Wireshark 是安全人必备技能很多问题的答案藏在「包」里网站打不开 → DNS 解析失败TCP 握手失败TLS 证书错 接口超时 → 请求发出去了吗服务端有响应吗 被攻击了 → 大量 SYN异常 User-AgentDNS 隧道 渗透后排查 → Webshell 外联去哪C2 心跳周期多少Wireshark是最常用的图形化抓包分析工具。新手最怕的不是不会抓而是抓了几万条包不知道过滤什么越看越懵。本文只讲5 个过滤器 组合用法覆盖日常80% 排障与安全分析场景。练熟这 5 个再复杂的包也能快速缩小范围。二、抓包前 30 秒选对网卡、少踩坑2.1 选哪个接口场景推荐接口分析本机访问本机服务Loopback: lo0macOS/Npcap LoopbackWindows分析 VM 靶场Host-Only虚拟网卡如vboxnet0分析 WiFi 流量无线网卡需监听模式部分系统受限分析远程服务器在服务器上 tcpdump下载 pcap 用 Wireshark 看原则抓「流量经过的那张网卡」不是随便选 WiFi。2.2 开始抓包1. 打开 Wireshark → 选接口 → 双击开始捕获 2. 复现问题浏览器访问、curl、扫描等 3. 点红色 ■ 停止捕获 4. 立即 Save As → xxx.pcap证据留存2.3 显示过滤器 vs 捕获过滤器类型输入位置作用时机比喻显示过滤器本文重点顶部绿色/浅色栏抓完后筛选已抓到的包从照片里找人脸捕获过滤器Capture Options抓之前就丢弃无关包拍照时只拍某条路入门先学显示过滤器——写错了不会丢数据改一下就行。三、过滤器 #1ip.addr— 锁定「谁在和谁说话」3.1 语法ip.addr 192.168.56.20匹配源或目的 IP等于该地址的所有包双向。3.2 典型场景场景过滤器只看 Kali 与靶机通信ip.addr 192.168.56.10 or ip.addr 192.168.56.20更简单两者之间的流ip.addr 192.168.56.20靶机所有相关包排除本机噪声先ip.addr 目标IP再叠加其他条件3.3 实战示例靶场中 Kalicurl http://192.168.56.30抓包后ip.addr 192.168.56.30 tcp.port 80瞬间从几万条缩到 HTTP 相关几十条。3.4 常见变体ip.src 10.0.0.1 # 只看从该 IP 发出的 ip.dst 10.0.0.1 # 只看发往该 IP 的 ip.addr 192.168.1.0/24 # 不支持 CIDR需用下方技巧CIDR 网段用ip.addr 192.168.56.0 ip.addr 192.168.56.255或捕获阶段用 BPFnet 192.168.56.0/24。四、过滤器 #2tcp.port/udp.port— 锁定服务4.1 语法tcp.port 443 udp.port 53匹配源或目的端口双向。4.2 典型场景场景过滤器Web HTTPtcp.port 80HTTPStcp.port 443DNSudp.port 53或dnsSSHtcp.port 22MySQLtcp.port 3306排除 HTTPS 只看 HTTPtcp.port 80 !(tcp.port 443)→ 简写tcp.port 804.3 组合最常用套路ip.addr 192.168.56.30 tcp.port 80解读我和某台机器之间80 端口上的所有 TCP 包——Web 排障起手式。4.4 安全分析# 可疑内网主机连外网 4444常见反弹 Shell 端口 ip.addr 192.168.56.10 tcp.port 4444 # Redis 未授权探测 tcp.port 6379 ip.addr 192.168.56.20五、过滤器 #3http/tls/ 协议名 — 直接看应用层5.1 语法Wireshark 内置协议解析器可直接按协议过滤http tls dns icmp arp5.2 典型场景场景过滤器只看 HTTP 请求响应httpHTTPS 握手分析看不到明文tlsDNS 解析问题dnsPing 不通icmp局域网 ARP 异常arp5.3 HTTP 深挖开发/渗透高频http.request.method GET http.request.method POST http.request.uri contains admin http.response.code 404 http.response.code 500 http.host api.example.com一条定位登录接口http.request.uri contains login http.request.method POST右键包 →Follow → HTTP Stream看完整请求/响应。5.4 HTTPS 说明tls过滤器能看到Client Hello、证书、握手看不到HTTP 明文除非配置了 SSLKEYLOGFILE 解密——进阶话题。排障 HTTPS 时常见结论有Client Hello无Server Hello→ 服务端未响应 / 被墙 / 端口错有握手但证书告警 → 证书过期、域名不匹配六、过滤器 #4tcp.flags— 看穿握手、扫描与攻击6.1 语法tcp.flags.syn 1 tcp.flags.reset 1 tcp.flags.syn 1 tcp.flags.ack 06.2 TCP 标志速查过滤器含义场景tcp.flags.syn 1 tcp.flags.ack 0纯 SYN连接发起、端口扫描、SYN Floodtcp.flags.syn 1 tcp.flags.ack 1SYN-ACK服务端同意连接tcp.flags.reset 1RST端口关闭、连接被重置、IDS 阻断tcp.flags.fin 1FIN正常关闭tcp.stream eq 0第 0 条 TCP 流跟一条完整连接6.3 典型排障① 网站「连接被拒绝」ip.addr 目标IP tcp.flags.reset 1看到 RST → 端口未监听或防火墙 REJECT。② 三次握手是否完成ip.addr 192.168.56.30 tcp.port 80 tcp.flags.syn 1有 SYN → 有 SYN-ACK → 有 ACK握手成功只有 SYN 无 SYN-ACK服务未开 / 被丢包③ SYN 扫描 / SYN Flood 检测tcp.flags.syn 1 tcp.flags.ack 0配合Statistics → Conversations → IPv4看是否单一源 IP 爆发大量 SYN。6.4 与 nmap 对照nmap-sS192.168.56.20抓包应看到大量SYN出去开放端口回SYN-ACK关闭端口回RST。七、过滤器 #5frame contains/matches— 搜关键字与特征5.1 语法frame contains password http.host contains evil.com dns.qry.name contains tunnel tcp contains User-Agent操作符说明contains包含字符串不区分大小写部分版本matches正则如http.host matches .*\\.evil\\.com5.2 典型场景场景过滤器抓包中搜密码字段frame contains password某域名 DNS 查询dns.qry.name contains baidu恶意 User-Agenthttp.user_agent contains sqlmapJSON 接口关键字frame contains \token\明文 HTTP 传参http.request.uri contains id15.3 安全狩猎示例# DNS 隧道嫌疑异常长子域 dns frame contains longrandomsubdomain # 明文传输敏感头 http.authorization # WebShell 特征需结合环境 http.request.uri contains .php http.request.method POST注意frame contains会扫整个包负载比协议字段过滤慢先ip.addr/tcp.port缩小再搜。八、五过滤器组合一张速查表#过滤器一句话用途覆盖场景占比1ip.addr锁定通信双方~25%2tcp.port/udp.port锁定服务端口~20%3http/dns/tls看应用层协议~20%4tcp.flags握手、RST、扫描、Flood~10%5frame contains搜关键字、特征~5%组合上面 23 个用连接剩余 80%8.1 黄金组合公式ip.addr 目标 tcp.port 端口 协议或特征示例# Web 404 排查 ip.addr 192.168.56.30 tcp.port 80 http.response.code 404 # HTTPS 握手失败 ip.addr 10.0.0.5 tcp.port 443 tls # DNS 污染排查 dns dns.qry.name contains target.com # 内网 SYN 异常 ip.addr 192.168.56.20 tcp.flags.syn 1 tcp.flags.ack 0九、四个实战排障剧本练完即会剧本 Acurl 不通是 DNS 还是 TCPcurl-vhttp://test.local步骤过滤器结论1dns有无 DNS 查询响应码2ip.addr 解析出的IP有没有 TCP 包3tcp.flags.syn 1SYN 有无 SYN-ACK4tcp.flags.reset 1是否被 RST剧本 BHTTP 200 但页面不对ip.addr 服务器IP http→Follow HTTP Stream→ 看响应体是否被 CDN/代理替换、是否 gzip 乱码、是否 302 跳转到登录页。剧本 C怀疑被 ARP 欺骗中间人arp→ 同一 IP 是否对应多个 MAC是否频繁 ARP Who-Has 广播剧本 DSYN 洪水复盘接上一篇ip.addr 受害IP tcp.flags.syn 1 tcp.flags.ack 0→Statistics → I/O Graph看 SYN 速率曲线。十、三个必会 Wireshark 操作配合过滤器操作路径用途Follow Stream右键 → Follow → TCP/HTTP Stream看完整会话Export ObjectsFile → Export Objects → HTTP导出 HTTP 传文件ConversationsStatistics → Conversations谁和谁流量最大I/O GraphStatistics → I/O Graph流量时间线Expert Info左下角或 Analyze → Expert Information自动标警告、重传、乱序Expert Info 颜色红色 Error严重校验和错、畸形包黄色 Warning重传、重复 ACK蓝色 Note正常提示十一、显示过滤器语法小抄 与同时满足 || 或 ! 非 等于 ! 不等于 比较用于 seq、time 等 contains 包含子串 matches 正则匹配括号复杂条件加括号如(ip.addr 1.1.1.1 || ip.addr 2.2.2.2) tcp.port 80保存常用过滤器输入栏右侧保存为书签下次一键点选。十二、常见踩坑问题原因解决过滤后一条都没有语法错 / 协议未解析看左下角是否变红先ip.addr单条件试HTTPS 看不到 HTTP 内容TLS 加密正常分析握手或用解密配置本机访问本机抓不到没选 Loopback装 Npcap loopback / 抓 lo0包太多卡死抓太久捕获过滤器缩小范围或先抓 30 秒http过滤为空但端口是 80实际是 TLS 或二进制协议改tcp.port 80看原始负载时间不对时区View → Time Display Format 调本地时间十三、动手练习30 分钟□ 1. 抓一次 curl http://靶机IP 的 lo0/Host-Only 包 □ 2. 用 ip.addr tcp.port 80 过滤数出几条 HTTP 请求 □ 3. 用 tcp.flags 标出 SYN、SYN-ACK、ACK 三条 □ 4. Follow HTTP Stream 复制完整 GET 请求 □ 5. 用 http.response.code 过滤找所有 404若有 □ 6. 保存 3 个书签过滤器到 Wireshark十四、本篇小结┌─────────────────────────────────────────────────────────────┐ │ Wireshark 5 过滤器 核心记忆 │ ├─────────────────────────────────────────────────────────────┤ │ 1. ip.addr → 谁在和谁通信 │ │ 2. tcp.port → 哪个服务 │ │ 3. http/dns/tls → 什么应用协议 │ │ 4. tcp.flags → 握手/扫描/RST/Flood │ │ 5. frame contains → 搜关键字与特征 │ │ 黄金公式ip.addr tcp.port 协议/特征 │ └─────────────────────────────────────────────────────────────┘下一篇预告《DNS 安全攻防缓存投毒、DNS 隧道与检测实战》——过滤器 #3 的dns会用到极致。附录 A5 过滤器书签复制到 Wireshark名称: 目标主机全流量 过滤: ip.addr 192.168.56.20 名称: Web-HTTP 过滤: ip.addr 192.168.56.20 tcp.port 80 http 名称: Web-HTTPS握手 过滤: ip.addr 192.168.56.20 tcp.port 443 tls 名称: 纯SYN检测 过滤: tcp.flags.syn 1 tcp.flags.ack 0 名称: DNS查询 过滤: dns附录 B命令行互补服务器无 GUI# 抓 100 个 HTTP 相关包sudotcpdump-ieth0-wweb.pcaptcp port 80-c100# 实时看 SYNsudotcpdump-ieth0tcp[tcpflags] tcp-syn ! 0 and tcp[tcpflags] tcp-ack 0# 下载到本地用 Wireshark 分析scpuserserver:/tmp/web.pcap ./