netstat
(Network Statistics)是一个功能强大的网络工具,用于显示网络连接、路由表、接口统计等网络相关信息。它在 Windows、Linux/Unix 等操作系统中广泛使用(Linux 中逐渐被 ss
或 ip
命令替代,但仍有支持)。以下是其主要作用及常见用法:
查看活动网络连接
netstat -a
(显示所有连接和监听端口)显示协议统计信息
netstat -s
(显示各协议统计摘要)查看路由表
route print
(Windows)或 ip route
(Linux)。netstat -r
显示网络接口状态
netstat -i
识别进程占用端口
netstat -ano
netstat -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
:扫描开放端口和服务。如果需要更具体的用法或问题排查,可以进一步说明场景!