学会这些命令的基本操作,方便日常对网络故障的处理。
1. ping
2. netstat
3. ipconfig / ifconfig
4. tracert / traceroute
5. nslookup / dig
netstat
netstat(Network Statistics)是一个用于显示网络连接、路由表、接口统计等网络相关信息的命令行工具,支持 Windows、Linux 和 macOS 等操作系统。以下是 netstat 的详细说明:
一、基本功能显示活动的网络连接(TCP/UDP) 显示监听中的端口(服务) 显示路由表(类似 route print) 显示网络接口统计信息(数据包收发、错误计数等)
二、常用参数
参数 | 说明 | -a | 显示所有连接和监听端口(All) | -t | 仅显示 TCP 协议连接 | -u | 仅显示 UDP 协议连接 | -n | 禁用域名解析,直接显示 IP 地址和端口号(加快输出速度) | -p | 显示进程信息(PID/进程名,Linux/macOS 需要 sudo) | -l | 仅显示监听(Listening)状态的端口 | -r | 显示路由表(同 route print) | -s | 显示网络协议统计信息(如 TCP/UDP 收发数据包数量) | -c | 持续输出信息(按秒刷新,类似实时监控) | -e | 显示接口流量统计(Windows 专用,类似 ifconfig 的收发字节数)
|
三、用法示例
1. 查看所有活动连接和监听端口
# Linux/macOS
netstat -antup # 显示所有TCP/UDP连接(含进程)
# Windows
netstat -ano # 显示所有连接,-o 对应进程PID
2. 查看监听中的端口
# 显示所有监听中的TCP端口(含服务名称)
netstat -ltn
# 显示所有监听中的UDP端口(禁用域名解析)
netstat -lun
3. 查找特定端口或IP
# 查找端口号为80的连接(Linux/macOS)
netstat -anp | grep :80
# Windows 查找端口80
netstat -ano | findstr :80
4. 显示进程信息
# Linux/macOS(需sudo权限查看进程名)
sudo netstat -tnlp
# Windows(通过PID可到任务管理器查进程)
netstat -ano | findstr "PID"
5. 统计TCP连接状态
# 统计各类TCP状态(如TIME_WAIT、ESTABLISHED数量)
netstat -ant | awk '/^tcp/ {print $6}' | sort | uniq -c
6. 显示路由表
netstat -rn # 同 route -n(Linux)
7. 显示网络接口流量
# Windows
netstat -e
# Linux(更推荐 ifconfig 或 ip -s link)
netstat -i
四、输出列含义以 netstat -antp 为例:
五、应用场景
六、注意事项权限要求:查看进程信息(-p)需要管理员权限(Linux/macOS 用 sudo)。 替代工具:在高并发场景下,netstat 可能较慢,推荐使用 ss(Linux)或 lsof。 Windows 差异:参数格式和输出内容与 Linux/macOS 略有不同。
掌握 netstat 能帮助你快速诊断网络问题,是运维和开发的必备工具!
|