netstat(Network Statistics)是一个功能强大的网络工具,用于显示网络连接、路由表、接口统计等网络相关信息。它在 Windows、Linux/Unix 等操作系统中广泛使用(Linux 中逐渐被 ss 或 ip 命令替代,但仍有支持)。以下是其主要作用及常见用法:
查看活动网络连接
netstat -a(显示所有连接和监听端口)显示协议统计信息
netstat -s(显示各协议统计摘要)查看路由表
route print(Windows)或 ip route(Linux)。netstat -r显示网络接口状态
netstat -i识别进程占用端口
netstat -anonetstat -tulnp 或 ss -tulnp| 参数 | 作用 |
|---|---|
-a |
显示所有连接和监听端口 |
-t |
仅显示TCP连接 |
-u |
仅显示UDP连接 |
-n |
以数字形式显示IP和端口(禁用DNS解析) |
-p |
显示进程信息(Linux需sudo) |
-r |
显示路由表 |
-s |
显示协议统计信息 |
-l |
仅显示监听状态的端口 |
-o |
显示进程PID(Windows) |
排查端口占用
# Windows(查找占用8080端口的PID):
netstat -ano | findstr "8080"
# Linux(查找占用端口的进程):
sudo netstat -tulnp | grep 80
检查异常连接
# 查看所有外部TCP连接(快速发现可疑IP):
netstat -atn
监控服务状态
# 确认Web服务是否监听80端口:
netstat -ltn | grep ':80'
网络性能分析
# 查看TCP协议错误或重传统计:
netstat -s | grep -i "retransmit"
Linux替代方案:
ss(更快速)或 ip 命令(如 ip route)。ss -tulnp 等效于 netstat -tulnp。Windows差异:
-ano 合并使用)。tasklist 命令通过PID查进程名:cmd
tasklist | findstr "1234"权限要求:
-p/-o)通常需要管理员/root权限。lsof(Linux/macOS):更强大的端口进程查看工具,如 lsof -i :8080。tcpdump/Wireshark:深度分析网络流量。nmap:扫描开放端口和服务。如果需要更具体的用法或问题排查,可以进一步说明场景!