网络连接测试与诊断
ping - 测试网络连通性
ping 是最常用的网络命令,用于测试本地计算机与另一台主机之间的网络是否连通,以及延迟情况。

- 功能: 发送 ICMP 回显请求包到目标主机,并等待响应,根据返回的响应时间来判断网络延迟。
- Windows:
ping [目标地址] - macOS/Linux:
ping [目标地址]
常用参数:
- Windows:
-t: 持续不断地 ping,直到手动按Ctrl+C停止。-n count: 指定发送的请求数量,默认为 4。-l size: 指定发送的数据包大小(字节),默认为 32。
- macOS/Linux:
-c count: 指定发送的请求数量,默认是无限循环,需按Ctrl+C停止。-s size: 指定发送的数据包大小(字节),默认为 56(加上 ICMP 头部共 64 字节)。-i interval: 指定两次 ping 之间的间隔时间(秒)。
示例:
- Windows:
ping www.baidu.com - macOS/Linux:
ping -c 4 www.baidu.com(只发送 4 个包)
traceroute / tracert - 跟踪网络路径
这两个命令功能完全相同,用于显示数据包从本地主机到目标主机所经过的路由器(网关)列表。
- 功能: 逐跳显示数据包的路径,可以帮助你定位网络延迟或丢包发生在哪个环节。
- Windows:
tracert [目标地址] - macOS/Linux:
traceroute [目标地址]
常用参数:

- Windows:
-d: 不解析主机名,只显示 IP 地址,加快速度。-h maximum_hops: 指定搜索目标的最大跃点数,默认为 30。
- macOS/Linux:
-n: 不解析主机名,只显示 IP 地址。-m max_ttl: 指定最大跳数(TTL),与 Windows 的-h类似。
示例:
- Windows:
tracert www.google.com - macOS/Linux:
traceroute -n www.google.com
pathping - 结合 ping 和 tracert 的高级诊断 (仅限 Windows)
pathping 是一个更强大的工具,它结合了 tracert 的路径发现功能和 ping 的网络统计功能,能更好地分析路径上的网络延迟和丢包情况。
- 功能: 显示数据包路径,并在一段时间内对路径上的每个节点进行 ping 测试,最终提供丢包率的统计。
- 命令:
pathping [目标地址]
示例:
pathping www.github.com
网络信息查看
ipconfig / ifconfig - 查看/配置网络接口信息
这两个命令用于查看和管理计算机的网络接口配置。

- 功能: 显示当前计算机的网络接口(如以太网、Wi-Fi)的 IP 地址、子网掩码、默认网关、MAC 地址等信息。
- Windows:
ipconfig - macOS/Linux:
ifconfig(在较新的 Linux 发行版中,推荐使用ip addr)
常用参数:
- Windows:
all: 显示所有网络接口的完整信息,包括 MAC 地址和 DNS 服务器。release: 释放当前 DHCP 获取的 IP 地址。renew: 重新从 DHCP 服务器获取 IP 地址。
- macOS/Linux:
ifconfig [interface] up/down: 启用或禁用指定网络接口。ifconfig [interface] [IP地址] netmask [子网掩码]: 为指定接口配置 IP 地址。
示例:
- Windows:
ipconfig /all - macOS/Linux:
ifconfig或ip addr
nslookup - DNS 查询工具
nslookup 用于查询 DNS 记录,可以帮助你将域名解析为 IP 地址,或者反向查询 IP 对应的域名。
- 功能: 交互式或命令行式的 DNS 查询工具。
- Windows & macOS/Linux:
nslookup [域名或IP]
常用参数:
[域名]: 直接查询域名的 IP 地址。[IP]: 执行反向 IP 查询。server [DNS服务器地址]: 指定要使用的 DNS 服务器进行查询。
示例:
nslookup www.baidu.com(查询百度服务器的 IP)nslookup 8.8.8.8(查询 8.8.8.8 这个 IP 对应的域名)nslookup www.qq.com 114.114.114.114(使用 114.114.114.114 这个 DNS 服务器查询)
netstat - 查看网络连接、路由表、接口统计
netstat 是一个功能非常强大的工具,用于显示网络连接、路由表、接口统计等信息。
- 功能: 监控传入和传出的网络连接,查看哪些端口正在被监听。
- Windows & macOS/Linux:
netstat [参数]
常用参数:
-a: 显示所有连接和监听端口。-n: 以数字形式显示地址和端口号,不进行域名解析,速度更快。-t: 显示 TCP 连接。-u: 显示 UDP 连接。-l: (Linux/macOS) 只显示监听(Listening)的端口。-p: (Linux/macOS) 显示进程 ID 和进程名称,需要 root 权限。-ano: (Windows)-a(所有),-n(数字),-o(显示进程 ID/OID)。
示例:
- 查看所有监听的 TCP 端口:
- Windows:
netstat -ano | findstr "LISTENING" - macOS/Linux:
netstat -tuln
- Windows:
- 查看某个进程占用的端口 (PID 为 4 的进程):
- Windows:
netstat -ano | findstr ":4" - macOS/Linux:
netstat -tulnp | grep ':4'
- Windows:
ss - 替代 netstat 的新工具 (Linux)
在现代 Linux 发行版中,ss 是 netstat 的替代品,它更快、功能更强大,默认显示的信息更丰富。
- 功能: 类似
netstat,但性能更高,能显示更多 TCP 状态信息。 - 命令:
ss [参数]
常用参数:
-t: TCP-u: UDP-l: 只显示监听端口-n: 数字形式-p: 显示进程 ID 和名称-a: 所有-4: IPv4-6: IPv6
示例:
ss -tuln(查看所有监听的 TCP/UDP 端口)ss -tulpn(显示监听端口及其对应的进程)
网络通信与安全
telnet - 远程登录与端口测试
telnet 是一个古老的远程协议,现在更多被用作测试某个端口是否开放的工具。
- 功能: 测试指定 IP 的某个端口是否可以被访问(开放)。
- Windows & macOS/Linux:
telnet [主机名或IP] [端口号]
示例:
telnet www.baidu.com 80(测试百度网站的 80 端口是否开放)- 如果端口开放,会显示一个空白屏幕并等待输入;如果关闭,则会连接失败。
curl / wget - 下载网页或文件
这两个是功能强大的命令行下载工具,也可以用来测试 HTTP/HTTPS 服务。
- 功能: 从服务器传输数据。
curl更侧重于与 URL 交互,wget更侧重于递归下载整个网站。 - Windows & macOS/Linux:
curl [URL]或wget [URL]
常用参数:
- curl:
-I或--head: 只获取 HTTP 头信息,不获取页面内容,常用于检查服务状态。-v: 显示详细的通信过程。
- wget:
-q: 安静模式,不输出信息。-O [文件名]: 将输出写入指定文件。
示例:
curl -I http://www.example.com(检查 example.com 的 HTTP 响应头)wget -q http://www.example.com(静默下载 example.com 的首页)
Windows 专用高级命令
netsh (Network Shell) - 网络配置利器
netsh 是一个功能极其强大的命令行脚本工具,可以显示或配置几乎所有网络方面。
- 功能: 配置 IP 地址、接口、防火墙、代理等。
- 命令:
netsh [上下文] [子命令]
常用场景:
- 重置网络:
netsh winsock reset(重置 Winsock 目录) 和netsh int ip reset(重置 TCP/IP 协议栈),这两个命令组合使用可以解决很多疑难杂症。 - 查看和配置 IP 地址:
netsh interface ip show config
macOS / Linux 专用高级命令
dig - 更专业的 DNS 查询工具
dig 是比 nslookup 更强大、更灵活的 DNS 查询工具,提供更详细的 DNS 查询信息。
- 功能: 查询 DNS 的各种记录(A, AAAA, MX, NS, SOA 等)。
- 命令:
dig [域名] [记录类型]
示例:
dig www.baidu.com(查询 A 记录)dig mx qq.com(查询 qq.com 的 MX 邮件交换记录)dig +short www.baidu.com(只返回 IP 地址,简洁模式)
总结速查表
| 命令 | 主要功能 | Windows | macOS/Linux | 备注 |
|---|---|---|---|---|
| ping | 测试网络连通性 | ping |
ping |
最基础的网络测试 |
| tracert | 跟踪网络路径 | tracert |
traceroute |
定位网络延迟/丢包点 |
| ipconfig | 查看网络接口信息 | ipconfig /all |
ifconfig / ip addr |
Windows/Mac/Linux 略有不同 |
| nslookup | DNS 查询 | nslookup |
nslookup |
查询域名与 IP 的对应关系 |
| netstat | 查看网络连接 | netstat -ano |
netstat -tuln |
Linux 上推荐使用 ss |
| curl/wget | 下载/测试 HTTP | curl / wget |
curl / wget |
curl 更灵活,wget 更擅长下载 |
| telnet | 测试端口开放 | telnet |
telnet |
安全性低,主要用于端口测试 |
| pathping | 高级路径诊断 | pathping |
- | Windows 独有,功能强大 |
| netsh | 网络配置利器 | netsh |
- | Windows 独有,功能极其强大 |
| dig | 专业 DNS 查询 | - | dig |
macOS/Linux,比 nslookup 更详细 |
掌握这些命令,你就可以解决绝大多数日常遇到的网络问题,从简单的“上不了网”到复杂的“网站访问慢”都能进行初步的诊断和排查。
