端口与体系
487 对应 IANA 登记的 saft(Simple Asynchronous File Transfer),登记人 Ulli Horlacher,是随 sendfile 工具一起使用的异步文件传输协议:把文件直接投递到远端用户的接收目录,而不是走邮件附件。它在 Unix 环境里流行过一段时间,后来被邮件附件、即时通讯传文件与共享存储方案取代。
设计思路与现状
“异步投递”是它相对当时 FTP 的优势:发送方不需要等待接收方在线,文件落到对端目录后由接收方自行处理。今天的对象存储与共享盘在功能上完全覆盖了这类需求,因此该协议只剩下历史系统里的残留实现。
基本信息
| 服务名称 | saft |
|---|---|
| IANA 登记说明 | saft Simple Asynchronous File Transfer |
| 传输协议 | TCP 与 UDP |
| 登记机构 | Ulli Horlacher |
| 所属体系 | Unix sendfile 工具链 |
| 当前状态 | 被邮件附件与共享协议取代 |
典型使用场景
- 老系统文件链路盘点:确认是否还有依赖该协议投递文件的定时任务
- 数据交换方式迁移:把异步投递改到共享存储或对象存储
- 扫描报告解读:扫描器标注 saft,与实际进程比对
- 遗留放行规则回收:清理历史文件投递通道的策略条目
- 接收目录审计:历史实现会把文件直接写入用户目录,需检查权限设置
- 未知服务处置:无对应工具链时按未知服务流程取证
定位占用进程
定位占用进程
# Linux:查看 487 的监听进程
ss -lntup 'sport = :487'
# 交叉验证可执行文件归属
sudo lsof -i :487
# 检查常见接收目录,确认是否仍有文件在投递
ls -lt /var/spool 2>/dev/null | head -5
# Windows:取 PID 后反查
netstat -ano | findstr :487
tasklist /FI "PID eq 1234"文件投递方式对照
| 方式 | 特点 | 现状 |
|---|---|---|
| saft 与 sendfile | 直接投递到接收目录,无需对方在线 | 历史实现,新环境少见 |
| 邮件附件 | 通用但受容量与网关限制 | 仍在广泛使用 |
| 共享存储与对象存储 | 集中管理、权限清晰 | 现代数据交换主流 |
这类“直接写对方目录”的实现通常依赖对端主机上的服务端进程,权限模型与本地用户绑定。迁移时除了换传输方式,还要确认接收方目录的属主与权限是否仍满足业务需要,否则换完通道文件写不进去。
排查历史文件链路时,定时任务与计划作业往往比端口更能说明问题:先看还有哪些任务在调这些工具,再决定端口是否还能回收,顺序反过来容易留下静默失败的作业。