Linux如何查询哪些端口被占用

Linux如何查询哪些端口被占用,第1张

前言

如何确定端口是否在Linux或类unix系统下占用怎么检查哪些端口正在Linux服务器上被占用Linux系统如何使用命令行检查端口是否已经在占用

查询哪些端口正在服务器的网络接口上被占用是非常重要的工作。您需要查询打开端口以检测入侵。除了入侵之外,出于故障排除的目的,可能有必要检查服务器上的其他应用程序是否已经使用了某个端口。例如,您可以在同一系统上安装Apache和Nginx服务器。因此,有必要了解Apache或Nginx是否使用TCP端口80或443。本教程提供了使用netstat、nmap和lsof命令查询正在使用的端口并查看正在使用该端口的应用程序的步骤。

如何查询端口是否在使用中:
检查Linux上被占用的端口和应用程序:

Step1: 打开终端

Step2: 执行以下任意一条命令查看被占用的端口

查看端口22是否被占用:

较新版本的Linux使用以下查询命令:

方法1: 使用lsof命令查询占用端口
先安装lsof命令
RHEL/CentOS系统:

Debian/Ubuntu系统安装lsof命令

使用语法如下

OpenBSD

看到类似这样的输出结果:

sshd是进程名字
TCP 22表示sshd进程占用了TCP 22端口,正在监听中(LISTEN)
1243表示sshd进程号

方法二:使用netstat查询被占用的端口号

较新的Linux发行版已经不再默认集成netstat命令,而是使用新命令ss取代了。
如果要使用netstat命令,需要手动安装net-tools套件:
RHEL/CentOS系统安装net-tools套件,执行以下命令:

Debian/Ubuntu系统执行以下命令:

您可以使用netstat查询被占用的端口和应用程序,如下所示。
执行以下命令查询:

在Linux上,netstat命令已经废弃了一段时间。因此,你需要使用ss命令如下:

或者:

其中ss命令选项如下:
-t : 只显示Linux上的TCP套接字
-u : 在Linux上只显示UDP套接字
-l : 监听套接字。例如,TCP端口22由SSHD服务器打开。
-p : 列出打开套接字的进程名
-n : 不要解析服务名称,即不要使用DNS

FreeBSD/MacOS X netstat 语法
FreeBSD/MacOS X查询被占用的端口

或者

OpenBSD netstat 语法
OpenBSD查询被占用的端口

或者

方法三:使用`nmap`命令查询Linux被占用的端口

默认情况下,Linux发行版并没有默认安装nmap命令,
CentOS系统安装nmap

Ubuntu系统安装nmap

使用nmap查询本机被占用的端口

查询Linux系统被占用的UDP端口

查询Linux系统被占用的TCP端口

你可以同时查询被占用的TCP和UDP端口

结论:

本教程解释了如何在Linux系统上使用命令行查询TCP或者UDP端口是否被占用。有关更多信息,请参见nmap命令和lsof命令页面

查本地监听端口 和连接一般用netstat -an

2netstat -ano命令可以查看本机目前所有端口使用情况

netstat -ano下包含PID号,通过任务管理器对照PID号,即可查看到哪个程序调用了xxx端口

还有netstat -anb 查端口对应的进程

如下图

3在命令行中输入netstat / 可以查看netstat的相关信息。

C:\Documents and Settings\Administrator>netstat /

显示协议统计信息和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-t] [-v] [interval]

-a            显示所有连接和监听端口。

-b            显示包含于创建每个连接或监听端口的

可执行组件。在某些情况下已知可执行组件

拥有多个独立组件,并且在这些情况下

包含于创建连接或监听端口的组件序列

被显示。这种情况下,可执行组件名

在底部的 [] 中,顶部是其调用的组件,

等等,直到 TCP/IP 部分。注意此选项

可能需要很长时间,如果没有足够权限

可能失败。

-e            显示以太网统计信息。此选项可以与 -s

选项组合使用。

-n            以数字形式显示地址和端口号。

-o            显示与每个连接相关的所属进程 ID。

-p proto      显示 proto 指定的协议的连接;proto 可以是

下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r            显示路由表。

-s            显示按协议统计信息。默认地,显示 IP、

IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;

-p 选项用于指定默认情况的子集。

-t            显示当前连接卸载状态。

-v            与 -b 选项一起使用时将显示包含于

为所有可执行组件创建连接或监听端口的

组件。

interval      重新显示选定统计信息,每次显示之间

暂停时间间隔(以秒计)。按 CTRL+C 停止重新

显示统计信息。如果省略,netstat 显示当前

配置信息(只显示一次)

如何查看网站服务器端口

1、打开我们的Telnet服务以后,在我们的本地电脑选择开始--》运行--》cmd命令。

2、 在运行选项中运行我们的cmd命令,我们会发现电脑d出一个对话框。

3、 在cmd命令编辑器中写上“telnet >

4、输入上述命令以后选择Enter(回车),如果出现新的空白对话框以后,说明百度网站的80端口是开启的。

5 如果在cmd命令中输入” telnet >

6 那么则说明,百度网站所在的服务器没有开始3889端口。

1、打开电脑,在电脑最左下方,点击菜单。

2、在搜索栏里输入 cmd 然后点击回车。

3、运行cmd 进入管理员页面,在这个页面上输入 netstat_na 。

4、就可以看到你端口的命令了,端口状态下的LISTENING是监听状态,ESTABLISHED是处于通信状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13177920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-16
下一篇 2023-06-16

发表评论

登录后才能评论

评论列表(0条)

保存