惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

云野开源志

OpenClaw npm 升级踩坑记:从版本冲突到模块丢失 免责声明 openclaw(moltbot、Clawdbot)常见异常 大模型配置-千问免费版 初始化OpenClaw 安装openclaw记录 大年初一桃花谷 CheckSSL.sh - SSL证书到期时间监控脚本 g.sh - Go语言环境管理工具安装脚本 install-cri-docker.sh - cri-dockerd安装脚本 install-docker.sh - Docker Engine快速安装脚本 install-docker2.sh - Docker 交互式安装脚本 install-nginx.sh - Nginx官方源快速安装脚本 install-zerotier.sh - ZeroTier 虚拟网络快速安装脚本 mng.sh - Nginx配置文件合并脚本 OpenSSL.sh - 自签名 SSL 证书生成脚本 SystemInfoMonitor.sh - 系统资源监控告警脚本 UpdateImages.sh - Docker 镜像批量更新脚本 为Hugo Next主题添加Umami统计支持 解忧杂货铺 - 栏目声明 Certd - 解决多平台SSL证书管理难题的神器 GeoLite2 自动搬运仓库使用手册 MaxMind 免费账号注册 CloudFlare Accel Docker 搭建私有 DNS 服务器 hugo-theme-stack集成Umami openresty编译添加geoip2模块支持 GPU加速云原生应用,开启高性能计算新纪元 5. K8S Service与Ingress 4. K8S 控制器 Rancher搭建 3. K8S Pod 资源管理 2. K8S 基础资源管理 1. K8S 简介和认证介绍 Rancher集成AzureAD认证 Harbor 部署搭建 站点留言板 关于 友情链接
轻量级网络端口监控工具
云野开源志 · 2025-11-03 · via 云野开源志

总结摘要

Port Monitor 是一款基于 Go 语言开发的轻量级 Web 端口监控工具,支持实时查看 TCP/UDP 服务状态与网络接口信息。提供可视化界面、自定义服务命名、URL 路径映射、端口生成器及一键复制等功能,适用于多服务部署场景下的快速定位与访问。支持 RPM/DEB 包一键安装,开箱即用,无前端框架依赖,资源占用极低。

Port Monitor - 轻量级网络端口监控工具

今天想和大家分享一个我自己开发的网络监控工具——Port Monitor。这是一个用Go语言编写的轻量级网络端口监控工具,主要用于实时监控系统中的TCP/UDP服务和网络接口状态。

项目背景

在日常的系统管理和开发运维工作中,我经常需要查看服务器上运行的服务和监听的端口。虽然Linux系统提供了ss、netstat等命令行工具,但它们的输出信息不够直观,而且无法提供持续的监控视图。因此,我决定开发一个可视化的端口监控工具,这就是Port Monitor项目的由来。

仓库地址

https://github.com/db-root/port-monitor

功能特性

Port Monitor具有以下主要功能:

1. 网络接口监控

  • 实时显示所有网络接口及其IP地址信息
  • 支持排除特定网络接口(如docker0、lo等虚拟接口)
  • 可以控制是否为特定接口生成访问链接

2. 服务监控

  • 实时监控系统TCP和UDP端口使用情况
  • 显示服务进程名称、协议、监听地址、状态等详细信息
  • 支持按协议类型分类显示(TCPv4、TCPv6、UDPv4、UDPv6)

3. 用户自定义配置

  • 允许用户自定义服务名称并保存到配置文件
  • 支持自定义URL路径映射,方便直接访问服务
  • 可配置表格列的显示/隐藏,个性化界面展示
  • 支持一键复制功能,快速获取所需信息

4. 端口生成器

  • 可以生成指定范围内的随机空闲端口
  • 支持多个预设范围选择(1000-10000、10001-30000等)
  • 适用于需要部署新服务时寻找可用端口的场景

技术架构

Port Monitor采用前后端分离架构设计:

  • 后端:使用Go语言编写,基于内置net/http包提供Web服务
  • 前端:原生HTML/CSS/JavaScript实现,无框架依赖
  • 数据存储:用户配置以JSON格式保存在data.json文件中
  • 配置管理:系统配置使用YAML格式(config.yaml)

这种架构使得整个应用非常轻量,易于部署和维护。

安装与使用

系统要求

  • 支持RPM或DEB包管理的Linux发行版
  • 需要安装ss工具(通常包含在iproute2包中)

安装步骤

Port Monitor支持多种安装方式,推荐使用预构建的安装包:

1. RPM包安装(适用于CentOS/RHEL/Fedora等):

1
2
# 通过URL直接安装(示例版本1.0.1)
sudo rpm -ivh https://github.com/db-root/port-monitor/blob/master/dist/port-monitor-1.0.1-1.el8.x86_64.rpm

2. DEB包安装(适用于Debian/Ubuntu等):

1
2
3
# 通过URL直接安装(示例版本1.0.1)
wget https://github.com/db-root/port-monitor/blob/master/dist/port-monitor_1.0.1_amd64.deb
sudo dpkg -i port-monitor_1.0.1_amd64.deb

启动服务

安装完成后,使用以下命令启动服务:

1
sudo systemctl enable --now port-monitor

默认情况下,服务将在0.0.0.0:10810上监听,您可以通过浏览器访问http://your-server-ip:10810来使用该工具。

开发模式运行

如果您想在开发环境中直接运行项目,可以使用以下命令:

然后在浏览器中访问 http://localhost:10810

配置文件

默认配置文件位于/opt/port-monitor/config.yaml

1
2
3
4
5
service-config:
  - addr: "0.0.0.0"          # 监听地址
    port: 10810              # 监听端口
    exclude: "lo,br-,veth,docker0"  # 忽略的网卡前缀
    get_ip_url: "https://4.ipw.cn"  # 公网IP服务地址

使用说明

  1. 网络接口监控:在"网络接口"区域,您可以查看所有网络接口的IP地址信息,并通过开关控制是否为特定接口生成访问链接。

  2. 服务监控:在"运行中的服务"区域,服务按协议类型分为四个标签页展示。您可以点击表格头部的"监听地址"或"状态"列进行排序。

  3. 自定义配置

    • 点击服务名称旁边的编辑图标可以自定义服务名称
    • 点击URL路径旁边的编辑图标可以设置特定路径
    • 点击表格右上角的齿轮图标可以配置表格列的显示/隐藏
  4. 端口生成器:在"生成端口"区域,您可以选择端口数量和范围,点击"生成端口"按钮获取空闲端口,支持一键复制。

项目地址

项目已开源,欢迎访问我的GitHub仓库获取最新代码和文档: https://github.com/db-root/port-monitor

总结

Port Monitor是我为解决日常系统监控需求而开发的一个实用工具。它具有轻量、易用、功能全面的特点,特别适合系统管理员和开发运维人员使用。通过这个工具,您可以更直观地了解服务器的网络服务状态,提高工作效率。

欢迎大家试用并提出宝贵意见,如果有任何问题或建议,欢迎在GitHub上提交issue或pull request.