9100 的双身份
9100 有两个长期并存的角色:Prometheus 的 node_exporter 默认用它暴露主机指标(/metrics 文本),网络打印的 RAW 或 JetDirect 打印也一直使用 9100 直接接收字节流。两者相遇时会互相干扰——监控系统探到打印机 9100 会解析失败,打印机收到监控数据则会打出成叠废纸,所以按设备类型分网段是最省事的办法。
基本信息
| 服务 | Prometheus node_exporter / 打印 RAW(JetDirect) |
|---|---|
| 协议 | TCP 9100 |
| 监控侧特点 | 明文 HTTP,默认无认证 |
| 打印侧特点 | 收到字节流即尝试打印,无反馈机制 |
| 安全等级 | 监控网段;打印设备按办公网管理 |
典型使用场景
- 主机指标采集:CPU、内存、磁盘、网络与文件系统指标按周期抓取
- 自建监控:配合 Prometheus 与告警规则做容量与可用性监控
- 文本文件采集:通过 textfile 收集器把业务指标间接暴露出来
- 打印运维:CUPS 或打印服务器通过 9100 向设备直接投递作业
- 安全评估:确认指标端点是否暴露到业务网之外
指标端点确认
指标端点确认
curl -s http://localhost:9100/metrics | head -20
ss -lntp | grep 9100
systemctl cat node_exporter | grep -E 'listen-address|web.config'
# 打印侧:确认端口连通后按需投递作业
nc -vz printer01 9100双身份对照
| 身份 | 典型表现 | 互扰后果 |
|---|---|---|
| node_exporter | /metrics 输出 Prometheus 文本 | 明文 HTTP,无认证 |
| 打印 RAW(JetDirect) | 收到字节流即尝试打印 | 误发文本会打出成叠废纸 |
| CUPS 与 IPP | IPP 走 631,可同时开 9100 | 混合部署时端口归属不清 |
| 抓取失败告警 | 目标返回非预期内容 | 监控误报持续存在 |
两侧确认命令
两侧确认命令
lpinfo -v | grep -i socket # CUPS 识别出的 RAW 设备
curl -s http://127.0.0.1:9100/metrics | grep -c '^node_'
# 采集端绑定与认证核对
# node_exporter --web.listen-address=127.0.0.1:9100 --web.config.file=/etc/prometheus/web.ymlnode_exporter 默认无认证:公网暴露会泄露系统版本、内核参数、挂载点与启动参数等敏感指纹,足以支撑后续针对性攻击;需要跨网段抓取时应配置基础认证或仅经反向代理访问。
运维建议
- 按角色分网段:监控只采集主机段,打印设备划入办公段
- 用出站抓取而不是把指标端点暴露给上网客户端
- 为打印设备单独维护清单,避免监控误探造成持续误报
- 采集端启用认证或限制来源,并把监听地址收敛到内网接口