隧道协议识别要点是什么
非标准隧道常借常见端口绕行:443 端口跑的不是 TLS、53 端口跑的载荷不符合 DNS 结构、ICMP 携带长数据,这类「协议与端口错配」是重要观察点。识别流程是先发现错配,再回到端点进程找主体,两者结合才能定性。
基本信息
| 用途 | 识别绕过出口管控的通道 |
|---|---|
| 错配示例 | 443 无 TLS 握手、53 上非 DNS 载荷、ICMP 携带长数据 |
| 判断手段 | 协议解析结果与端口预期不符、载荷形态异常 |
| 后续动作 | 回到端点查进程与启动方式 |
典型使用场景
- 出口只放行常见端口,怀疑有人借这些端口绕行
- 排查 DNS 端口上出现的非 DNS 载荷
- 发现 ICMP 携带大量数据
- 排查私有协议复用 443 的情况
- 与主机侧进程结合确认发起者
- 统计各端口的协议解析成功率,解析率异常偏低的端口优先查
抽查
抽查
tshark -r sample.pcap -Y 'tcp.port==443 and not tls' -T fields -e ip.src -e ip.dst | head
tshark -r sample.pcap -Y 'udp.port==53 and not dns' -T fields -e ip.src -e ip.dst | head
tshark -r sample.pcap -Y 'icmp and data.len>100' | head
tshark -r sample.pcap -q -z io,stat,60 | head -20 # 按分钟看流量起伏
# 确认错配后回到端点进程找主体,单看流量无法定性错配形态与判读
| 现象 | 可能原因 | 下一步 |
|---|---|---|
| 443 上没有 TLS 握手 | 私有协议或隧道复用端口 | 看载荷熵值与连接持续时间 |
| 53 上非 DNS 载荷 | DNS 隧道或配置异常 | 解析字段与查询名形态 |
| ICMP 大数据 | ICMP 隧道 | 看载荷长度与发送频率 |
| 长连接小流量 | 心跳或隧道维持通道 | 结合端点进程与目的归属 |
部分内部私有协议会自建加密并复用 443 端口,需要多特征交叉判断,只凭「没有 TLS」下结论会误判。
中间设备(负载均衡、代理)可能改写端口或终结 TLS,会干扰错配判断。分析前先确认链路上有哪些设备。
载荷熵值与连接持续时间要一起看:高熵加长连接的组合最值得深挖,单看其中一项都不足以定性。
先排除应用变更与误配置造成的错配,再考虑人为搭建的通道,处置方向完全不同。