netstat指标详解
使用 netstat -tunlp | grep 端口号
命令可以查看特定端口号的占用情况。以下是命令输出中常见字段的解释:
# 示例输出
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
tcp6 0 0 :::443 :::* LISTEN 5678/httpd
1
2
3
2
3
# 指标解释
Proto: 协议类型
- 表示使用的协议类型,如
tcp
或udp
,以及tcp6
或udp6
(表示 IPv6 协议)。
- 表示使用的协议类型,如
Recv-Q: 接收队列
- 表示接收队列的长度,通常为 0。如果该值不为 0,表示网络上有数据包未被处理。
Send-Q: 发送队列
- 表示发送队列的长度,通常为 0。如果该值不为 0,表示有数据包正在等待发送。
Local Address: 本地地址
- 表示本地的 IP 地址和端口号。在上面的例子中,
0.0.0.0:80
表示监听所有 IPv4 地址上的 80 端口,:::443
表示监听所有 IPv6 地址上的 443 端口。
- 表示本地的 IP 地址和端口号。在上面的例子中,
Foreign Address: 远程地址
- 表示远程的 IP 地址和端口号。通常在 LISTEN 状态下为
*
,表示接受来自任何远程地址的连接。
- 表示远程的 IP 地址和端口号。通常在 LISTEN 状态下为
State: 连接状态
- 表示连接的状态,常见的有以下几种状态:
LISTEN
: 监听连接请求ESTABLISHED
: 连接已建立TIME_WAIT
: 等待连接超时CLOSE_WAIT
: 等待关闭FIN_WAIT1
: 等待连接关闭FIN_WAIT2
: 等待连接关闭SYN_RECV
: 收到同步请求SYN_SENT
: 发送同步请求
- 表示连接的状态,常见的有以下几种状态:
PID/Program name: 进程 ID 和程序名称
- 表示占用该端口的进程 ID 和程序名称。在上面的例子中,
1234/nginx
表示进程 ID 为 1234 的nginx
程序占用了 80 端口,5678/httpd
表示进程 ID 为 5678 的httpd
程序占用了 443 端口。
- 表示占用该端口的进程 ID 和程序名称。在上面的例子中,
# 使用示例
假设我们要查看 80 端口的占用情况,可以使用以下命令:
netstat -tunlp | grep :80
1
输出可能类似于:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
1
表示 nginx
程序占用了 80 端口,监听所有 IPv4 地址上的连接请求。
通过这些信息,你可以了解系统中特定端口的占用情况,帮助进行网络配置和故障排除。
上次更新: 2024/07/08, 18:19:51