龙空技术网

检查Linux上远程服务器端口是否打开

极客范 345

前言:

此时小伙伴们对“未开启远程服务怎么解决”大约比较注意,姐妹们都需要了解一些“未开启远程服务怎么解决”的相关内容。那么小编在网络上收集了一些关于“未开启远程服务怎么解决””的相关内容,希望姐妹们能喜欢,看官们一起来了解一下吧!

作为系统管理员、网络工程师或应用程序开发人员,需要检查远程服务器上的端口是否打开,以确定所检查的服务是否正在运行。在本文中,我们将介绍几种在Linux上检查远程服务器端口是否打开的方法。

telnet

telnet是在Windows和Linux上最常用的用于检查端口的命令。该命令的简单用法是:

telnet [主机] [端口]

当端口打开时,输出将如下所示:

Trying 192.168.56.160...Connected to 192.168.56.160.Escape character is '^]'.SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2

当端口未打开或出现其他问题时,输出将如下所示:

Trying 192.168.56.160...telnet: Unable to connect to remote host: Connection refused

该命令通常在Linux上可用。

nc

nc或netcat是一种实用程序,可以执行许多与TCP和UDP相关的操作,包括数据包传输、端口扫描等。要检查端口是否打开,语法如下:

nc -vz [主机] [端口]

-v用于以详细模式打印输出,-z用于扫描指定端口上的监听服务。

当端口打开时,输出如下:

Connection to 192.168.56.160 22 port [tcp/ssh] succeeded

当端口未打开时,输出如下:

nc: connect to 192.168.56.160 port 443 (tcp) failed: Connection refused

非常直观。

nmap

nmap是一种用于网络扫描的开源实用程序。它不仅可以用于扫描开放端口,还可以做更多其他操作。它可以用于同时检查多个主机和端口。该实用程序通常需要显式安装。

基本语法如下:

nmap -p [端口] [主机]

当端口打开时,输出如下:

Nmap scan report for 192.168.56.160Host is up (0.88s latency).PORT   STATE SERVICE22/tcp open  ssh

当端口未打开时,输出如下:

Nmap scan report for 192.168.56.160Host is up (1.0s latency).PORT    STATE  SERVICE443/tcp closed https

它不仅可以用于扫描TCP端口,还可以用于扫描UDP端口。它可以提供更多类似上面显示的端口的服务信息。

echo > /dev/tcp/...

如果您熟悉Linux,应该知道一切皆文件,主机和端口的状态也可以通过文件处理器获得。如果没有telnet或nc可用(在Docker容器中经常看到),您可以使用此方法来检查远程端口是否打开。语法如下:

echo > /dev/tcp/[host]/[port] && echo "Port is open"echo > /dev/udp/[host]/[port] && echo "Port is open"

这取决于您尝试的协议类型,命令会有所不同。对于像ssh这样的服务,通常是TCP协议,您可以使用echo > /dev/tcp...

当端口打开时,输出如下所示:

$ echo > /dev/tcp/192.168.56.160/22 && echo "Port is open"Port is open

当端口未打开时,输出如下所示:

$ echo > /dev/tcp/192.168.56.160/443 && echo "Port is open"bash: connect: Connection refusedbash: /dev/tcp/192.168.56.160/443: Connection refused

这种方法通常是最后一种,也是最安全的方法,因为它不需要安装外部工具。

除了这些命令之外,还有其他第三方库可以用于检查端口。此外,每种编程语言应该都提供了进行此操作的能力。因此,请选择最适合您需求的方法。

标签: #未开启远程服务怎么解决 #ubuntu怎么查看ssh服务有没有开启