ubuntu查看端口是否已经开通,ubuntu查看端口命令

首页 > 经验 > 作者:YD1662024-03-05 21:17:34

作为系统管理员、网络工程师或应用程序开发人员,需要检查远程服务器上的端口是否打开,以确定所检查的服务是否正在运行。在本文中,我们将介绍几种在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.160 Host is up (0.88s latency). PORT STATE SERVICE 22/tcp open ssh

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

Nmap scan report for 192.168.56.160 Host is up (1.0s latency). PORT STATE SERVICE 443/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 refused bash: /dev/tcp/192.168.56.160/443: Connection refused

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

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

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.