Windows下bat指令碼判斷埠是否可用
Windows下bat指令碼判斷埠是否可用
思路過程:
因為telnet通的話,會直接跳轉視窗,無回顯,所以導致判斷比較不方便。
處理辦法。
如果埠可用,則會出來telnet程式,若埠不可用,則不會出現telnet程式。
根據程式是否存在來判斷埠是否可用!!
@echo off
start telnet.exe 192.168.9.62 22
ping -n 5 127.1>nul
tasklist|find /i "telnet.exe" > nul
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
GOTO unknown
:err
echo CRITICAL: Port check failed
exit /B 2
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
:ok
echo OK: Port check succeded
taskkill /F /IM telnet.exe > nul
exit /B 0
方法二:使用netstat直接進行判斷
此方法比較好用!
netstat -ano | findstr 192.168.9.62 | findstr 80 | findstr ESTABLISHED
三個條件:
ip
埠
狀態 ESTABLISHED (已建立的連線) CLOSE_WAIT (關閉的連線)
@echo off
netstat -ano | findstr 192.168.9.62 | findstr 80 | findstr ESTABLISHED > nul
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
GOTO unknown
:err
echo CRITICAL: Port check failed
exit /B 2
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
:ok
echo OK: Port check succeded
exit /B 0
思路過程:
因為telnet通的話,會直接跳轉視窗,無回顯,所以導致判斷比較不方便。
處理辦法。
如果埠可用,則會出來telnet程式,若埠不可用,則不會出現telnet程式。
根據程式是否存在來判斷埠是否可用!!
@echo off
start telnet.exe 192.168.9.62 22
ping -n 5 127.1>nul
tasklist|find /i "telnet.exe" > nul
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
GOTO unknown
:err
echo CRITICAL: Port check failed
exit /B 2
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
:ok
echo OK: Port check succeded
taskkill /F /IM telnet.exe > nul
exit /B 0
方法二:使用netstat直接進行判斷
此方法比較好用!
netstat -ano | findstr 192.168.9.62 | findstr 80 | findstr ESTABLISHED
三個條件:
ip
埠
狀態 ESTABLISHED (已建立的連線) CLOSE_WAIT (關閉的連線)
@echo off
netstat -ano | findstr 192.168.9.62 | findstr 80 | findstr ESTABLISHED > nul
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
GOTO unknown
:err
echo CRITICAL: Port check failed
exit /B 2
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
:ok
echo OK: Port check succeded
exit /B 0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1548699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sh指令碼判斷路徑是否存在指令碼
- windows bat指令碼睡眠等待WindowsBAT指令碼
- Windows bat指令碼之for迴圈用法WindowsBAT指令碼
- Linux shell指令碼判斷伺服器網路是否可以上網Linux指令碼伺服器
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- windows 全量+增量備份指令碼batWindows指令碼BAT
- 記windows自定義bat指令碼自啟動WindowsBAT指令碼
- Windows ntp時間同步設定(bat指令碼)WindowsBAT指令碼
- PHP判斷一個字串是否包含亂碼PHP字串
- 如何判斷網校原始碼是否值得使用?原始碼
- 在Linux中,如何使用shell指令碼判斷某個服務是否正在執行?Linux指令碼
- windows bat指令碼 後臺執行目標exeWindowsBAT指令碼
- 判斷字串是否為空字串
- python 判斷是否為中文Python
- 判斷字串是否唯一字串
- 判斷URL字串是否合法字串
- python判斷是否為listPython
- 判斷ABAP程式碼是否處於update模式下執行的工具類模式
- 判斷一個數是否為質數(程式碼)
- Windos bat批處理指令碼,判斷是終端命令列執行,還是雙擊執行BAT指令碼命令列
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- Windows使用bat指令碼指定jdk版本啟動jar包WindowsBAT指令碼JDKJAR
- easytier 在windows上快捷安裝“服務”bat指令碼WindowsBAT指令碼
- JavaScript判斷字串是否為空JavaScript字串
- js判斷物件是否為空JS物件
- js判斷checkbox是否選中JS
- jQuery 判斷元素是否隱藏jQuery
- JavaScript 判斷是否是陣列JavaScript陣列
- 判斷網路是否連線
- JavaScript 判斷函式是否存在JavaScript函式
- golang判斷檔案是否存在Golang
- MySQL判斷表名是否存在MySql
- QJsonObject判斷欄位是否存在JSONObject
- java判斷物件是否為空Java物件
- Delphi Variant 判斷是否為空
- 判斷協議是否出網協議
- mysql如何判斷是否為空MySql
- postgresql如何判斷表是否存在SQL
- js判斷字串是否為空JS字串