【linuxnetstat命令详解】`netstat` 是 Linux 系统中一个非常常用的网络状态查看工具,主要用于显示与 IP、TCP、UDP 和路由表相关的网络连接信息。通过 `netstat`,用户可以查看当前系统的网络连接状态、监听端口、路由表等信息,是排查网络问题的重要工具之一。
一、netstat 命令总结
功能 | 命令示例 | 说明 |
显示所有连接和监听端口 | `netstat -a` | 显示所有活动的网络连接和监听的端口 |
显示 TCP 协议相关的信息 | `netstat -t` | 只显示 TCP 协议的连接 |
显示 UDP 协议相关的信息 | `netstat -u` | 只显示 UDP 协议的连接 |
显示进程信息 | `netstat -p` | 显示每个连接对应的进程 ID(PID)和进程名 |
显示路由表 | `netstat -r` | 显示系统的路由表信息 |
显示统计信息 | `netstat -s` | 显示各个协议的统计信息 |
显示监听端口 | `netstat -l` | 显示正在监听的端口 |
显示详细信息 | `netstat -v` | 显示更详细的输出信息 |
二、常用组合命令示例
命令 | 功能说明 |
`netstat -an` | 显示所有连接,不解析主机名和端口号 |
`netstat -atn` | 显示所有 TCP 连接,不解析主机名和端口号 |
`netstat -utnp` | 显示所有 UDP 连接,并显示进程信息 |
`netstat -rn` | 显示路由表,不解析主机名 |
`netstat -s` | 显示各协议的统计信息,如发送/接收的数据包数 |
三、netstat 输出字段解释
以下是一个典型的 `netstat -an` 输出示例:
```
tcp00 192.168.1.1:22 192.168.1.2:54321ESTABLISHED
tcp00 0.0.0.0:80 0.0.0.0:LISTEN
```
字段 | 说明 |
tcp / udp | 协议类型 |
0 | 接收队列中的数据量 |
0 | 发送队列中的数据量 |
192.168.1.1:22 | 本地地址和端口 |
192.168.1.2:54321 | 远程地址和端口 |
ESTABLISHED / LISTEN | 连接状态 |
四、注意事项
- `netstat` 在较新的 Linux 发行版中已被 `ss` 命令逐步取代,但 `netstat` 仍然广泛使用。
- 使用 `netstat -p` 需要 root 权限才能看到进程信息。
- 若系统未安装 `netstat`,可以通过 `yum install net-tools` 或 `apt install net-tools` 安装。
五、总结
`netstat` 是 Linux 系统中一个功能强大的网络诊断工具,能够帮助管理员快速了解系统的网络状态。虽然在新版本中逐渐被 `ss` 替代,但在很多场景下依然具有不可替代的作用。掌握其基本用法和常见参数,有助于提高网络故障排查效率。