本文目录导读:

- 第一类:基础连通性与诊断(排查“能不能通”)
- 第二类:HTTP/DNS 应用层测试(排查“服务对不对”)
- 第三类:流量与抓包分析(排查“到底传了什么”)
- 第四类:性能与带宽测试
- 第五类:端口扫描与安全检测
- 一个典型的故障排查流程(示例)
- 总结建议
“运维网络工具”是一个很宽泛的概念,它涵盖了从命令行基础工具到图形化抓包软件、从本地诊断到分布式监控的各种软件,为了给你最实用的答案,我将它们按使用场景分类,并说明核心用法。
如果你是刚接触运维,建议从最基础的 ping、telnet、curl 和 tcpdump 开始练习。
第一类:基础连通性与诊断(排查“能不能通”)
这类工具是运维的“手脚”,用于判断网络是否可达、端口是否开放。
ping — 测试基本连通性与延迟
- 场景:服务器连不上,先 ping 一下 IP 看通不通。
- 核心用法:
ping -c 4 192.168.1.1 # Linux/Mac 发送4次包后停止 ping -n 4 192.168.1.1 # Windows 发送4次包 ping -i 0.2 baidu.com # Linux 每0.2秒发一次(快速检测丢包)
- 看什么:
time:延迟毫秒数。loss:丢包率,如果丢包高,说明网络不稳定或链路拥塞。TTL:初步判断目标系统类型(Windows 128,Linux 64)。
telnet / nc — 测试特定端口是否开放
- 场景:数据库连不上,用 telnet 测 3306 端口。
- 核心用法:
telnet 192.168.1.100 3306 # 连接成功会空白或显示协议信息,连接失败会报错 nc -zv 192.168.1.100 3306 # z:不发送数据,v:详细信息 nc -zv 192.168.1.100 20-100 # 扫描20到100端口
- 注意:现代 Linux 可能没有 telnet,可用
nc替代;Windows 需在“启用或关闭Windows功能”中开启 Telnet 客户端。
tracert / traceroute — 追踪路由路径
- 场景:能 ping 通但很慢,看数据包经过了哪些路由器。
- 核心用法:
traceroute -n baidu.com # Linux/Mac,-n 不反解域名显示IP更快 tracert baidu.com # Windows
- 看什么:看哪一跳延迟突然飙升(*)或丢包,那通常是瓶颈或故障点。
第二类:HTTP/DNS 应用层测试(排查“服务对不对”)
curl — 模拟 HTTP 请求(最常用)
- 场景:检查 Web 服务返回的状态码、响应头、内容。
- 核心用法:
curl -I http://example.com # 只查看响应头(看 200、302、404 状态码) curl -v http://example.com # 显示详细交互过程(包含SSL握手) curl -L http://example.com # 跟随重定向(302跳转) curl -X POST -d 'key=value' http://api.com # 发送POST请求 curl -o /dev/null -s -w "%{http_code}\n" http://example.com # 只输出状态码(用于脚本)
nslookup / dig — DNS 解析诊断
- 场景:域名解析失败或解析到错误 IP。
- 核心用法:
nslookup example.com # 简单查询 nslookup example.com 8.8.8.8 # 指定使用谷歌DNS解析 dig example.com # Linux专用,信息更详细 dig @114.114.114.114 example.com # 指定DNS服务器
第三类:流量与抓包分析(排查“到底传了什么”)
这是运维的“显微镜”,能看到数据包里的具体内容。
tcpdump — 命令行抓包(Linux 必会)
- 场景:服务器上没图形界面,怀疑端口请求不对或包丢了。
- 核心用法:
tcpdump -i eth0 host 10.0.0.1 # 抓取与特定IP交互的包 tcpdump -i any port 80 # 抓取所有网卡上的80端口流量 tcpdump -i eth0 -c 100 -w dump.pcap # 抓100个包存为文件(可下载后用Wireshark分析) tcpdump -nn -v -i eth0 icmp # 抓ping包,不解析主机名
Wireshark / TShark — 图形化抓包
- 场景:需要可视化分析协议细节(如TCP三次握手、TLS证书)。
- 用法:
- 选择网卡 -> 开始抓包。
- 在过滤栏输入
http、tcp.port==443、ip.addr==10.0.0.1过滤。 - 跟踪 TCP 流:右键 -> Follow -> TCP Stream,查看完整对话。
第四类:性能与带宽测试
iperf3 — 测量端到端真实带宽
-
场景:想知道两台服务器之间的实际传输速度,而非带宽上限。
-
核心用法:
# 服务端(监听) iperf3 -s -p 5201 # 客户端(测试上行带宽) iperf3 -c 192.168.1.1 -p 5201 -t 30 # 测试下行带宽 iperf3 -c 192.168.1.1 -p 5201 -R -t 30
mtr — 综合 ping + traceroute
- 场景:持续追踪路由变化,同时看丢包率。
- 核心用法:
mtr -r baidu.com # 报告模式(适合脚本) mtr -n baidu.com # 不解析域名
- 优势:能同时显示每一跳的丢包率和延迟变化,判断是哪里丢包。
第五类:端口扫描与安全检测
nmap — 端口扫描王
- 场景:检查服务器对外暴露了哪些端口,是否存在“后门”服务。
- 核心用法:
nmap -sS -p 1-1000 192.168.1.1 # TCP SYN扫描常见端口(快且隐蔽) nmap -sV 192.168.1.1 # 探测端口上的服务及版本 nmap -O 192.168.1.1 # 探测操作系统类型 nmap -p 80,443 --script http-headers 192.168.1.1 # 使用脚本收集HTTP头
一个典型的故障排查流程(示例)
假设用户反馈无法访问网站 www.example.com:
- 检查本地:
ping www.example.com(通?不通?)- 如果不通:
nslookup www.example.com看DNS解析是否对。 - 如果DNS解析对:
tracert www.example.com看路由走到哪断了。
- 如果不通:
- 检查服务:ping 通了,
curl -I http://www.example.com看 HTTP 状态码。- 如果是 502:去检查后端 Web 服务器(Nginx/Apache)和 PHP/Java 进程。
- 如果是 200 但内容不对:可能是缓存或负载均衡策略问题。
- 深挖:如果怀疑是某个请求异常慢,在服务器上
tcpdump -i eth0 port 80 -w test.pcap然后拉下来用 Wireshark 分析。
总结建议
- 新手:先掌握
ping(测通断)、telnet/nc(测端口)、curl(测HTTP)、nslookup/dig(测DNS)。 - 进阶:熟练
tcpdump+Wireshark抓包分析,以及iperf3和nmap。 - 记住:看帮助,几乎所有工具都有
--help或man [工具名],man tcpdump,遇到不熟悉的参数,先查帮助文档。
如果你有具体的运维场景(公司内网访问公网很慢怎么查”),可以告诉我,我再针对性地给出工具组合和排查步骤。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。