基础网络连通性测试
这些是网络管理员最常用、最先使用的命令,用于判断网络是否可达、是否存在延迟或丢包。

ping - 测试网络连通性
作用:通过发送 ICMP 回显请求包来测试与另一台主机的连接性,并计算往返时间。
-
Windows (CMD):
# 基本用法,测试与 baidu.com 的连通性 ping baidu.com # 发送指定数量的数据包(4 个) ping -n 4 baidu.com # 持续 ping,直到手动停止 (Ctrl+C) ping -t baidu.com # 设置数据包大小(字节) ping -l 1472 baidu.com
-
Linux/macOS:
# 基本用法 ping baidu.com # 发送指定数量的数据包(4 个) ping -c 4 baidu.com # 持续 ping ping baidu.com # 设置间隔时间(秒) ping -i 2 baidu.com
解读:Reply from... 表示成功。Request timed out. 表示目标主机不响应或网络不通。Destination host unreachable. 表示本地路由表中没有到达目标主机的路径。

traceroute / tracert - 跟踪网络路径
作用:显示数据包从源主机到目标主机所经过的路由器(网关)列表,并显示每一步的延迟。
-
Windows (CMD):
# 跟踪到 baidu.com 的路径 tracert baidu.com # 不尝试解析主机名,只显示 IP 地址 tracert -d baidu.com # 使用指定的数据包大小 tracert -f 1 baidu.com
-
Linux/macOS:
# 基本用法 traceroute baidu.com # 使用 ICMP 代替 UDP(通常更可靠) traceroute -I baidu.com # 显示每个路由器的往返时间(RTT)三次 traceroute -q 3 baidu.com
解读:每一行代表一个路由器, 表示该路由器不响应(可能被防火墙屏蔽),通过分析延迟的变化,可以定位网络瓶颈。

mtr - 更强大的路径诊断工具
作用:traceroute 和 ping 的结合体,能持续跟踪路径,并实时显示每个节点的丢包率和延迟,比 traceroute 更直观。
-
Linux/macOS (通常需要安装):
# Ubuntu/Debian 安装 sudo apt-get install mtr # CentOS/RHEL 安装 sudo yum install mtr # 基本用法 mtr baidu.com # 以报告模式输出,适合脚本 mtr --report baidu.com
解读:Loss% 列显示丢包率,Snt (Sent), Recv (Received), Best/Avg/Worst 显示延迟统计,丢包率高且延迟大的节点就是问题所在。
网络接口与配置管理
用于查看和管理本机网络接口的 IP 地址、MAC 地址等配置信息。
ipconfig / ifconfig - 查看和配置网络接口
-
Windows (CMD):
# 显示所有网络接口的详细 IP 配置信息 ipconfig /all # 仅显示每个接口的基本信息 ipconfig # 刷新 DNS 解析器缓存 ipconfig /flushdns # 释放当前 DHCP 获取的 IP 地址 ipconfig /release # 重新从 DHCP 服务器获取 IP 地址 ipconfig /renew
-
Linux/macOS (
ifconfig已被ip命令取代,但很多系统仍保留):# 显示所有网络接口的详细信息 ifconfig -a # 启用或禁用指定网卡 (eth0) sudo ifconfig eth0 up sudo ifconfig eth0 down # 为网卡配置 IP 地址 sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
ip - Linux/macOS 现代网络配置工具
作用:ifconfig 的现代替代品,功能更强大。
-
Linux/macOS:
# 显示所有网络接口的摘要信息 ip addr show # 显示指定接口的详细信息 (eth0) ip addr show eth0 # 显示路由表 ip route show # 显示 ARP 缓存 ip neigh show # 为网卡添加一个 IP 地址 (别名) sudo ip addr add 192.168.1.101/24 dev eth0 # 删除一个 IP 地址 sudo ip addr del 192.168.1.101/24 dev eth0
DNS 域名解析查询
用于检查域名是否能正确解析到 IP 地址。
nslookup - 交互式 DNS 查询工具
作用:查询域名对应的 IP 地址,或反向查询 IP 对应的域名。
-
Windows & Linux/macOS:
# 查询 baidu.com 的 A 记录 nslookup baidu.com # 查询指定 DNS 服务器上的记录 nslookup baidu.com 8.8.8.8 # 进入交互模式,可以连续查询 nslookup > set type=mx > qq.com > exit
dig - 更专业的 DNS 查询工具
作用:提供比 nslookup 更详细、更专业的 DNS 信息输出。
-
Linux/macOS (通常需要安装):
# 查询 baidu.com 的 A 记录 dig baidu.com # 查询 MX (邮件交换) 记录 dig baidu.com MX # 只返回简短答案 dig +short baidu.com # 查询指定 DNS 服务器 dig @8.8.8.8 baidu.com
网络连接与端口状态
用于查看当前的网络连接状态、开放的端口以及进程信息。
netstat - 查看网络连接、路由表、接口统计
作用:经典网络状态查看工具。
-
Windows & Linux/macOS:
# 显示所有活动的 TCP 和 UDP 连接,包含 PID 和进程名 (Windows) netstat -ano # 只显示监听端口 netstat -anb | findstr "LISTENING" (Windows) netstat -luntp (Linux) # 以数字形式显示地址和端口号,不进行域名解析 netstat -n # 显示 TCP 连接状态统计 netstat -s
ss - Linux/macOS 中 netstat 的现代替代品
作用:ss 命令功能与 netstat 类似,但速度更快,信息更全。
-
Linux/macOS:
# 显示所有 TCP 和 UDP 连接 ss -tunap # -t: TCP, -u: UDP, -n: 数字, -a: 所有, -p: 进程ID # 只显示监听的 TCP 端口 ss -tlnp # 显示所有 sockets ss -a
Get-NetTCPConnection - PowerShell 版本
作用:在 Windows 上使用 PowerShell 获取网络连接信息,比 netstat 更易于脚本化。
-
Windows (PowerShell):
# 获取所有 TCP 连接 Get-NetTCPConnection # 获取所有处于 `Listen` 状态的连接 Get-NetTCPConnection | Where-Object { $_.State -eq 'Listen' } # 按本地地址和端口排序 Get-NetTCPConnection | Sort-Object LocalAddress, LocalPort
高级路由与网络诊断
route - 查看和操作本地路由表
作用:手动添加、删除或修改路由条目。
-
Windows & Linux/macOS:
# 查看本地路由表 route print (Windows) route -n (Linux) # 添加一条路由 (Windows) # route add 192.168.2.0 mask 255.255.255.0 192.168.1.1 # 添加一条路由 (Linux) # sudo ip route add 192.168.2.0/24 via 192.168.1.1
arp - 查看 ARP 缓存
作用:查看 IP 地址与 MAC 地址的映射关系。
-
Windows & Linux/macOS:
# 查看本地 ARP 缓存表 arp -a # 添加一个静态 ARP 条目 # arp -s 192.168.1.1 aa-bb-cc-dd-ee-ff
防火墙与安全组管理
netsh - Windows 网络配置和防火墙管理
作用:一个功能强大的命令行工具,可以配置网络接口、IPsec、防火墙等。
-
Windows (CMD):
# 查看防火墙规则 netsh advfirewall firewall show rule name=all # 添加一个入站规则,允许特定端口的 TCP 流量 netsh advfirewall firewall add rule name="Allow Port 8080" dir=in action=allow protocol=TCP localport=8080 # 删除一个规则 # netsh advfirewall firewall delete rule name="Allow Port 8080"
iptables / nftables - Linux 防火墙管理
作用:Linux 内核内置的防火墙工具,功能极其强大和灵活。
-
Linux (以
iptables为例):# 查看当前所有规则 (链) sudo iptables -L -n -v # 允许来自特定 IP 的所有流量 sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT # 允许访问本地 80 端口 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 拒绝所有其他入站流量 (默认策略) sudo iptables -P INPUT DROP
系统与服务管理
systemctl - Linux 系统和服务管理器
作用:控制 systemd 系统和服务,启动、停止、启用、禁用服务等。
-
Linux:
# 查看所有服务的状态 systemctl list-units --type=service --state=running # 查看某个服务的详细状态和日志 (nginx) systemctl status nginx.service # 启动一个服务 sudo systemctl start nginx.service # 停止一个服务 sudo systemctl stop nginx.service # 设置服务开机自启 sudo systemctl enable nginx.service # 禁止服务开机自启 sudo systemctl disable nginx.service
sc - Windows 服务管理器
作用:在 Windows 上管理服务。
-
Windows (CMD):
# 查看所有服务的状态 sc query state= all # 查看特定服务 (Spooler) 的状态 sc query Spooler # 启动一个服务 sc start Spooler # 停止一个服务 sc stop Spooler # 修改服务的启动类型 (例如自动启动) sc config Spooler start= auto
总结与建议
| 命令 | 主要用途 | Windows (CMD) | Linux/macOS |
|---|---|---|---|
| 连通性测试 | |||
ping |
测试主机是否可达 | ping |
ping |
tracert |
跟踪网络路径 | tracert |
traceroute |
mtr |
持续路径诊断 | (需安装) | mtr |
| 接口配置 | |||
ipconfig |
查看/刷新 IP/DNS | ipconfig |
ifconfig / ip |
ip |
现代 IP 配置 | (PowerShell) | ip |
| DNS 查询 | |||
nslookup |
交互式 DNS 查询 | nslookup |
nslookup |
dig |
专业 DNS 查询 | (需安装) | dig |
| 连接状态 | |||
netstat |
查看网络连接 | netstat -ano |
netstat / ss |
ss |
快速连接状态查看 | (无) | ss -tunap |
| 高级诊断 | |||
route |
管理 IP 路由 | route print |
route -n / ip route |
arp |
查看 ARP 缓存 | arp -a |
arp -a |
| 防火墙 | |||
netsh |
管理 Windows 防火墙 | netsh advfirewall |
(无) |
iptables |
管理 Linux 防火墙 | (无) | iptables |
| 服务管理 | |||
sc |
管理 Windows 服务 | sc |
(无) |
systemctl |
管理 Linux 服务 | (无) | systemctl |
给网管员的建议:
- 熟练掌握基础:
ping,tracert,ipconfig/ifconfig,nslookup是你的瑞士军刀,必须烂熟于心。 - 拥抱现代工具:在 Linux 上,优先使用
ip,ss,systemctl,在 Windows 上,PowerShell (Get-NetTCPConnection) 比传统的netstat更强大。 - 善用组合命令:在 Linux 中,
grep和awk是网管的左膀右臂,可以快速从大量输出中过滤出关键信息。netstat -anp | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr可以统计出当前每个 IP 的连接数。 - 理解原理:命令只是工具,理解 TCP/IP 协议、路由、DNS、ARP 等底层工作原理,才能真正做到“运筹帷幄,决胜千里”。
这份大全涵盖了日常网管工作的绝大部分场景,希望对你有所帮助!
