
Fscan 端口扫描 9100 端口排查指南默认端口列表、排除参数与指纹机制完整讲解【免费下载链接】fscan一款内网综合扫描工具方便一键自动化、全方位漏扫扫描。(An intranet comprehensive scanning tool, enabling one-click automated, all-round vulnerability scanning)项目地址: https://gitcode.com/GitHub_Trending/fs/fscan用 Fscan 这款内网综合扫描工具跑一遍资产探测后结果里冒出个 9100 端口的服务是工具误报还是真有端口漏了排查本文从实际排查场景出发带你快速搞懂 Fscan 端口扫描默认到底扫哪些端口、9100 为什么值得关注、怎么用参数一键收敛扫描范围以及扫出来之后该怎么处置。上图是一次典型的目标扫描输出先是逐行列出open状态端口随后对 Web 端口给出WebTitle 指纹识别如http://192.168.1.13:9000 200 None再附上各服务的凭据探测结果。如果 9100 出现在你的结果里它通常就是被这样顺带探测到的。默认扫描时 Fscan 到底扫哪些端口很多新手以为 Fscan 只扫 80、443 这类常识端口实际上它的默认端口集要宽得多。默认值由 common/config/constants.go 中的MainPorts组决定约 150 个端口按用途可粗略分为几类基础服务21(FTP)、22(SSH)、23(Telnet)、53(DNS)、135/139/445(Windows 文件与远程管理)、3389(RDP)、5985/5986(WinRM) 等数据库与消息队列1433(SQL Server)、1521(Oracle)、3306(MySQL)、5432(PostgreSQL)、6379(Redis)、27017(MongoDB)、9092(Kafka)、15672(RabbitMQ 管理台) 等Web 中间件与管理后台8080、8443、8000、8888、9000、9200(ES)、11211(Memcached)、50070/61616(Hadoop) 等此外代码里还预置了WebPorts数百个常见 Web 端口80 开头到 28017 都有等端口组可以通过参数切换使用。所以当你看到 9100 这类不常见的端口被探测到时多半是它落在你指定的端口组里而不是工具在瞎猜。⚠️ 一个版本相关的细节早期版本的默认列表中曾包含 9100但源码注释明确记载该端口已被移除——它是打印机 RAW 端口向其中发送探测数据会真实触发打印见 common/config/constants.go 第 21 行注释关联 Issue #517。所以如果你用新版 Fscan 扫到了 9100基本可以确定是你自己通过-p指定过端口范围。9100 端口为什么值得重点关注9100 不是普通端口它身上有几重身份这也是它长期出现在各类扫描工具端口列表里的原因RAW 打印默认端口网络打印机接收原始打印数据的入口向它写入内容可能直接出纸监控/采集服务常用Prometheus 等部分监控组件的采集端点会占用 9100长期位列 Web 常见端口 Top 榜大量扫描器把它当作疑似 Web 服务处理因此一旦开放往往意味着有人把管理或采集后台直接暴露在了网络上历史暴露面打印机、监控面板这两类设备是内网横向移动的常见跳板值得逐个核实一键收敛扫描范围-p、-ep 与端口文件发现结果里混入无关端口时有三种收敛手段按使用频率排序场景参数最简示例只扫指定端口-pfscan -h 192.168.1.0/24 -p 80,443,3389排除不要的端口-epfscan -h 192.168.1.0/24 -ep 9100从文件加载端口清单-pffscan -h 192.168.1.0/24 -pf my_ports.txt几点实战提示-p会整体替换默认列表不是追加——指定后只有列表内的端口会被扫描-ep是在现有列表上做减法适合默认集基本够用、只想砍掉个别端口的场景参数解析逻辑在 common/flag.go 中定义端口过滤在 core/port_scan.go 中生效想深入可以看这两个文件如果不确定目标环境里哪些端口该扫先用最小集如-p 80,443,3389快速过一遍再按需扩大扫到 9100 之后的排查清单端口只是线索处置才关键。建议按这个顺序走确认服务归属看 Fscan 输出里的服务指纹与 WebTitle判断它是打印机、监控采集器还是某个后台管理页拿不准就单独用-p 9100复扫确认核实是否必要开放打印端口本不该对整段网络可见监控采集端点同理——非必要就关收敛访问来源确需保留的服务在防火墙/安全组上只放行运维网段纳入例行巡检把关键端口清单固化成文件用-pf固定下来定期复扫对比变化底层揭秘Fscan 是怎么认出一个端口的Fscan 的端口检测是多线程并发 分层探测的两段式流程实现位于 core/ 目录TCP 连接探测默认 600 并发线程-t可调对目标端口发起 TCP 连接成功即标记为open这一步只回答端口通不通协议特征探测对开放端口按端口号查 common/config/constants.go 中的DefaultPortMap决定发哪些探针——比如 80/8080 会发 HTTP GetRequest、OPTIONS 请求3306 会发 GenericLines2181 会发 Kafka 探针指纹识别Web 类端口会进一步做标题与指纹提取输出WebTitle:http://...:9000 200 None这类结果指纹规则见 webscan/fingerprint/正因为第 2 步按端口查表发探针9100 若在扫描列表内且处于开放状态同样会收到通用探测数据——这就是它在结果中被检测到的技术原因也解释了为什么新版要把它从默认列表里摘除对 RAW 打印端口发数据探测本身就产生了副作用。小结Fscan 端口扫描的默认集是约 150 个 MainPorts远不止常识端口9100 因 RAW 打印副作用已不在默认列表中若你扫到它说明是自定义范围所致。用-p定范围、-ep做减法、-pf固化为文件再配合确认归属 → 关闭非必要 → 收敛访问的处置三步就能把这类边缘端口管得明明白白。【免费下载链接】fscan一款内网综合扫描工具方便一键自动化、全方位漏扫扫描。(An intranet comprehensive scanning tool, enabling one-click automated, all-round vulnerability scanning)项目地址: https://gitcode.com/GitHub_Trending/fs/fscan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考