如何检查多个远程 Linux 系统是否打开了指定端口?
创始人
2024-03-02 02:20:02
0

我们最近写了一篇文章关于如何检查远程 Linux 服务器是否打开指定端口。它能帮助你检查单个服务器。

如果要检查五个服务器有没有问题,可以使用以下任何一个命令,如 nc(netcat)、nmaptelnet。但是如果想检查 50 多台服务器,那么你的解决方案是什么?

要检查所有服务器并不容易,如果你一个一个这样做,完全没有必要,因为这样你将会浪费大量的时间。为了解决这种情况,我使用 nc 命令编写了一个 shell 小脚本,它将允许我们扫描任意数量服务器给定的端口。

如果你要查找单个服务器扫描,你有多个选择,你只需阅读 检查远程 Linux 系统上的端口是否打开? 了解更多信息。

本教程中提供了两个脚本,这两个脚本都很有用。这两个脚本都用于不同的目的,你可以通过阅读标题轻松理解其用途。

在你阅读这篇文章之前,我会问你几个问题,如果你不知道答案你可以通过阅读这篇文章来获得答案。

如何检查一个远程 Linux 服务器上指定的端口是否打开?

如何检查多个远程 Linux 服务器上指定的端口是否打开?

如何检查多个远程 Linux 服务器上是否打开了多个指定的端口?

什么是 nc(netcat)命令?

nc 即 netcat。它是一个简单实用的 Unix 程序,它使用 TCP 或 UDP 协议进行跨网络连接进行数据读取和写入。

它被设计成一个可靠的 “后端” 工具,我们可以直接使用或由其他程序和脚本轻松驱动它。

同时,它也是一个功能丰富的网络调试和探索工具,因为它可以创建你需要的几乎任何类型的连接,并具有几个有趣的内置功能。

netcat 有三个主要的模式。分别是连接模式,监听模式和隧道模式。

nc(netcat)的通用语法:

$ nc [-options] [HostName or IP] [PortNumber]

如何检查多个远程 Linux 服务器上的端口是否打开?

如果要检查多个远程 Linux 服务器上给定端口是否打开,请使用以下 shell 脚本。

在我的例子中,我们将检查端口 22 是否在以下远程服务器中打开,确保你已经更新文件中的服务器列表而不是使用我的服务器列表。

你必须确保已经更新服务器列表 :server-list.txt 。每个服务器(IP)应该在单独的行中。

# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7

使用以下脚本可以达到此目的。

# vi port_scan.sh

#!/bin/sh
for server in `more server-list.txt`
do
  #echo $i
  nc -zvw3 $server 22
done

设置 port_scan.sh 文件的可执行权限。

$ chmod +x port_scan.sh

最后运行脚本来达到此目的。

# sh port_scan.sh

Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!

如何检查多个远程 Linux 服务器上是否打开多个端口?

如果要检查多个服务器中的多个端口,请使用下面的脚本。

在我的例子中,我们将检查给定服务器的 22 和 80 端口是否打开。确保你必须替换所需的端口和服务器名称而不使用是我的。

你必须确保已经将要检查的端口写入 port-list.txt 文件中。每个端口应该在一个单独的行中。

# cat port-list.txt
22
80

你必须确保已经将要检查的服务器(IP 地址)写入 server-list.txt 到文件中。每个服务器(IP) 应该在单独的行中。

# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7

使用以下脚本来达成此目的。

# vi multiple_port_scan.sh

#!/bin/sh
for server in `more server-list.txt`
do
  for port in `more port-list.txt`
  do
    #echo $server
    nc -zvw3 $server $port
    echo ""
  done
done

设置 multiple_port_scan.sh 文件的可执行权限。

$ chmod +x multiple_port_scan.sh

最后运行脚本来实现这一目的。

# sh multiple_port_scan.sh
Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.2 80 port [tcp/http] succeeded!

Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 80 port [tcp/http] succeeded!

Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 80 port [tcp/http] succeeded!

Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 80 port [tcp/http] succeeded!

Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 80 port [tcp/http] succeeded!

Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 80 port [tcp/http] succeeded!

via: https://www.2daygeek.com/check-a-open-port-on-multiple-remote-linux-server-using-nc-command/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:zero-MK 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

喜临门战略携手强脑科技 “...
人工智能在智慧睡眠领域的探索正开启新篇章。日前,强脑科技与喜临门联...
2025-07-07 20:16:47
月之暗面放王炸!开源Kim...
快科技6月17日消息,月之暗面推出了针对软件工程任务的全新开源代码...
2025-06-17 21:13:15
报道:投资人有望获得超过2...
继Meta Platforms Inc.向人工智能初(AI)创公司...
2025-06-14 06:42:22
“四链”人才共话AI赋能科...
本报讯(记者 武红利)昨天,IQ Talk轻社交活动举行,以“科学...
2025-06-13 07:12:36
开源播客生成MoonCas...
Zeqian Ju 投稿 量子位 | 公众号 QbitAI 仅听几...
2025-06-04 16:11:44
18亿!曝云数据平台Sno...
智东西 编译 | 金碧辉 编辑 | 程茜 智东西6月3日消息,据...
2025-06-03 21:42:44

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...