📜  端口上的 ubuntu 检查过程 - Shell-Bash (1)

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

端口上的 Ubuntu 检查过程 - Shell/Bash

在 Ubuntu 上检查端口可以用于调试网络问题、确定服务是否正在运行等。本文介绍了如何在 Ubuntu 中使用 Shell/Bash 检查端口。

1. 使用 netstat 命令

netstat 命令可以显示活动的网络连接和监听端口。在终端中输入以下命令可以查看所有的端口:

$ netstat -tln

输出结果应该类似于:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     

该命令显示了所有监听的 TCP 端口和相关的 IP 地址。其中,参数 -t 表示显示 TCP 端口,-l 表示仅显示监听的端口,-n 表示显示端口号而不是服务名称。

2. 使用 nmap 命令

nmap 命令是一个网络探测和安全审核工具,可以扫描指定的端口并确定这些端口上正在运行的服务。在 Ubuntu 中,可以通过以下命令安装 nmap

$ sudo apt-get install nmap

安装完成后,可以使用以下命令扫描指定的端口:

$ nmap -p <port> <ip-address>

其中,<port> 表示要扫描的端口号,<ip-address> 表示要扫描的 IP 地址。例如,以下命令扫描 127.0.0.1 上的 80 端口:

$ nmap -p 80 127.0.0.1

输出结果类似于:

Starting Nmap 7.01 ( https://nmap.org ) at 2022-07-22 16:44 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000035s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
3. 使用 telnet 命令

telnet 命令可以模拟客户端连接到指定的端口,并检查连接是否成功。如果连接成功,则意味着端口正在运行相应的服务。在终端输入以下命令来测试端口是否开放:

$ telnet <ip-address> <port>

例如,以下命令测试 127.0.0.1 上的 80 端口:

$ telnet 127.0.0.1 80

如果连接成功,则终端显示类似以下输出:

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

可以按 CTRL+]quit 命令关闭连接。

结论

使用上述命令可以在 Ubuntu 中检查端口。对于出现问题的服务,这些命令可以提供有用的信息,帮助快速解决问题。