netstat是linux中用于查看网络连接、端口占用等信息的工具,需安装net-tools包;使用netstat -tuln可查看监听端口,加-p参数显示进程信息,如netstat -tulnp | grep :80可查80端口被哪个进程占用;推荐替代命令为ss和lsof。
在linux系统中,netstat 是一个网络统计工具,可以用来查看网络连接、路由表、接口统计信息以及端口占用情况。虽然部分新系统推荐使用 ss 或 lsof,但 netstat 依然广泛使用且功能强大。
1. 检查是否安装 netstat
netstat 属于 net-tools 软件包,在一些现代发行版(如 ubuntu 20.04+、centos 8)中可能默认未安装。
检查命令:
netstat --version
若提示命令未找到,需先安装:
- Ubuntu/debian: sudo apt install net-tools
- CentOS/RHEL: sudo yum install net-tools 或 sudo dnf install net-tools
2. 查看端口占用的基本命令
使用以下命令查看当前所有监听和已建立的连接端口:
netstat -tuln
- -t:显示 TCP 连接
- -u:显示 udp 连接
- -l:仅显示监听状态的端口(LISTEN)
- -n:以数字形式显示地址和端口号(不解析主机名和服务名)
这个命令能快速列出系统中哪些端口正在被监听。
3. 查看具体端口被哪个进程占用
要查看是哪个进程占用了某个端口,需要加上 -p 参数(显示进程PID和名称):
netstat -tulnp
- -p:显示占用端口的进程信息(需 root 权限查看其他用户的进程)
例如,查看 80 端口被谁占用:
netstat -tulnp | grep :80
输出示例:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
说明:PID 为 1234 的 nginx 进程正在监听 80 端口。
4. 常见使用场景与技巧
以下是一些实用组合:
- 只看 TCP 监听端口:netstat -tnlp
- 只看 UDP 使用情况:netstat -ulnp
- 查看特定端口(如 22):netstat -an | grep :22
- 查看某个进程名相关的连接:netstat -anp | grep ssh
注意:由于 netstat 在部分新系统中已被标记为过时,建议了解替代命令:
- 用 ss -tulnp 替代 netstat(更快,功能类似)
- 用 lsof -i :端口号 查看端口占用,例如:lsof -i :80
基本上就这些。netstat 虽然老,但直观易懂,适合快速排查端口占用问题。掌握几个常用参数组合,日常运维足够使用。
以上就是Linux怎么使用netstat查看linux centos nginx 端口 ubuntu 工具 路由 dnf linux系统 nginx 接口 udp linux ubuntu centos ssh debian
暂无评论内容