[Linux]Ubuntu/CentOS查看端口使用情况等操作示例

2021-03-17 328点热度 0人点赞 0条评论

本篇介绍下,如何在Linux下,和端口有关的命令的操作,CentOS、Ubuntu等主流Linux都是可以的,甚至在MacOS的Terminal下也能使用。

主要使用到的命令是netstat,首先检查系统里有没有netstat,如果没有的话,请安装net-tools

#CentOS等系统,使用yum安装
yum install net-tools

#Ubuntu等系统,使用apt-get安装
apt install net-tools

国际惯例,上命令演示,说明写在注释里。

# 查看总体端口使用情况,
# State如果是LISTEN 说明是程序监听端口
# State如果是ESTABLISHED 说明是正在有连接这个端口(正在使用)
# 可以根据端口、state等用|命令做一些筛选,如:
# netstat -ant | grep LISTEN

netstat -ant

[email protected]:root# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:444             0.0.0.0:*               LISTEN
tcp        0      0 192.168.1.1:22      192.168.1.2:52321        ESTABLISHED

# 查看 80端口的使用情况
netstat -anp|grep 80
# 或:
lsof -i:443

[email protected]:root# lsof -i:443
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 18898 root 8u IPv4 115082911 0t0 TCP *:https (LISTEN)

#lsof 列出的列信息解释:
#COMMAND:进程名字
#PID:进程ID,可以根据这个,来强行停止来释放端口
#USER: 启动进程的用户

#根据netstat或者lsof查到进程,或者进程ID后,可以根据进程来确定端口是哪个程序开出来的,
#比如是nginx,那么可以通过systemctl stop nginx等来操作端口,如果不是很确定,也可以强行关闭:
kill -9 PID
#如上面的例子,nginx开启443的进程ID是18898
#那么可以(一般不推荐这样做,除非找不到正常关闭或者重启进程的方法)
kill -9 18898

admin

这个人很懒,什么都没留下

文章评论

*

code