网络与通信具总览(14.0):从 PsPing 到 TCPView / Whois 的联合作战

网络与通信工具总览(14.0):从 PsPing 到 TCPView / Whois 的联合作战

  • [网络与通信工具总览(14.0):从 PsPing 到 TCPView / Whois 的联合作战](#网络与通信工具总览(14.0):从 PsPing 到 TCPView / Whois 的联合作战)
    • [一、Sysinternals 的"网络分队"都干啥?](#一、Sysinternals 的“网络分队”都干啥?)
    • [二、为什么单靠 ping / tracert 已经不太够用了?](#二、为什么单靠 ping / tracert 已经不太够用了?)
    • [三、PsPing 在整个工具链中的定位](#三、PsPing 在整个工具链中的定位)
    • [四、PsPing 能解决哪些典型场景?](#四、PsPing 能解决哪些典型场景?)
    • [五、和 TCPView / Whois 是什么关系?](#五、和 TCPView / Whois 是什么关系?)
    • 六、实战推荐的"学习顺序"
    • 七、给自己留一个"网络体检模版"

网络与通信工具总览(14.0):从 PsPing 到 TCPView / Whois 的联合作战

适用人群:运维 / 开发 / 测试 / 安全同学,尤其是经常被一句"网络是不是有问题?"支配的灵魂。

这一章我们先不急着敲命令,先把 Sysinternals 网络与通信工具 放到一张"大地图"里,搞清楚:
谁负责"能不能通",谁负责"谁在占用端口",谁负责"这个域名是谁的"。

后面 14.1--14.x 会一条一条拆开讲,这篇算是 全局导航 + 场景思维导图


一、Sysinternals 的"网络分队"都干啥?

在 Sysinternals 家族里,比较典型的"网络/通信"相关工具可以简单分三类:

工具 核心作用 典型问题
PsPing 延迟 / 带宽 / 端口连通性测试 "网络卡吗?""端口通吗?"
TCPView 显示当前 TCP/UDP 连接和监听端口 "谁占用了 8080 端口?"
Whois 查询域名 / IP 归属信息 "这个域名/IP 是谁的?"
其它传统工具 ping / tracert / netstat 等 系统自带,但信息不够细 / 不好统计

本章书里重点是 PsPing,但在实战里,你几乎不会只用一个工具就结束战斗,经常是:

PsPing 定位"延迟/丢包";
TCPView 看"到底哪个进程在占用";
Whois 查"对面这玩意是不是个鬼地址"。


二、为什么单靠 ping / tracert 已经不太够用了?

系统自带的 ping、tracert 很经典,但有几个硬伤:

  1. ICMP 协议经常被丢弃 / 限制
    很多防火墙、网络设备直接丢 ICMP,导致你 ping 不通,却不代表 TCP 业务不通。
  2. 看不到"应用端口"是否真的可用
    ping 只告诉你"机器还活着",但 TCP 80 / 443 / 1433 / 3306 到底能不能连,它不知道。
  3. 缺乏统计/可视化能力
    想要看到 延迟分布、RTT 抖动、百/千次测试结果的直方图,只靠 ping 基本是折磨。

这就是 PsPing 登场的理由:
把"网络测量"做成一个专业工具,既能玩基础的 Ping,也能玩 TCP/UDP 延迟和带宽。


三、PsPing 在整个工具链中的定位

先把 PsPing 放在一个更大的排障流程里看,会清楚很多:

text 复制代码
用户说"很卡"
   ↓
先用 PsPing 做延迟/带宽测试(ICMP + TCP)
   ↓
如果端口不通,用 TCPView / netstat 看本机监听和连接
   ↓
怀疑外部地址 / 域名,丢给 Whois 查归属和注册信息
   ↓
最终结合抓包(Wireshark)/日志确定是 网络 / 应用 / 配置 哪一层的问题

简单理解:

  • PsPing:能告诉你"是不是网络传输问题""端口能不能通""延迟和带宽大概什么水平"
  • TCPView / netstat:能告诉你"本机上谁在用网络""端口被谁占了"
  • Whois:能告诉你"对面服务器属于谁"

后续几篇会专门展开 PsPing 的各种玩法,这里先给你一个脑内索引。


四、PsPing 能解决哪些典型场景?

先列出几个日常高频:

  1. 判断当前网络是否"真的很卡"
    • 场景:用户上来一句"今天系统巨卡,肯定是网络问题"。
    • 玩法:
      • 用 PsPing 对核心服务 IP 做 ICMP + TCP 延迟测试。
      • 测一段时间(比如 100 / 1000 次),看 平均值 / 最大值 / 标准差
    • 结论:延迟正常 → 更多怀疑业务本身;延迟、丢包明显异常 → 再往网络层深入。
  2. 验证某业务端口是否畅通
    • 场景:应用连不上数据库、Redis、HTTP API。
    • 玩法:
      • psping server:1433(SQL Server)
      • psping server:6379(Redis)
      • psping server:8080(自研服务)
    • 比 curl/wget 更轻量,尤其是数据库类服务,很好用。
  3. 打 CRUD 之前先打带宽压测
    • 场景:跨机房、跨地域部署新服务,想知道链路能扛多少。
    • 玩法:
      • 一端以 -s 启动 PsPing 服务模式,另一端跑 TCP/UDP 带宽测试。
    • 就像一个"小型 iperf",但更方便塞进脚本和自动化里。
  4. 做延迟/抖动的长期监控
    • 场景:怀疑网络偶发抖动,平时一切健康,业务偶尔卡死。
    • 玩法:
      • 用 PsPing 写个循环脚本,每隔一段时间测一次,输出日志或直方图,
      • 后面在 Excel / Grafana 里做图。
    • 比"拍脑袋说偶发异常"有说服力得多。

五、和 TCPView / Whois 是什么关系?

虽然这一章目录主要写的是 PsPing 的各种测试模式,但在你的脑子里,可以顺手把它和另外两个工具连起来:

  • TCPView
    • 看本机所有 TCP/UDP 连接 & 监听端口
    • 匹配进程名、PID、远程地址、状态(LISTENING、ESTABLISHED 等)
    • 用于回答:"这个端口到底被谁占了? ""这台机到底连去了哪些外部地址?"
  • Whois
    • 查询某个域名/IP 的注册信息、归属机构、联系人
    • 尤其在安全场景下很常用:
      • 比如某个可疑 IP 一直有连接,Whois 一查,结果是国外某云 + 可疑邮箱,就值得警惕
    • 在做黑白名单、策略调整、威胁分析时极其顺手

三者组合,可以搭出类似这样的 快速排障路径

text 复制代码
用户反馈"访问 A 系统很慢"
   ↓
PsPing 测延迟 & 丢包(到 A 系统网关/服务)
   ↓
本机用 TCPView 看是不是很多连接半开/等待,或端口冲突
   ↓
对异常远程 IP 用 Whois 看归属,辅助判断是否被劫持/错误转发

六、实战推荐的"学习顺序"

后面我们会按章节拆解 PsPing 的各个功能,这里给你一个 建议学习路线

  1. 14.1 / 14.2:基础认识 + ICMP Ping 进阶
    • 先搞懂 PsPing 的语法结构(目标、次数、间隔、统计)
    • 把它当"加强版 ping"用熟
  2. 14.3 / 14.4:TCP Ping + 服务器模式(-s)
    • 从"机器活着"进化到"端口也活着"
    • 学会自建回显端点,做端到端链路测试
  3. 14.5 / 14.6:延迟 / 带宽测试
    • 用 TCP/UDP 模式搞清楚"延迟"和"速度"分别是不是问题
    • 熟悉测试参数,避免对业务造成过大冲击
  4. 14.7:直方图 + 可视化输出
    • 为后面做汇报、写周报、向领导解释"不是我锅",提供图形证据
  5. 额外实践:配合 TCPView / Whois
    • 做一两个完整的"网络体检脚本",把诊断流程写进批处理或 PowerShell

七、给自己留一个"网络体检模版"

最后给你一个很轻量的"体检脚本思路",后面章节学完可以自己实现:

text 复制代码
1)对核心服务做 ICMP + TCP 延迟测试(PsPing)
2)查看本机端口占用与连接数(TCPView / 命令行版 netstat)
3)对出现频率最高的外部 IP 做 Whois 查询
4)生成一份简单的"网络诊断报告":延迟分布、端口健康、连接分布

配合你前面学过的 Process Explorer / Process Monitor 等工具,就可以从 "进程视角 + 网络视角" 双线排障

而不是每次都被一句"网有问题吧?"带着跑。


下一篇我们就正式进入 14.1 / 14.2 ,从 "PsPing 到底怎么用"ICMP Ping 进阶 开刀,把它从"新工具"变成你日常脚本的一部分。

相关推荐
csdn_aspnet5 小时前
TCP/IP协议栈深度解析:从基石到前沿
服务器·网络·tcp/ip
星火开发设计5 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
TTGGGFF5 小时前
控制系统建模仿真(一):掌握控制系统设计的 MAD 流程与 MATLAB 基础运算
开发语言·matlab
2501_944424126 小时前
Flutter for OpenHarmony游戏集合App实战之贪吃蛇食物生成
android·开发语言·flutter·游戏·harmonyos
梁辰兴7 小时前
计算机网络基础:虚拟专用网
服务器·网络·计算机网络·vpn·虚拟专用网·计算机网络基础·梁辰兴
Lhuu(重开版7 小时前
JS:正则表达式和作用域
开发语言·javascript·正则表达式
仙俊红7 小时前
Java Map 家族核心解析
java·开发语言
浅念-7 小时前
C语言小知识——指针(3)
c语言·开发语言·c++·经验分享·笔记·学习·算法
白狐_7988 小时前
【计网全栈通关】第 5 篇:网络层核心计算——IP 地址规划、子网划分与 CIDR
网络协议·tcp/ip·php