最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用 Shell 腳本查看多個服務(wù)器的端口是否打開的方法

 更新時間:2020年06月16日 08:46:33   作者:良許Linux  
這篇文章主要介紹了如何使用 Shell 腳本來查看多個服務(wù)器的端口是否打開的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

我們在進(jìn)行服務(wù)器配置的時候,經(jīng)常要查看服務(wù)器的某個端口是否已經(jīng)開放。如果服務(wù)器只有一兩臺的話,那很好辦,只需要使用 nc 命令一個個查看即可。

但是,如果你的服務(wù)器是個集群,有很多臺呢?那如果還一個個手動去檢查的話,效率肯定是無比低下的,年底裁員名單里肯定有你。

在這種情況下,我們完全可以使用 Shell 腳本配合 nc 命令來達(dá)到我們的目的。而且,不管服務(wù)器有幾臺,需要檢查的端口有幾個,都可以實(shí)現(xiàn)這樣的目標(biāo)。

在本文里,我們用 Shell 腳本來實(shí)現(xiàn)兩個需求:

  • 掃描多臺服務(wù)器的一個端口是否打開
  • 掃描多臺服務(wù)器的多個端口是否打開

在開始之前,我們先來了解一下 nc 命令。

nc 命令簡介

nc 是英文單詞 netcat 的縮寫,它是通過使用 TCP 或 UDP 的網(wǎng)絡(luò)協(xié)議的連接來讀或?qū)憯?shù)據(jù),可以直接被第三方程序或腳本直接調(diào)用。

同時,它是一款功能非常強(qiáng)大的網(wǎng)絡(luò)調(diào)試工具,因?yàn)樗梢詣?chuàng)建幾乎所有你所需要的連接方式。

nc 工具主要有三種功能模式:連接模式、監(jiān)聽模式、通道模式。它的一般使用格式如下:

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

接下來,我們就用 Shell 腳本結(jié)合 nc 命令來實(shí)現(xiàn)我們的兩個需求。

1. 掃描多臺服務(wù)器的一個端口是否打開

在這里,我們先把需要查詢的所有服務(wù)器地址全部放在一個 server-list.txt 文件里,每個地址單獨(dú)一行,如下:

# 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

然后,我們再用 for 循環(huán)依次掃描 server-list.txt 里對應(yīng)服務(wù)器的端口是否打開。在這里,我們掃描 22 端口是否打開。

# vi port_scan.sh

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

最后,我們給這個腳本賦予可執(zhí)行權(quán)限即可。

$ chmod +x port_scan.sh

之后,我們就可以用這個腳本來自動依次檢查多個服務(wù)器的 22 端口是否已打開。

# 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!

2. 掃描多臺服務(wù)器的多個端口是否打開

在這里,我們同樣把需要查詢的所有服務(wù)器地址全部放在一個 server-list.txt 文件里,每個地址單獨(dú)一行。這里就不重復(fù)演示了。

與此同時,我們也把需要查詢的服務(wù)器端口放在另一個 port-list.txt 文件里,每個端口單獨(dú)一行,如下所示:

# cat port-list.txt
22
80

然后,我們再用 for 循環(huán)依次掃描 server-list.txt 里對應(yīng)服務(wù)器 port-list.txt 所列的端口是否打開。注意,這里用到了兩個 for 循環(huán),第一層是服務(wù)器列表,第二層是端口列表。

# 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

最后,我們給這個腳本賦予可執(zhí)行權(quán)限即可。

$ chmod +x multiple_port_scan.sh

之后,我們就可以用這個腳本來自動依次檢查多個服務(wù)器的多個端口是否已打開。

# 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!

總結(jié)

到此這篇關(guān)于使用 Shell 腳本來查看多個服務(wù)器的端口是否打開的方法的文章就介紹到這了,更多相關(guān) Shell 腳本查看多個服務(wù)器的端口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)計模式之模板方法模式

    Java設(shè)計模式之模板方法模式

    這篇文章介紹了Java設(shè)計模式之模板方法模式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • 深入探究SpringBoot攔截器的自定義設(shè)計與實(shí)現(xiàn)全攻略

    深入探究SpringBoot攔截器的自定義設(shè)計與實(shí)現(xiàn)全攻略

    攔截器是Spring框架提供的核心功能之?,主要用來攔截用戶的請求,在指定方法前后,根據(jù)業(yè)務(wù)需要執(zhí)行預(yù)先設(shè)定的代碼,本文將給大家和大家一起深入探究SpringBoot攔截器的自定義設(shè)計與實(shí)現(xiàn),需要的朋友可以參考下
    2024-05-05
  • Spring Boot Filter 過濾器的使用方式

    Spring Boot Filter 過濾器的使用方式

    這篇文章主要介紹了Spring Boot Filter 過濾器的使用方式,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • MyBatis實(shí)現(xiàn)遞歸查詢的方法詳解

    MyBatis實(shí)現(xiàn)遞歸查詢的方法詳解

    在項(xiàng)目開發(fā)過程中,往往會遇到多級菜單、分類等多層級結(jié)構(gòu)數(shù)據(jù)的查詢。本文就來為大家講講MyBatis實(shí)現(xiàn)遞歸查詢的方法,感興趣的可以動手嘗試一下
    2022-08-08
  • springboot快速集成mybatis-plus的詳細(xì)教程

    springboot快速集成mybatis-plus的詳細(xì)教程

    這篇文章主要介紹了springboot快速集成mybatis-plus的教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot2.0解決Long型數(shù)據(jù)轉(zhuǎn)換成json格式時丟失精度問題

    SpringBoot2.0解決Long型數(shù)據(jù)轉(zhuǎn)換成json格式時丟失精度問題

    這篇文章主要介紹了SpringBoot2.0解決Long型數(shù)據(jù)轉(zhuǎn)換成json格式時丟失精度問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java基于嵌入式Tomcat的War包啟動器

    java基于嵌入式Tomcat的War包啟動器

    本文主要介紹了java基于嵌入式Tomcat的War包啟動器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Spring?Security配置多個數(shù)據(jù)源并添加登錄驗(yàn)證碼的實(shí)例代碼

    Spring?Security配置多個數(shù)據(jù)源并添加登錄驗(yàn)證碼的實(shí)例代碼

    這篇文章主要介紹了Spring?Security配置多個數(shù)據(jù)源并添加登錄驗(yàn)證碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • springboot themaleaf 第一次進(jìn)頁面不加載css的問題

    springboot themaleaf 第一次進(jìn)頁面不加載css的問題

    這篇文章主要介紹了springboot themaleaf 第一次進(jìn)頁面不加載css的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java SPI 機(jī)制知識點(diǎn)總結(jié)

    Java SPI 機(jī)制知識點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于Java SPI 機(jī)制知識點(diǎn)總結(jié)內(nèi)容,需要的朋友們可以參考下。
    2020-02-02

最新評論

丰台区| 达孜县| 襄樊市| 维西| 梨树县| 凉山| 本溪| 凌海市| 凉山| 张掖市| 济宁市| 云浮市| 灵寿县| 普兰店市| 上蔡县| 射洪县| 施秉县| 化隆| 墨江| 宜黄县| 孝感市| 晴隆县| 林周县| 绥芬河市| 东宁县| 张家港市| 郎溪县| 鄂托克前旗| 上杭县| 浠水县| 横山县| 黎平县| 南平市| 股票| 安顺市| 罗源县| 威宁| 东山县| 嘉鱼县| 西乌| 威远县|