用 Rust 编写的快速端口扫描器,可快速发现开放端口,并将结果交给 Nmap 或自定义脚本处理。
dsgnr/portchecker.io
开源的 TCP 端口检测工具,提供 REST API 和网页界面,可用 Docker 自部署。
- Star
- 198
- Fork
- 10
- 未关闭 Issue
- 1
- 最近提交
- 6天前
这是什么?
portchecker.io 用于检测指定主机名或 IP 地址上的 TCP 端口是否可达,适合排查网络配置、验证防火墙规则以及确认哪些端口对外开放。
项目由两部分组成:通过 Nginx 提供的静态 React 前端,以及基于 Litestar 构建的 Python API,后者使用 gunicorn 配合 uvicorn 工作进程运行。开发时可以单独启动前后端,也可以用 Docker Compose 一键拉起,生产镜像发布在 GitHub Container Registry 上。
API 默认不检测 IANA 特殊用途地址段中的私有 IP,设置 ALLOW_PRIVATE 后即可开启。API 还提供 Prometheus /metrics 端点,记录接口响应时间和状态码。
核心功能
- 01检测任意主机名或 IP 地址的 TCP 端口是否可用。
- 02提供 REST API,并附有接口文档。
- 03内置由 Nginx 提供的网页界面。
- 04支持 Docker 部署,提供预构建镜像和 Compose 配置。
- 05提供 Prometheus 指标端点,便于监控 API。
- 06可通过配置允许检测私有 IP 地址段。
适用场景
- 修改防火墙规则后,检查服务端口是否已正确开放。
- 从外部网络验证服务器只暴露了预期的端口。
- 通过 REST API 将端口检测集成到脚本或监控系统中。
- 在自有基础设施上自部署端口检测服务。
快速上手
- 1
使用 Docker Compose 启动生产环境(前端端口 8080,API 端口 8000)
docker-compose up
使用前须知
- 采用 GPL-3.0 许可证,这是一种 copyleft 许可证,衍生作品需以相同条款开源。
- 独立开发需要 Python 3.13、Poetry 以及 Node 26 或更新版本,使用 Docker 更简单。
收录于专题
标签
常见问题
- portchecker.io 是什么?
- 开源的 TCP 端口检测工具,提供 REST API 和网页界面,可用 Docker 自部署。 portchecker.io 用于检测指定主机名或 IP 地址上的 TCP 端口是否可达,适合排查网络配置、验证防火墙规则以及确认哪些端口对外开放。
- portchecker.io 可以免费使用吗?用的什么许可证?
- portchecker.io 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
- portchecker.io 还在维护吗?
- 活跃维护中。portchecker.io 最近一次提交是在 2026年11月1日。
- portchecker.io 适合用来做什么?
- 修改防火墙规则后,检查服务端口是否已正确开放。 从外部网络验证服务器只暴露了预期的端口。 通过 REST API 将端口检测集成到脚本或监控系统中。 在自有基础设施上自部署端口检测服务。
- portchecker.io 怎么安装和运行?
- 使用 Docker Compose 启动生产环境(前端端口 8080,API 端口 8000): docker-compose up
- 在哪里获取 portchecker.io?
- 源代码和安装说明在 GitHub 上:https://github.com/dsgnr/portchecker.io
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2.1万+35 本周1398RustGPL-3.0更新于 3天前
一个自托管的网页界面,用于创建、编辑和运行基于 compose.yaml 的 Docker Compose 项目。
2.5万+47 本周865TypeScriptMIT更新于 15天前
在自有 Docker 主机之间部署和扩展容器化应用,基于 WireGuard 组网,无需 Kubernetes 或 Swarm。
5597+10 本周184GoApache-2.0维护活跃更新于 昨天
一款面向家庭实验室的 Docker 管理工具,直接操作你的 Docker Compose 文件。
64625TypeScriptAGPL-3.0更新于 11天前
基于 FreeBSD 的开源防火墙与路由平台,提供 OPNsense 的图形界面、API 与系统后端。
4789+17 本周1022PHPBSD-2-Clause更新于 昨天
用一个 Compose 文件定义并运行多容器 Docker 应用的命令行工具。
3.9万+94 本周5902GoApache-2.0维护活跃更新于 昨天