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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29500582/viewspace-1548699/
,如需转载,请注明出处,否则将追究法律责任。