echo 服务是什么
7 是 TCP/IP 早期的一批简易服务之一:echo(RFC 862)收到什么就原样返回,配套还有 discard(9)、daytime(13)、chargen(19)。它们诞生于网络调试需求,用最少的代码验证“链路是否通、收发是否正常”。今天几乎不再部署,原因很直接:UDP 上的 echo 与 chargen 会被用来做反射放大攻击,服务器与网络设备应默认关闭。
基本信息
| 服务 | echo(RFC 862) |
|---|---|
| 协议 | TCP 7 / UDP 7 |
| 同族服务 | discard 9、daytime 13、chargen 19 |
| 历史实现 | inetd 或 xinetd 挂载,由超级守护进程拉起 |
| 安全等级 | 默认关闭,不应出现在生产资产中 |
典型使用场景
- 连通性验证:确认 TCP 或 UDP 收发路径是否双向可用
- 历史系统盘点:确认老设备是否仍开着简易服务
- 安全评估:检查 UDP 放大攻击的可用反射源
- 教学复现:在授权实验环境里演示反射放大的原理
- 下线收尾:确认服务关闭后同时清理防火墙例外
TCP 回显测试
TCP 回显测试
echo hello | nc -w2 192.0.2.10 7 # TCP:应原样返回 hello
nc -vz -w2 192.0.2.10 7 # 端口可达性
ss -lntp | grep ':7 ' # 本机是否有监听
# 关闭:停用并禁用对应单元,或从超级守护进程配置中移除条目同族简易服务速查
| 端口 | 服务 | 风险 |
|---|---|---|
| 7 | echo | UDP 反射放大源 |
| 9 | discard | 同样可被用作反射 |
| 13 | daytime | 泄露系统时间 |
| 19 | chargen | 放大倍数高,历史上危害最大 |
公网开放 UDP echo 或 chargen 会被利用做反射放大攻击;除非有明确的测试需求与来源限制,服务器与网络设备都应保持关闭。
echo 只能证明路径可达与收发正常,不能评估时延与丢包;排障时应与 ping、traceroute 或吞吐测试工具分工使用,而不是把它当成性能测试手段。
替代方案
- 连通性:ping 或 tcping 类工具
- 路径分析:traceroute 或 mtr
- 带宽与质量:iperf3 等专用工具
- 应用层验证:curl、openssl s_client 等按协议选择
盘点与下线建议
- 把简易服务端口列入历史服务扫描清单,定期确认无监听
- 服务器与网络设备两侧同时确认关闭状态
- 边界出口统一过滤,避免成为反射放大的一环
- 下线后复核监控与资产台账,避免残留条目
替代思路:连通性用 ping,路径用 traceroute,吞吐用专门的压测工具,应用层用对应协议的客户端;把历史简易服务留在网里,收益远小于被滥用的代价。