指令碼中批量處理遠端主機的埠是否開啟

2021-09-20 22:41:25 字數 1221 閱讀 5774

上午接到任務,將來業務上線前,要求我們先做一下我們系統業務與其他系統業務的連通性測試。包括ping測試(網路是否連通)、埠是否開啟。領導給的意見是使用telnet,因為之前他們的業務也是這樣測試的,但是他具體的細節忘了。要求我完成乙個指令碼實現該功能。

當然,大家都知道ping測試只能測網路是否可達,但是具體的埠是否開發是無法用ping測試的。我就先去使用telnet去實現。由於我只是想通過使用telnet來實現判斷,並不想真正去做登入埠。

在我做實驗時,變出現了以下的問題

再來看,telnet 乙個沒有開啟的埠。這樣我就可以無需登入某埠實現判斷其是否開放。

[root@centos6~]#echo q|telnet -e 'q' 192.168.0.103 222 > /dev/null 

telnet: connect to address 192.168.0.103: no route to host

[root@centos6~]#echo $?

1現在來看,我已經解決了telnet的問題,那麼就好說了。

我指令碼的思路首先是通過ping來判斷網路通不通,再次使用telnet來判斷埠是否開啟。

現在複習一下ping命令,簡單說一下ping -c 10 -i 0.2 192.168.0.103,向192.168.0.103傳送間隔為0.2s,總數為10個的報文。每個系統的最小間隔可能不同,有時需要調整改值。還有乙個叫nc的命令也可以很好地判斷埠是否開放。如:nc -z 192.168.0.103 22 

python指令碼實現批量遠端部署主機

本指令碼通過填寫位置引數來實現批量部署遠端主機的功能,位置引數1填寫主機ip列表,位置引數2填寫執行命令 執行命令寫在 內 root bin python import paramiko import sys import getpass import threading defrcmd host,...

Linux 批量給主機傳金鑰的指令碼

使用本指令碼需要在建立 tmp hosts 檔案,寫入所有主機資訊和密碼格式為hostname ip password bin bash 使用本指令碼需要在建立 tmp hosts檔案,寫入所有主機資訊和密碼格式為 hostname password rpm qa grep expect dev n...

fabric批量操作遠端操作主機的練習

fabric是python的乙個基於命令列的自動化部署框架,用docker開了兩個容器來學習fabric.usr bin env python coding utf 8 from fabric.api import env.hosts root 114.215.86.228 22 root 114....