网络检测命令概览
网络管理员和开发者经常使用命令行工具来诊断网络连通性、分析路由、查看端口状态等。以下是几个最常用的网络检测命令及其典型用法。
1. ping
测试主机之间的连通性,通过发送ICMP回显请求并等待响应。可用于检查网络是否可达、延迟和丢包率。
ping 8.8.8.8 # 持续ping直到手动停止
ping -c 4 example.com # 发送4个数据包后退出
ping -i 2 192.168.1.1 # 每2秒发送一个包
2. traceroute / tracert
追踪数据包从源到目的经过的路由器(跳点),帮助定位网络瓶颈或故障点。Linux/macOS使用traceroute,Windows使用tracert。
traceroute google.com
# Windows:
tracert 8.8.8.8
3. nslookup / dig
查询DNS记录,获取域名对应的IP地址等信息。dig在Linux/macOS上功能更强大。
nslookup example.com # 简单查询
dig example.com A # 查询A记录
dig -x 8.8.8.8 # 反向查询PTR记录
4. netstat
显示网络连接、路由表、接口统计等信息。常用选项:
netstat -an # 显示所有连接和监听端口(数字形式)
netstat -r # 显示路由表
netstat -i # 显示网络接口信息
5. ss (socket statistics)
netstat的现代替代品,更快速、信息更丰富。常见用法:
ss -tuln # 显示所有监听的TCP/UDP端口
ss -ant # 显示所有TCP连接
6. telnet / nc
测试端口是否开放或进行原始TCP连接。
telnet example.com 80 # 连接web服务器的80端口,可手动发送HTTP请求
nc -zv example.com 80 # 使用nc(netcat)测试端口开放
7. curl / wget
发送HTTP请求,测试Web服务或API。支持多种协议和详细输出。
curl -I http://example.com # 获取HTTP头
curl -v https://example.com # 显示详细连接信息
wget -O - http://example.com # 下载并输出到stdout
8. mtr
结合ping和traceroute的功能,实时显示每个跳点的丢包率和延迟。
mtr google.com
9. ip / ifconfig
配置和查看网络接口信息。ip是Linux现代工具,ifconfig传统但可能未预装。
ip addr show # 查看IP地址
ip route show # 查看路由表
ifconfig # 显示接口信息(Linux需安装net-tools)
10. arp
查看或修改本地ARP缓存,显示IP地址与MAC地址的映射。
arp -a # 显示所有ARP条目
实用技巧
- 使用
man <命令>查看详细帮助。 - 在Windows中,许多命令(如ping、tracert)可用
/?查看帮助。 - 结合
grep、awk等文本处理工具可以过滤输出。 - 防火墙可能影响探测结果,需注意。