1.高频使用的 Wireshark 过滤语句
以下是流量取证分析中高频使用的 Wireshark 过滤语句,按取证场景分类:
一、(tcp)基础协议与连接分析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| ip.addr == 192.168.1.100
tcp.port == 80 udp.port == 53
tcp.flags.syn == 1 && tcp.flags.ack == 0
tcp.flags.fin == 1
tcp.flags.reset == 1
tcp.analysis.retransmission
tcp.flags.ack == 1 && tcp.len == 0 && tcp.window_size == 0
|
二、(http)HTTP Web取证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| http.request.method == "GET"
http.request.method == "POST"
http.response.code == 404 http.response.code != 404 http.response.code >= 500
http.request.uri contains "cmd" http.request.uri contains "../../../../" http.request.uri contains "/dbadmin/test_db.php"
http.user_agent contains "sqlmap" http.user_agent contains "nmap" http.user_agent contains "python-requests"
http.content_length > 10000000
http.request.uri contains ".php?" && http.request.method == "POST"
url路径包含 http.request.uri.path=="/dbadmin/test_db.php"
|
三、(dns)DNS 隧道与异常检测
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| dns.qry.name.len > 50
dns.qry.type == 16
dns && ip.addr == 192.168.1.100
dns.flags.rcode == 3
dns.resp.len > 200
|
四、恶意流量与攻击痕迹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| tcp.flags.syn == 1 && tcp.flags.ack == 0
tcp.flags.syn == 1 && tcp.flags.ack == 0 && tcp.analysis.retransmission
smb.cmd == 0x25 smb2.cmd == 9
tcp.port == 22 && tcp.flags.syn == 1 tcp.port == 3389 && tcp.flags.syn == 1
icmp && data.len > 64
|
五、文件传输检测
1 2 3 4 5 6 7 8 9 10 11
| ftp.request.command == "USER" or ftp.request.command == "PASS" ftp-data
smb.cmd == 0x2b smb.file_name contains ".exe"
smtp.data.fragment contains "Content-Disposition: attachment" smtp.data.fragment contains ".exe"
|
六、(ip源和目的地)高级组合过滤
1 2 3 4 5 6 7 8 9 10 11
| ip.src == 10.0.0.0/8 && ip.dst != 10.0.0.0/8
ip.src == 192.168.1.0/24 && ip.dst == 192.168.1.0/24 && tcp.port > 10000
ip.src == 192.168.1.100 && frame.len > 10000 && (hour == 2 || hour == 3)
tcp.flags.push == 1 && tcp.len < 100 && ip.addr == 192.168.1.100
|
七、快捷统计技巧
1 2 3 4 5 6 7 8
| ip.addr == 192.168.1.100 && tcp.port == 80
右键 → 应用为列 → http.user_agent
文件 → 导出特定分组 → 显示分组
|
2.追踪流:http流和tcp流
在电子取证流量分析中,追踪TCP流和HTTP流是两种互补但应用场景不同的技术。以下是它们的追踪场景和选择原则:
一、追踪HTTP流的适用场景
HTTP流追踪专注于应用层HTTP协议细节,适合分析Web应用层攻击和数据:
- Web应用攻击分析
- SQL注入、XSS攻击:通过
http contains筛选恶意payload
- 后台暴破:追踪登录请求/响应流,查看用户名密码(如搜索结果9中筛选
/admin/login.php)
- 一句话木马:识别POST请求中的
eval、base64等特征
- HTTP传输文件提取
- 直接导出HTTP对象:
File > Export Objects > HTTP...提取恶意样本、WebShell、被盗文件
- 分析文件名、MD5/SHA1哈希值等元数据
- 协议规范分析
- 查看完整的HTTP请求头、响应码(如302跳转)、Cookie、User-Agent
- 分析RESTful API调用、AJAX请求
- 快速定位Web行为
- 按URL、请求方法(GET/POST)过滤后追踪流,直观查看交互内容
二、追踪TCP流的适用场景
TCP流追踪提供传输层会话的原始字节流,适合需要查看底层数据的深度分析:
- 命令执行与交互分析
- 通过WebShell执行的系统命令:如搜索结果9中追踪TCP流解码
ifconfig命令
- 交互式会话:Telnet、SSH、数据库查询、C&C通信的明文内容
- 非标准或隧道通信
- 非标准端口的HTTP服务
- HTTP隧道、端口转发等隐蔽通信
- 文件重组与提取
- 当HTTP对象提取失败时,手动追踪TCP流保存原始数据(如搜索结果12中保存为rar文件)
- 分析文件签名(Magic Number)恢复被截断的文件
- 加密流量分析
- HTTPS流量:TCP流显示TLS握手和加密数据,可分析证书、加密套件(搜索结果2)
- 识别心跳包、连接保持等TCP层行为
- 协议异常检测
- 查看TCP序列号、重传、窗口大小异常
- 发现协议混淆或伪装(如HTTP协议运行在非80端口)
三、实战选择原则
| 场景特征 |
推荐追踪方式 |
原因 |
| 分析登录暴破、SQL注入等Web攻击 |
先HTTP后TCP |
HTTP流快速定位,TCP流查看完整POST数据 |
| 提取上传的WebShell或恶意文件 |
HTTP对象导出 → TCP流验证 |
HTTP流提取文件,TCP流确认传输内容 |
| 查看通过WebShell执行的系统命令 |
TCP流 |
命令数据在HTTP POST参数中,需TCP流解码 |
| HTTPS加密通信 |
TCP流 |
HTTP流无法解密,TCP流可分析TLS握手 |
| 非标准端口服务 |
TCP流 |
HTTP协议解析可能失败,TCP流显示原始数据 |
| 需要保存二进制文件(rar/jpg) |
TCP流 |
可导出原始字节,避免编码问题 |
选择依据核心在于——HTTP流关注”应用层说了什么”,TCP流关注”底层实际传输了什么”。在电子取证中,两者结合才能完整还原攻击行为。