📅  最后修改于: 2023-12-03 15:27:22.784000             🧑  作者: Mango
在 Ubuntu 上检查端口可以用于调试网络问题、确定服务是否正在运行等。本文介绍了如何在 Ubuntu 中使用 Shell/Bash 检查端口。
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
表示显示端口号而不是服务名称。
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
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 中检查端口。对于出现问题的服务,这些命令可以提供有用的信息,帮助快速解决问题。