Gopher 与 70 端口
70 是 Gopher 协议的默认端口。Gopher 是万维网普及之前流行的菜单式信息检索协议,规范见 RFC 1436:文档按层级菜单组织,用户逐级选择即可浏览或取回文件,1991 至 1995 年间在大学与研究机构大量部署。浏览器逐步移除 gopher 支持后它退出主舞台,今天只有少数怀旧节点与实验环境还在运行。
基本信息
| 服务 | gopher(RFC 1436) |
|---|---|
| 端口/协议 | TCP 70,UDP 为历史登记 |
| 流行期 | 1991 至 1995 年 |
| 交互方式 | 客户端发送选择符,服务端返回菜单或文件 |
| 现状 | 基本绝迹,仅少数节点运行 |
| 处置原则 | 确认归属与用途后再定去留 |
典型处置场景
- 资产盘点:确认内网是否存在历史信息类服务
- 安全评估:怀旧节点与实验环境的安全基线检查
- 合规扫描处置:为非标准协议给出可追溯说明
- 渗透测试:老实现普遍缺少输入校验,需评估风险
- 技术验证:在受控实验环境中复现早期检索体验
探测与取菜单
探测与取菜单
printf '\r\n' | nc -w3 192.0.2.20 70 # 发送空选择符取根菜单
nc -vz -w2 192.0.2.20 70 # 端口连通性
sudo lsof -i :70 # 反查本机占用进程
ss -lntp | grep ':70 ' # 确认本机是否监听
# 较新版本的 curl 已移除 gopher 支持,取菜单以 nc 为主菜单检索与 Web 的世代交替
| 时期 | 主角 | 特征 |
|---|---|---|
| 1991-1995 | Gopher | 层级菜单组织文档,RFC 1436 |
| 1995 年后 | HTTP 与万维网 | 浏览器逐步移除 gopher 支持 |
| 现状 | 少数怀旧节点 | 爱好者社区自行运行,多为只读 |
运维要点
- 在实验环境运行历史服务时用容器或独立网络隔离,不与业务同网
- 把 gopher 相关进程纳入资产清单,面板下线时同步回收端口与防火墙规则
- 发现公网可达的 70 端口监听应先确认归属,再评估是否立即隔离
- 检索老协议实现的安全公告时注意其维护状态,多数已停止更新
- 保留探测与取菜单的原始输出,便于向审计方说明判定依据
Gopher 传输为明文,老实现普遍缺少输入长度与类型校验。即便只在实验环境运行,也建议限制来源网段,避免把未修补的代码放进不可信网络。
在公网服务器上运行无人维护的 Gopher 服务,等于把停更多年的软件放进线上环境,出现漏洞时无人修补。确认没有业务依赖后应下线并关闭端口。