CTF竞赛中常用Wireshark过滤指令分类整理

CTF竞赛中常用Wireshark过滤指令分类整理

一、IP地址相关过滤

用于定位通信双方或特定网段的流量:

过滤源IP地址: ip.src == x.x.x.x(如 ip.src == 192.168.1.100) 过滤目标IP地址: ip.dst == x.x.x.x(如 ip.dst == 211.162.2.183) 过滤源或目标IP地址: ip.addr == x.x.x.x(如 ip.addr == 192.168.1.104) 组合源和目标IP过滤: ip.src == 10.0.0.1 and ip.dst == 192.168.1.100 过滤特定网段的流量: ip.addr == 192.168.0.0/16

二、端口相关过滤

用于定位特定服务或协议的端口通信:

过滤TCP端口: tcp.port == 80(源或目的端口) 过滤TCP目的端口: tcp.dstport == 80(如HTTP服务) 过滤TCP源端口: tcp.srcport == 80 过滤UDP端口: udp.port == 53(如DNS服务) 过滤特定协议端口: tcp.dstport == 3389(RDP协议)

三、协议类型过滤

直接筛选特定协议的数据包: TCP协议:tcp

UDP协议:udp

ARP协议:arp

ICMP协议:icmp(如ping请求)

HTTP协议:http

DNS协议:dns

SSL/TLS协议:ssltls

四、HTTP协议深度过滤

针对HTTP请求和响应的精细化分析: HTTP GET请求:http.request.method == "GET"

HTTP POST请求:http.request.method == "POST"

HTTP 404响应:http.response.code == 404

Host头包含特定字符串:http.host contains "baidu.com"

请求特定URI:http.request.uri == "/img/logo-edu.gif"

内容包含关键词:http contains "flag"(常用于查找flag)

五、数据内容过滤

通过内容特征快速定位关键信息:

HTTP内容含"flag":http contains "flag"

TCP内容含"flag":tcp contains "flag"

IP层内容含"flag":ip contains "flag"

通用内容匹配:<protocol> contains "<keyword>"(如 http contains "GET")

六、逻辑组合过滤

通过组合条件缩小分析范围:

IP与协议组合:ip.src == 192.168.1.100 and http

IP与端口组合:ip.src == 10.0.0.1 and (tcp.port == 80 or tcp.port == 443)

排除特定IP:not ip.dst == 192.168.1.1

逻辑或匹配:ip.src == 192.168.1.100 or ip.dst == 192.168.1.100

七、流汇聚与数据提取技巧

在CTF中提取关键数据的核心操作:

追踪流: 右键数据包 → "追踪流" → 选择HTTP流或TCP流,还原完整通信内容。

提取文件: 对HTTP文件传输包,右键 → "导出分组字节流",注意清理多余字符(如菜刀流量的X@Y标识)

八、CTF实战场景应用

寻找flag:

使用 http contains "flag"tcp contains "flag"快速定位。


分析HTTP流量:

筛选 http.request.method == "POST"检查敏感数据提交。 检测http contains "eval"判断可能存在Webshell。


TCP三次握手分析:

第一次握手:tcp.flags.syn == 1 and tcp.flags.ack == 0

第二次握手:tcp.flags.syn == 1 and tcp.flags.ack == 1

第三次握手:tcp.flags.syn == 0 and tcp.flags.ack == 1


特定IP通信分析: ip.addr == 211.162.2.183(华为网站IP示例)


DNS查询分析:

dns.qry.name == "www.example.com"过滤特定域名解析