首页/网络/常用端口速查/9 discard 丢弃服务
0-99 系统端口81 条

9 discard 丢弃服务

收到数据直接丢弃、不做任何回应(RFC 863);常用于验证单方向发送能力与吞吐。

常用端口速查网络更新于 2026-10-13

9 是什么

9 号端口是 RFC 863 定义的 discard 服务:收到任何数据都直接丢弃,不返回内容。它本身没有业务价值,用处在于单向发送测试——把数据打进对端黑洞,验证「能不能发出去」并测量吞吐,而不受服务端处理逻辑干扰。

现状与出现场景

主流系统的出厂配置都不开启 discard,只有测试环境或调试用的服务管理程序配置里会出现。因此扫描结果中出现 9 端口开放,通常意味着目标运行着老式服务管理程序,或者存在借该端口做隐蔽通信的组件,值得进一步核实归属。

基本信息

服务discard(RFC 863)
协议TCP 与 UDP
用途单向发送测试、吞吐基准
现状默认关闭,仅测试环境使用
安全等级生产环境不应开放

典型使用场景

  • 验证单向链路:确认数据能从本机发到对端,先排除回程问题
  • 做吞吐基准:把大文件送入黑洞,观察发送速率
  • 配合回显服务分别验证发送方向与回环方向
  • 调试网络设备时确认转发路径是否通畅
  • 资产核查中确认 9 端口是否为遗留的测试服务

发送与测试

发送与测试
dd if=/dev/zero bs=1M count=10 | nc -w1 192.0.2.10 9   # 发送 10MB 到黑洞
nc -u 192.0.2.10 9 </dev/null                          # UDP 方向探测
ss -lunp | grep ':9 '                                  # 确认本机是否有服务监听

清理遗留测试服务

清理遗留测试服务
# 传统发行版经服务管理程序提供 discard,默认关闭
# /etc/xinetd.d/discard 中 disable 字段控制启用与否
grep -rn 'discard' /etc/xinetd.d/ /etc/inetd.conf 2>/dev/null
# 确认无用后关闭并重启服务管理程序

早期诊断服务

服务端口用途
discard9丢弃所有输入,用于单向测试
echo7原样返回,用于验证回环
daytime13返回时间文本,用于验证可达
discard 与 echo 配对使用可以分别验证发送与回环两个方向;两者同属早期网络诊断工具集,现代环境做吞吐测试更多使用专门的压测工具。
排查思路:先看监听进程与启动方式,判断它是系统服务管理程序提供还是某个应用自带;再确认近期是否有测试任务遗留。若无人认领,按未知服务流程先限制访问再清理,不要直接删除进程了事。

易错点

  • 把 discard 留在生产环境:它是一个无认证的可写服务,可被利用来中转或探测
  • 把「发送完成」当成链路成功:discard 不返回任何数据,无法据此确认对端状态
  • 用 discard 做业务性能压测:它只反映网络发送能力,测不出应用处理瓶颈
  • 清理 xinetd 配置后忘记重启服务管理程序:端口仍在监听,以为已经关闭

数据来源与参考

  • RFC 863:Discard Protocol

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌