之前给大家介绍过 VPSMarket 自己开源的服务器状态查看工具 vminfo,平时 SSH 上去一条命令看 CPU、内存、磁盘、网络、进程,挺顺手。最近这个项目又加了一个很实用的新能力——net 命令,把日常用得最多的几样网络诊断全部塞进了同一个二进制里。

简单说,就是不用再为了查个 DNS、测个端口、ping 一下、看个 IP 归属,在 dig / nc / ping / curl ip.sb 之间来回切了。完整文档可以看官方说明:https://vminfo.bestcheapvps.org/commands/net,项目主页:https://vminfo.bestcheapvps.org/

net 命令是什么

net 是 vminfo 新增的按需网络诊断命令,定位是“用你看主机状态时已经在用的那个 vminfo,顺手再做一次网络诊断”。

它目前提供四个子命令,覆盖了 VPS 用户最常做的几件事:

子命令 作用
net dns 解析域名到 IP 地址
net port 测试到 host:port 的 TCP 连通性和延迟
net ping 用 TCP 拨号或真实 ICMP 探测主机延迟
net ip 查询公网 IP + ASN / 归属地信息

每个子命令默认输出人类可读的结果,同时都支持 --json,方便接到脚本、CI、自动化流程里。这一点对经常写运维脚本的人来说特别友好——不用再去 grep / awk 解析文本了。

下面逐个说一下用法。

net dns:域名解析

net dns 用来把域名解析成地址,可以指定 DNS 服务器,对排查“是不是某个 DNS 节点抽风”很好用。

vminfo net dns vminfo.bestcheapvps.org
vminfo net dns vminfo.bestcheapvps.org --server 1.1.1.1
vminfo net dns vminfo.bestcheapvps.org --server 1.1.1.1 --json
参数 说明
位置参数 domain 要解析的域名(只能填一个)
--server DNS 服务器,写 hosthost:port;留空 = 系统默认
--json 以 JSON 格式输出结果

买到新 VPS 想确认下解析是否正常、或者想对比不同 DNS(比如 1.1.1.1、8.8.8.8、运营商 DNS)返回的结果差异,一条命令就能搞定。

net port:TCP 端口连通性测试

net port 测试到目标 host:port 的 TCP 连通性和拨号延迟,验机时确认服务端口通不通、排查防火墙 / 安全组拦截,都靠它。

vminfo net port vminfo.bestcheapvps.org 443
vminfo net port vminfo.bestcheapvps.org 443 --timeout 3s --json
参数 说明
host / port 目标主机和端口(端口范围 1–65535)
--timeout 拨号超时,默认 2s
--json 以 JSON 格式输出结果

nc -zv 好的地方是它直接给你延迟数值,而且 JSON 输出里有 elapsed_ms,方便做批量探测和阈值告警。

net ping:TCP / ICMP 延迟探测

net ping 用来探测一台主机的网络延迟,默认走 TCP 拨号,也支持真实 ICMP。

vminfo net ping vminfo.bestcheapvps.org                       # TCP ping,端口 80
vminfo net ping vminfo.bestcheapvps.org --tcp-port 443        # 在 443 上做 TCP ping
vminfo net ping vminfo.bestcheapvps.org --mode icmp           # 真实 ICMP ping(需要权限)
vminfo net ping vminfo.bestcheapvps.org --count 6 --json
参数 说明
位置参数 host 要探测的主机(只能填一个)
--mode tcp(默认)或 icmp
--count 探测次数,默认 4
--timeout 每次探测超时,默认 1s
--tcp-port TCP 目标端口,默认 80(仅 tcp 模式)
--json 以 JSON 格式输出结果

TCP 和 ICMP 怎么选? 这是这个命令最值得说的一个设计:

  • tcp 模式做的是 TCP 拨号 RTT,跨平台、不需要特权,基本上哪里都能跑,是默认模式。
  • icmp 模式发的是真实 ICMP Echo 包,Linux 上需要 net.ipv4.ping_group_range 给非特权 UDP ICMP socket 授权,Windows 不支持。如果 ICMP 用不了,切回 --mode tcp 就行。

对 VPS 用户来说,默认的 TCP ping 其实更省心——很多廉价 VPS / 容器环境里 ICMP 被限速或直接禁掉,TCP ping 反而更稳定、更能反映真实业务延迟。

net ip:公网 IP 与归属地查询

net ip 用来查公网出口 IP,并附带 ASN、归属地等地理信息。

vminfo net ip                       # 自己的公网 IP + ASN / 归属
vminfo net ip 8.8.8.8               # 查询指定 IP
vminfo net ip --json
参数 说明
位置参数 ip 可选,要查询的 IP;省略 = 自己的公网 IP
--server 查询服务地址,默认 https://ip.bestcheapvps.org
--json 以 JSON 格式输出结果

新机到手,跑一条 vminfo net ip 就能确认出口 IP、ASN、是不是落地在宣传的那个地区——验 IP 归属、判断是否被标记风险,都很有用。

需要说明的是:net ip 会向第三方查询服务(默认 ip.bestcheapvps.org显式发起一次请求来获取 ASN、地理和风险信息,这个行为在 --help 和命令输出里都有披露,不会自动偷偷跑,只有你主动调用时才会请求。

JSON 输出:为脚本和自动化而生

net 下所有子命令都支持 --json,而且 JSON 输出是稳定、语言无关的(人类可读输出则会按语言本地化)。每个结果里都会带上:

  • elapsed_ms:耗时
  • error:出错时的错误信息字段

这意味着你可以放心地把 vminfo 当成一个网络诊断的“数据源”接进自己的脚本,比如批量探测一批 VPS 的 443 端口、定时记录某条线路的 ping 延迟、CI 里校验域名解析是否正确,都不用自己再写解析逻辑。

官方示例:

vminfo net ping vminfo.bestcheapvps.org --tcp-port 443 --count 4 --json

不止命令行:Web 仪表盘和 HTTP API 也能用

这些网络诊断能力并不只锁在终端里。vminfo 的 Web 仪表盘同样集成了这套诊断,对应 HTTP 接口是 POST /api/v1/net/diag

也就是说,如果你平时习惯用 vminfo --web 开个浏览器面板看机器状态,现在直接在网页上就能跑 DNS、端口、ping、IP 查询,不用再 SSH 上去敲命令。对带 Web 面板的轻量巡检场景,体验更连贯。HTTP API 细节可以看官方文档:https://vminfo.bestcheapvps.org/

适合哪些场景

  • 新 VPS 验机:拿到机器先 net ip 确认出口归属,再 net ping / net port 探一下目标线路延迟和端口连通性,一条龙。
  • 排查网络不通:用 net port 快速判断是端口被拦还是服务没起,用 net dns 排除解析问题。
  • 批量探测 / 监控脚本--json 输出 + elapsed_ms,写循环采集多台机器的网络指标很顺手。
  • Web 面板轻巡检:直接在仪表盘里跑诊断,SSH 都不用开。

安装 / 更新

如果之前装过 vminfo,更新到最新版即可获得 net 命令。新安装可以选下面任一方式:

# Go 安装
go install github.com/cloudapp3/vminfo/cmd/vminfo@latest

# 一键安装脚本(默认装到 ~/.local/bin)
curl -fsSL https://raw.githubusercontent.com/cloudapp3/vminfo/main/install.sh | bash

装完直接 vminfo net --help 就能看到所有子命令和参数。

总结

vminfo 这次新增的 net 命令,思路和它做主机状态查看时一样:把 VPS 用户最常用的网络诊断整合到一起,装完就能用,看一眼就明白。DNS 解析、TCP 端口、ping、IP 归属四件事,一个二进制搞定,还带 JSON 输出和 Web 面板,不再是“为了查个东西切五次命令”。

如果你平时经常买 VPS、做网络排障、写运维脚本,这个功能很值得更新体验一下。

VPS资讯-测评-教程 https://bestcheapvps.org

群组 https://t.me/VPSTG

频道 https://t.me/vpsmarkets