ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Whosthere 端口扫描功能实战:如何发现局域网设备开放的 TCP 服务

2026/10/5 5:09:21 拓冰建站 浏览量
Whosthere 端口扫描功能实战:如何发现局域网设备开放的 TCP 服务 Whosthere 端口扫描功能实战如何发现局域网设备开放的 TCP 服务【免费下载链接】whosthereLocal Area Network discovery tool with an interactive Terminal User Interface (TUI) written in Go. Discover, explore, and understand your LAN in an intuitive way. Knock Knock.. whos there? 项目地址: https://gitcode.com/gh_mirrors/wh/whosthere想弄清楚家里那台神秘的 192.168.x.x 到底开了哪些服务Whosthere内置的 TCP 端口扫描器可以帮你一键搞定。这是一款用 Go 编写的局域网发现工具提供交互式终端界面TUI在发现设备后可以直接对目标主机做端口扫描快速识别出开放的 Web、SSH、数据库等 TCP 服务无需 root 权限。端口扫描是怎么工作的Whosthere 的端口扫描器采用并发连接探测策略为每个待探测端口发起真实的 TCP 连接即 connect 扫描能成功建连的端口就被判定为开放多个端口同时探测速度快、流量小且完全在用户态运行不需要提权每个端口都有独立的超时控制默认 5 秒。核心实现在 port_scanner.go扫描配置定义在 config.go// PortScannerConfig defines TCP ports to scan. type PortScannerConfig struct { TCP []int yaml:tcp Timeout time.Duration yaml:timeout }默认会扫描哪些端口开箱即用的默认端口清单覆盖了家庭/办公网络中最常见的 28 个服务端口见 DefaultTCPPorts端口服务端口服务21FTP 文件传输443HTTPS 加密 Web22SSH 远程登录445SMB 文件共享23Telnet1433MSSQL 数据库25SMTP 邮件1521Oracle 数据库80HTTP Web3306MySQL 数据库139/135Windows 共享/RPC3389RDP 远程桌面5432PostgreSQL5900VNC 远程控制8080/8443备用 Web 端口27017MongoDB看到 22、3306 这类端口开放就意味着这台设备可以被远程登录或访问数据库——这是排查内网安全隐患的关键线索。TUI 中的端口扫描三步上手端口扫描在 Whosthere 的交互式界面里是一个轻量级功能整个过程只需三键运行 Whosthere等待设备列表填充完成whosthere选中目标设备j/k上下移动/可正则搜索按enter进入设备详情视图在详情页按p键弹出确认框展示即将扫描的端口列表按enter确认开始扫描Esc取消。扫描期间底部状态栏会显示 Port scanning 动画提示。这个流程对应 detail.go 中的按键绑定和 port_scan_modal.go 中的确认弹窗事件由 app.go 统一处理并异步启动扫描。弹窗中有一句贴心提醒Only scan hosts that you have permission to scan!—— 请只扫描你拥有权限的网络和设备。查看扫描结果Open Ports 一目了然扫描完成后回到设备详情页即可在Open Ports分区看到结果按协议分组列出所有开放端口并标注Last portscan的时间戳。结果会持久保存到设备状态中实现见 device_entry.go下次打开详情页无需重复扫描。 小技巧结合设备列表中的 OUI 厂商信息如 Apple、Huawei、Synology开放端口能让你快速判断设备类型——开 80/443 的 Synology 大概率是 NAS 的 Web 管理界面。自定义扫描端口列表默认端口列表不够用Whosthere 支持三种配置方式优先级从高到低命令行环境变量 → 配置文件 → 内置默认值。方式一配置文件推荐编辑~/.config/whosthere/config.yamlLinux/macOS添加或修改port_scanner段port_scanner: timeout: 5s tcp: [80, 443, 8080, 9100] # 只关心 Web 和打印服务完整示例可参考 README 配置章节 或 settings.go 中的键定义。方式二环境变量免改文件WHOSTHERE__PORT_SCANNER__TCP80,443,8080 whosthere WHOSTHERE__PORT_SCANNER__TIMEOUT3s whosthere # 缩短单端口超时性能建议端口列表越长扫描越久每个开放端口最坏要等满超时时间建议聚焦常用服务端口而非全量 65535 端口想更快出结果把timeout从默认 5s 降到 3s 左右即可。常见问题Q端口扫描需要 root 权限吗不需要。Whosthere 全程用户态运行connect 式 TCP 探测本身不要求提权。Q扫描会影响网络性能吗影响很小。28 个默认端口的并发探测只产生几十次短暂连接对千兆内网几乎无感。QUDP 端口也能扫吗当前版本仅支持 TCP 端口扫描UDP 服务如 5353 mDNS由内置的 mDNS/SSDP 发现器负责。Q能扫描非本机所在网段吗可以通过target_subnets指定 CIDR 网段如10.0.1.0/24但请确保你有权访问该网段。写在最后Whosthere 让看看谁在我的网络上变得像翻相册一样简单发现设备是它的主业而内置的 TCP 端口扫描则补上了这台设备能干什么这块关键拼图。配合 OUI 厂商识别与设备别名功能几分钟就能给自己家网络画出一张清晰的服务分布图。⚠️免责声明请仅在你拥有权限的网络如自己的家庭网络上使用端口扫描功能。未经授权扫描他人网络可能违反法律法规。相关源码位于 pkg/discovery/欢迎查阅了解实现细节。【免费下载链接】whosthereLocal Area Network discovery tool with an interactive Terminal User Interface (TUI) written in Go. Discover, explore, and understand your LAN in an intuitive way. Knock Knock.. whos there? 项目地址: https://gitcode.com/gh_mirrors/wh/whosthere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考