端口状态检查工具portchecker.io

什么是 portchecker.io ?

portchecker.io 是一个开源 API,用于检查指定主机名或 IP 地址上的端口可用性。它非常适合开发人员和网络管理员,可帮助排除网络设置故障、验证防火墙规则并评估潜在接入点。

软件的作用非常简单,在老苏看来,效果和下面的命令是一样的

1
2
# 查看端口占用
netstat -tunlp | grep 端口号

当为 true 时,表示端口被占用了;
当为 false 时,表示端口还没有被占用;

安装

在群晖上以 Docker 方式安装。

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
version: '3'

services:
web:
image: ghcr.io/dsgnr/portcheckerio-web:latest
container_name: portcheckerio-web
restart: unless-stopped
ports:
- 8341:80
#volumes:
# - ./web:/web
environment:
- DEFAULT_PORT=443
- GOOGLE_ANALYTICS= # optional
- ADSENSE_VERIFICATION= # optional

api:
image: ghcr.io/dsgnr/portcheckerio-api:latest
container_name: portcheckerio-api
restart: unless-stopped
ports:
- 8342:8000
#volumes:
# - ./api:/src
environment:
- ALLOW_PRIVATE=true
  • 容器 portcheckerio-web 的环境变量
可变
DEFAULT_PORT 允许在用户界面中预填充一个默认端口号,默认值 443
GOOGLE_ANALYTICS 提供 Google Analytics 跟踪代码,以便监控网站流量和用户行为
ADSENSE_VERIFICATION 用于 Google AdSense 的网站所有权验证。提供一个验证代码,以便 Google 验证该网站是否属于您
  • 容器 portcheckerio-api 的环境变量
可变
ALLOW_PRIVATE 允许检查 IANA IPv4 特殊注册范围内的私有 IP 地址

IANA IPv4 专用地址注册表:https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml

在局域网使用时,ALLOW_PRIVATE 即便设为 false 也一样可以

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 portcheckerio 和 子目录
mkdir -p /volume1/docker/portcheckerio/{api,web}

# 进入 portcheckerio 目录
cd /volume1/docker/portcheckerio

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8341 就能看到主界面

以群晖 DSM 为例

再查一个,显然 8840 端口还没有被占用

点击右上角 API Docs,会进入接口文档界面

可以直接调试,不需开启 API 客户端

参考文档

dsgnr/portchecker.io: portchecker.io is a free online utility to check the port status of a given hostname or IP address.
地址:https://github.com/dsgnr/portchecker.io

portchecker.io
地址:https://portchecker.io/