📌  相关文章
📜  使用端口 linux 检查应用程序 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:22:25.775000             🧑  作者: Mango

使用端口 Linux 检查应用程序 - Shell/Bash

在 Linux 中,网络连接的应用程序使用端口与其他应用程序通信。如果您的网络连接存在问题,您可以使用命令行工具来检查端口和正在使用它的应用程序。

以下是使用 Shell/Bash 在 Linux 中检查端口和应用程序的方法:

1. 检查端口

您可以使用 netstat 命令来检查正在使用的端口。该命令列出了当前网络连接的详细信息,包括本地地址、外部地址和正在使用的端口。

sudo netstat -tuln

该命令可以列出所有 TCP 和 UDP 连接以及它们在系统上正在使用的端口。

以下是输出的例子:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
udp        0      0 0.0.0.0:68              0.0.0.0:*                           
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           
udp6       0      0 :::546                  :::*                                
udp6       0      0 :::5353                 :::*
2. 指定端口号检查应用程序

您可以使用 lsof 命令指定端口号并查看正在运行的应用程序。命令将返回使用该端口的应用程序的详细信息。

sudo lsof -i :<port_number>

在上面的命令中,将 <port_number> 替换为要检查的端口号。

以下是输出的例子:

COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    57663     root    3u  IPv4  36076      0t0  TCP *:22 (LISTEN)
sshd    57663     root    4u  IPv6  36079      0t0  TCP *:22 (LISTEN)
sshd    57697     user1   3u  IPv4  36076      0t0  TCP *:22 (LISTEN)
sshd    57697     user1   4u  IPv6  36079      0t0  TCP *:22 (LISTEN)

输出显示了使用端口 <port_number> 的所有应用程序。

3. 更详细的端口信息

要获取更多有关使用端口的详细信息,您可以使用 sockstat 命令。该命令列出了有关连接的更多详细信息,例如 UID、PID、用户名和连接状态等。

sudo sockstat -l -p <port_number>

再次将 <port_number> 替换为要检查的端口号。

以下是输出的例子:

USER     IP              PORT     PID     CMD                   
root     *               22       57663   sshd: [priv]
root     *               22       57697   sshd: [priv]
user1    *               22       57697   sshd: user1@pts/1 (sshd)

这些命令可以帮助您找出正在使用某个端口的应用程序。如果您需要排除网络连接问题或查找出现问题的服务,使用这些命令将非常有用。