0
点赞
收藏
分享

微信扫一扫

“深入理解Spring框架:从入门到精通“

Linux ➾ 端口占用检查

🔻 前言

🔻 一、什么是监听端口

监听端口是指在计算机网络通信中,通过指定一个特定的端口号,使得计算机可以监听该端口上的网络通信请求。当计算机监听某个端口时,它会不断地检查该端口上是否有传入的网络连接请求,如果有则会接受连接并进行相应的处理。

监听端口通常用于服务器程序,服务器程序需要监听特定的端口号,以便能够接受客户端的连接请求并提供相应的服务。例如,Web服务器通常会监听80端口,SMTP服务器监听25端口,FTP服务器监听21端口等。

每个监听端口都可以使用防火墙打开或关闭(过滤)。

不能同时让两个服务监听同一IP地址上的同一端口。

🔻 二、使用lsof命令查看端口占用情况

lsof是一个用于查看系统打开的文件和进程的工具。通过结合-i参数,我们可以只查看特定端口的相关信息。

sudo lsof -i:<端口号>

这里的<端口号>是要查找的具体端口号。例如,要查看占用端口号为80的进程,可以运行:

sudo lsof -i:80
或者
sudo lsof -nP -iTCP:80 -sTCP:LISTEN

执行命令后,终端会显示占用指定端口的进程的相关信息,包括进程ID(PID)和进程名称。
在这里插入图片描述
查看所有侦听TCP端口的列表:

sudo lsof -i
或者
sudo lsof -nP -iTCP -sTCP:LISTEN

在这里插入图片描述

🔻 三、使用netstat命令检查监听端口

netstat是一个命令行工具,可以提供有关网络连接的信息。

列出所有正在侦听的TCP或UDP端口,包括使用端口的服务和套接字状态,可以运行:

sudo netstat -tunlp

在这里插入图片描述

使用 grep命令过滤结果。例如,要查找在TCP端口22上侦听的进程,可以运行:

sudo netstat -tnlp | grep :22

在这里插入图片描述
还可以根据其他条件过滤,例如PID,协议,状态等。

###过滤tcp协议
sudo netstat -tnlp | grep tcp

###过滤httpd服务
sudo netstat -tnlp | grep httpd

###过滤856进程
sudo netstat -tnlp | grep 856

###过滤LISTEN状态
sudo netstat -tnlp | grep LISTEN

在这里插入图片描述

🔻 四、使用ss 检查监听端口

ss是新的netstat。它缺少netstat的某些功能,但是公开了更多的TCP状态,并且速度稍快。

ss命令用于显示socket状态. 可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计。

它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具。

列出所有正在侦听的TCP或UDP端口,可以运行:

sudo ss -tunlp

在这里插入图片描述

常用的ss命令:

🔻 总结—温故知新

🟢 该章详细介绍了在Linux系统中,几种常用的端口占用检查方法:使用netstat命令、lsof命令、ss命令。并给出了详细的实例,快速准确地查找占用端口的进程。
举报

相关推荐

0 条评论