这是一个很重要的话题,不只对 Linux 管理员而言,对于咱们你们而言也很是有帮助。个人意思是说对于工做在 IT 基础设施行业的用户来讲,了解这个话题也是很是有用的。他们须要在执行下一步操做前,检查 Linux 服务器上某个端口是否开启。linux
假如这个端口没有被开启,则他们会直接找 Linux 管理员去开启它。若是这个端口已经开启了,则咱们须要和应用团队来商量下一步要作的事。后端
在本篇文章中,咱们将向你展现如何检查某个端口是否开启的 3 种方法。安全
这个目标可使用下面的 Linux 命令来达成:服务器
如何使用 nc(netcat)命令来查看远程 Linux 系统中某个端口是否开启?网络
nc 即 netcat。netcat 是一个简单的 Unix 工具,它使用 TCP 或 UDP 协议去读写网络链接间的数据。app
它被设计成为一个可信赖的后端工具,可被直接使用或者简单地被其余程序或脚本调用。ssh
与此同时,它也是一个富含功能的网络调试和探索工具,由于它能够建立你所需的几乎全部类型的链接,而且还拥有几个内置的有趣功能。tcp
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 -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 系统中某个端口是否开启,假如你发现了其余方法能够达到相同的目的,请在下面的评论框中告知咱们。