欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

查看远程 Linux 系统中某个端口是否开启的三种方法

程序员文章站 2022-07-09 13:31:52
这是一个很重要的话题,不仅对 linux 管理员而言,对于我们大家而言也非常有帮助。我的意思是说对于工作在 it 基础设施行业的用户来说,了解这个话题也是非常有用的。他们需...

这是一个很重要的话题,不仅对 linux 管理员而言,对于我们大家而言也非常有帮助。我的意思是说对于工作在 it 基础设施行业的用户来说,了解这个话题也是非常有用的。他们需要在执行下一步操作前,检查 linux 服务器上某个端口是否开启。

假如这个端口没有被开启,则他们会直接找 linux 管理员去开启它。如果这个端口已经开启了,则我们需要和应用团队来商量下一步要做的事。

在本篇文章中,我们将向你展示如何检查某个端口是否开启的 3 种方法。

这个目标可以使用下面的 linux 命令来达成:

  • nc
  • nmap
  • telnet

如何使用 nc(netcat)命令来查看远程 linux 系统中某个端口是否开启?

nc 即 netcat 。 netcat 是一个简单的 unix 工具,它使用 tcp 或 udp 协议去读写网络连接间的数据。

它被设计成为一个可信赖的后端工具,可被直接使用或者简单地被其他程序或脚本调用。

与此同时,它也是一个富含功能的网络调试和探索工具,因为它可以创建你所需的几乎所有类型的连接,并且还拥有几个内置的有趣功能。

netcat 有三类功能模式,它们分别为连接模式、监听模式和隧道模式。

nc ( netcat )命令的一般语法:

$ nc [-options] [hostname or ip] [portnumber]

在下面的例子中,我们将检查远程 linux 系统中的 22 端口是否开启。

假如端口是开启的,你将获得类似下面的输出。

# nc -zvw3 192.168.1.8 22
connection to 192.168.1.8 22 port [tcp/ssh] succeeded!

命令详解:

  • nc
  • z
  • v
  • w3
  • 192.168.1.8
  • 22

当检测到端口没有开启,你将获得如下输出:

# nc -zvw3 192.168.1.95 22
nc: connect to 192.168.1.95 port 22 (tcp) failed: connection refused

如何使用 nmap 命令来查看远程 linux 系统中某个端口是否开启?

nmap (“network mapper”)是一个用于网络探索和安全审计的开源工具,被设计用来快速地扫描大规模网络,尽管对于单个主机它也同样能够正常工作。

nmap 以一种新颖的方式,使用裸 ip 包来决定网络中的主机是否可达,这些主机正提供什么服务(应用名和版本号),它们运行的操作系统(系统的版本),它们正在使用的是什么包过滤软件或者防火墙,以及其他额外的特性。

尽管 nmap 通常被用于安全审计,许多系统和网络管理员发现在一些日常任务(例如罗列网络资产、管理服务升级的计划、监视主机或者服务是否正常运行)中,它也同样十分有用。

nmap 的一般语法:

$ nmap [-options] [hostname or ip] [-p] [portnumber]

假如端口是开启的,你将获得如下的输出:

# nmap 192.168.1.8 -p 22

starting nmap 7.70 ( https://nmap.org ) at 2019-03-16 03:37 ist nmap scan report for 192.168.1.8 host is up (0.00031s latency).

port state service

22/tcp open ssh

nmap done: 1 ip address (1 host up) scanned in 13.06 seconds

假如端口没有开启,你将得到类似下面的结果:

# nmap 192.168.1.8 -p 80
starting nmap 7.70 ( https://nmap.org ) at 2019-03-16 04:30 ist
nmap scan report for 192.168.1.8
host is up (0.00036s latency).

port  state service
80/tcp closed http

nmap done: 1 ip address (1 host up) scanned in 13.07 seconds

如何使用 telnet 命令来查看远程 linux 系统中某个端口是否开启?

telnet 命令被用来交互地通过 telnet 协议与另一台主机通信。

telnet 命令的一般语法:

$ telnet [hostname or ip] [portnumber]

假如探测成功,你将看到类似下面的输出:

$ telnet 192.168.1.9 22
trying 192.168.1.9...
connected to 192.168.1.9.
escape character is '^]'.
ssh-2.0-openssh_5.3
^]
connection closed by foreign host.

假如探测失败,你将看到类似下面的输出:

$ telnet 192.168.1.9 80
trying 192.168.1.9...
telnet: unable to connect to remote host: connection refused

当前,我们只找到上面 3 种方法来查看远程 linux 系统中某个端口是否开启,假如你发现了其他方法可以达到相同的目的,请在下面的评论框中告知我们。

总结

以上所述是小编给大家介绍的查看远程 linux 系统中某个端口是否开启的三种方法,希望对大家有所帮助