linux环境下,如何查看那些端口被占用了

作者

linux环境下,查看端口的占用情况,有两个命令。分别是 lsofnetstat。lsof (list open files)打印系统当前打开的文件,linux下,一切皆文件,网络也可以当做文件处理。netstat是在内核中访问网络连接状态及其相关信息的程序。这两个命令都可以很方便查看,那些端口被占用了。


linux 查看端口占用
linux 查看端口占用

这里简单介绍一下,这两个命令是如何使用的。如果losf 命令没有找到,需要先安装以下。

 yum install  -y lsof

# 查看3306(mysql)端口是否占用
lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  1319 mysql   14u  IPv4  19747      0t0  TCP *:mysql (LISTEN

lsof 可以打印系统当前打开的所有文件, 使用 i 选项可以查看所有的的网络连接。

# 查看所有的网络连接
lsof -i

# 查看所有的 tcp 连接
lsof -i tcp

# 查看所有的 utp 连接
lsof -i utp

# 查看 80端口谁在使用
lsof -i :80
lsof -i tcp:80

使用 netstat 查看端口是否被被占用


# -a 显示所有的端口 # -n 显示数字,不显示协议比如(http)或者hostname don't resolve names # -p 显示进程的名字 和 PID netstat -anp | grep ":80" root 1626 0.0 0.0 75780 1484 ? Ss 21:31 0:00 nginx: master process /usr/sbin/nginx netstat -ap | grep "nginx" tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN 1626/nginx: master # 查看http是否运行 netstat -a | grep "http" tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN # 或者这个命令 netstat -an | grep ":80" tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

回复

电子邮件地址不会被公开。