skills/analyzing-network-traffic-with-wireshark/SKILL.md
使用 Wireshark 和 tshark 捕获并分析网络数据包,识别恶意流量模式、诊断协议问题、提取工件, 并支持对授权网络分段进行事件响应调查。
npx skillsauth add killvxk/cybersecurity-skills-zh analyzing-network-traffic-with-wiresharkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
不适用于:在未经授权的网络上捕获流量、在没有法律授权的情况下拦截私人通信,或作为生产监控中全功能 SIEM 平台的替代品。
wireshark 组设置捕获接口和过滤器,锁定相关流量:
# 列出可用接口
tshark -D
# 在 eth0 上启动捕获,使用捕获过滤器限制范围
tshark -i eth0 -f "host 10.10.5.23 and (port 80 or port 443 or port 445)" -w /tmp/capture.pcapng
# 使用环形缓冲区捕获以管理磁盘占用(10 个文件,每个 100MB)
tshark -i eth0 -b filesize:102400 -b files:10 -w /tmp/rolling_capture.pcapng
# 同时在多个接口上捕获
tshark -i eth0 -i eth1 -w /tmp/multi_interface.pcapng
对于 Wireshark GUI,在开始捕获前在"Capture Options"对话框中设置捕获过滤器。
# 过滤包含可疑 User-Agent 的 HTTP 流量
tshark -r capture.pcapng -Y "http.user_agent contains \"curl\" or http.user_agent contains \"Wget\""
# 查找指向可疑顶级域名的 DNS 查询
tshark -r capture.pcapng -Y "dns.qry.name contains \".xyz\" or dns.qry.name contains \".top\" or dns.qry.name contains \".tk\""
# 识别表明网络问题的 TCP 重传
tshark -r capture.pcapng -Y "tcp.analysis.retransmission"
# 过滤用于横向移动检测的 SMB 流量
tshark -r capture.pcapng -Y "smb2.cmd == 5 or smb2.cmd == 3" -T fields -e ip.src -e ip.dst -e smb2.filename
# 查找明文凭据传输
tshark -r capture.pcapng -Y "ftp.request.command == \"PASS\" or http.authbasic"
# 检测信标模式(规律间隔的连接)
tshark -r capture.pcapng -Y "ip.dst == 203.0.113.50" -T fields -e frame.time_relative -e ip.src -e tcp.dstport
# 跟踪 TCP 流以重建对话
tshark -r capture.pcapng -q -z follow,tcp,ascii,0
# 分析 HTTP 请求/响应对
tshark -r capture.pcapng -Y "http" -T fields -e frame.time -e ip.src -e ip.dst -e http.request.method -e http.request.uri -e http.response.code
# 提取 DNS 查询/响应统计
tshark -r capture.pcapng -q -z dns,tree
# 分析 TLS 握手以检测弱密码套件
tshark -r capture.pcapng -Y "tls.handshake.type == 2" -T fields -e ip.src -e ip.dst -e tls.handshake.ciphersuite
# SMB 文件访问枚举
tshark -r capture.pcapng -Y "smb2" -T fields -e frame.time -e ip.src -e ip.dst -e smb2.filename -e smb2.cmd
# 导出 HTTP 对象(通过 HTTP 传输的文件)
tshark -r capture.pcapng --export-objects http,/tmp/http_objects/
# 导出 SMB 对象(通过 SMB 传输的文件)
tshark -r capture.pcapng --export-objects smb,/tmp/smb_objects/
# 提取所有唯一目标 IP 用于威胁情报查询
tshark -r capture.pcapng -T fields -e ip.dst | sort -u > unique_dest_ips.txt
# 提取 SSL/TLS 证书信息
tshark -r capture.pcapng -Y "tls.handshake.type == 11" -T fields -e x509sat.uTF8String -e x509ce.dNSName
# 提取所有访问的 URL
tshark -r capture.pcapng -Y "http.request" -T fields -e http.host -e http.request.uri | sort -u > urls.txt
# 对提取的文件进行哈希,用于 IOC 匹配
find /tmp/http_objects/ -type f -exec sha256sum {} \; > extracted_file_hashes.txt
# 协议层级统计
tshark -r capture.pcapng -q -z io,phs
# 按字节数排序的对话统计
tshark -r capture.pcapng -q -z conv,tcp -z conv,udp
# 识别最活跃主机
tshark -r capture.pcapng -q -z endpoints,ip
# IO 图数据(每秒数据包数)
tshark -r capture.pcapng -q -z io,stat,1,"COUNT(frame) frame"
# 检测端口扫描模式
tshark -r capture.pcapng -Y "tcp.flags.syn == 1 and tcp.flags.ack == 0" -T fields -e ip.src -e tcp.dstport | sort | uniq -c | sort -rn | head -20
# 将过滤后的数据包导出到新 PCAP 用于证据保全
tshark -r capture.pcapng -Y "ip.addr == 10.10.5.23 and tcp.port == 4444" -w evidence_c2_traffic.pcapng
# 以 CSV 格式生成数据包摘要
tshark -r capture.pcapng -T fields -E header=y -E separator=, -e frame.number -e frame.time -e ip.src -e ip.dst -e ip.proto -e tcp.srcport -e tcp.dstport -e frame.len > traffic_summary.csv
# 创建 PDML(XML)输出用于程序化分析
tshark -r capture.pcapng -T pdml > capture_analysis.xml
# 计算捕获文件哈希值用于证据监管链
sha256sum capture.pcapng > capture_hash.txt
| 术语 | 定义 | |------|------------| | 捕获过滤器(BPF) | 在捕获时应用的伯克利数据包过滤器(Berkeley Packet Filter)语法,用于限制记录的数据包,减小文件大小并提升性能 | | 显示过滤器 | Wireshark 特有的过滤器语法,应用于已捕获的数据包以进行聚焦分析,不修改捕获文件 | | PCAPNG | 下一代数据包捕获格式,支持在单个文件中存储多个接口、名称解析、注释和元数据 | | TCP 流 | 重组后的 TCP 分段序列,代表两个端点之间完整的双向会话 | | 协议解析器 | Wireshark 模块,用于解码特定协议的字段和结构,实现对数据包内容的深度检查 | | IO 图 | 捕获期间数据包或字节速率的时序可视化,用于识别流量峰值或信标行为 |
场景背景:安全运营中心(SOC)团队检测到一台工作站(10.10.3.45)向外部域名发出异常高频的 DNS 查询。SIEM 告警显示 DNS 查询平均每分钟 200 次,而基线为 15 次。已在工作站所在 VLAN 的网络分路器上启动数据包捕获。
方法:
tshark -i eth2 -f "host 10.10.3.45 and port 53" -w dns_exfil_investigation.pcapng 从工作站子网捕获流量tshark -r dns_exfil_investigation.pcapng -Y "dns.qry.name contains \"suspect-domain.xyz\"" -T fields -e frame.time -e dns.qry.nametshark -r dns_exfil_investigation.pcapng -Y "dns.qry.type == 16" -T fields -e dns.qry.name -e dns.txt常见陷阱:
## 流量分析报告
**案例 ID**: IR-2024-0847
**捕获文件**: dns_exfil_investigation.pcapng
**SHA-256**: a3f2b8c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1
**时间范围**: 2024-03-15 14:00:00 至 14:45:00 UTC
**源接口**: eth2(VLAN 30 SPAN 端口)
### 发现
**1. DNS 隧道确认**
- 源:10.10.3.45
- 目标 DNS:8.8.8.8(转发至 ns1.suspect-domain.xyz)
- 查询量:45 分钟内 9,247 次查询(205 次/分,基线为 15 次/分)
- 平均子域名标签长度:63 字符(base64 编码数据)
- 估计外泄数据量:通过 TXT 记录响应约 2.3 MB
**2. 失陷指标**
- 域名:suspect-domain.xyz(注册于 3 天前)
- 名称服务器:ns1.suspect-domain.xyz(203.0.113.50)
- 查询模式:带 base64 编码子域名的 TXT 记录请求
- 响应模式:包含 base64 编码载荷的 TXT 记录
testing
设计并执行社会工程学渗透测试,包括钓鱼、语音钓鱼、短信钓鱼和物理借口活动,以衡量人员安全韧性并识别培训差距。
testing
主持结构化的事件后审查,以识别根本原因、记录有效和无效的措施,并提出可操作的改进建议以提升未来的事件响应能力。
testing
通过分析举报的邮件、提取指标、评估凭据受攻陷情况、在全组织范围隔离恶意邮件并修复受影响账号来响应网络钓鱼事件。涵盖邮件头分析、URL/附件沙箱检测和邮箱范围清除操作。适用于网络钓鱼响应、邮件事件、凭据钓鱼、鱼叉式网络钓鱼调查或钓鱼修复相关请求。
tools
票据传递(Pass-the-Ticket,PtT)是一种横向移动技术,使用窃取的 Kerberos 票据(TGT 或 TGS)在不知道用户密码的情况下向服务进行认证。通过从已控制的主机内存中提取 Kerberos 票据,攻击者可以将这些票据注入自己的会话以模拟票据所有者。