在 linux 中,端口是一个编号的网络连接,它允许设备通过 internet 或本地网络与其他设备通信。确保端口是开放和可访问的非常重要,它确保网络业务的正常运行。在本文中,我们将讨论五个检查 linux 中端口是否打开的常用方法。
check open port on remote host
首先,检查一个端口是否打开并在远程主机上侦听。
using nc command
nc 命令允许您向端口发送数据,并查看是否收到响应。nc 命令基本语法如下:
nc -vz hostname port
例如,要检查主机 example.com 上的 22 端口是否打开,可以使用以下命令:
nc -vz example.com 22
如果端口打开,您将看到消息 “connection to hostname port [ tcp/ssh ]succeeded”。如果端口关闭,您将看到消息 “connection to hostname port [ tcp/ssh ] failed: connection refused”。
using telnet command
telnet 命令用于连接到远程主机上的端口,看看是否建立了连接。查询端口是否打开,使用以下语法:
telnet hostname port
例如,要检查主机 www.example.com 上的 80 端口是否打开,可以使用以下命令:
telnet www.example.com 80
如果端口是打开的,您将看到一个空白屏幕。要退出,请按 ctrl + ],然后键入 quit。如果端口关闭,您将看到 “connected to hostname. escape character is ‘^]’. connection closed by foreign host”
using nmap command
nmap 命令是一个执行网络扫描和探测的实用程序,它可以通过端口扫描来检查目标主机端口是否打开。要检查端口是否打开,使用以下语法:
nmap -p port hostname
例如,要检查主机 www.example.com 上的 80 端口是否打开,可以使用以下命令:
nmap -p 80 www.example.com
如果端口是打开的,您将在输出中看到一行,表明端口是打开的。如果端口已关闭,您将看到一行,指示端口已关闭。
shell script to check port status
您可以创建一个 bash 脚本检查本地或远程主机上端口是否打开,示例脚本如下:
#!/usr/bin/env bash
host=192.168.10.100 #remote host
port=22 # port to check
nc -z ${host} ${port}
if [ $? -eq 0 ]
then
echo "port is open"
else
echo "port is closed"
fi
这里 host 是远程或本地主机系统的主机名或 ip 地址。port 是要检查的端口号。,nc 命令可以连接到主机上的任何端口并返回状态。$? 是一个系统环境变量,包含最后一个命令的退出状态。

check listening port on localhost
很多时候,我们需要检查本地机器上是否有端口正在侦听。
using lsof command
lsof 命令是一个实用程序,用于显示有关打开文件的信息。要检查端口是否打开,使用以下语法:
lsof -i :port
例如,要检查 80 端口是否打开,可以使用以下命令:
lsof -i :80
如果端口打开,将看到一行,包含端口号和使用该端口的进程的名称。如果端口关闭,将看不到任何输出。
using ss command
ss 命令是一个显示网络套接字信息的实用程序。要检查端口是否打开,使用以下语法:
ss -lnp | grep port
例如,要检查 80 端口是否打开,可以使用以下命令:
ss -lnp | grep 80
如果端口打开,将看到一行,其中包含端口号和状态 listen。如果端口关闭,将看不到任何输出。
注意: 您可能需要使用 sudo 来运行这些命令,这取决于您的系统配置。
到此这篇关于检查linux中端口是否打开的五种常用方法的文章就介绍到这了,更多相关检查linux中端口是否打开内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论