有人知道如何使用netstat命令更改批处理文件/cmd背景色吗?
实际上,我正在使用一个自动刷新的“netstat”命令监视一些银行收购者与服务器的连接。
title BANK #1
netstat -n 1 -an | find "IP_ADDRESS:PORT"
pause和cmd回声:
如果建立了连接:
TCP MY_SERVER_IP_ADD:LIST_PORT REMOTE_IP_ADD:PORT ESTABLISHED如果连接失败:
TCP MY_SERVER_IP_ADD:LIST_PORT REMOTE_IP_ADD:PORT SYN_SENT我需要知道是否是可确定的背景颜色变化取决于状态,我的意思是,当状态是ESTABLISHED,转背景绿色。当状态为SYN_SENT时,将背景变为红色。
发布于 2021-08-22 16:41:17
我建议使用远程服务器的ip地址从连接列表中查找字符串。在字符串解析之后,您可以获得连接状态。根据连接状态更改颜色。
@echo off
REM define remote server IP
set "IP=8.8.8.8"
REM cycle's starting position
:loop
REM pause for 1 second
choice /c YN /t 1 /D Y>NUL
REM parsing connection list
for /f "tokens=4*" %%A in ('netstat -p tcp -na ^| find/i"%IP%"') do (
REM change background color to green
if "%%A"=="ESTABLISHED" color 27
REM change background color to red
if "%%A"=="SYN_SENT" color 47
)
REM go to cycle's staring position
goto loop发布于 2021-08-22 18:10:00
下面是一个基于您的请求但易于修改的通用模板
应要求为绿色或红色,其他条件则为白色。
@echo off & Title Bank#1
REM Change the following as required
set "LocalAddress=192.168"
set "ForeignAddress=Chromecast"
:MAIN
timeout 1 > nul
netstat -p tcp | find "%LocalAddress%" | find "%ForeignAddress%" | find "ESTABLISHED"
if %errorlevel%==0 color A0 & echo Still Established & goto main
netstat -p tcp | find "%LocalAddress%" | find "%ForeignAddress%" | find "SYN_SENT"
if %errorlevel%==0 color C0 & echo SYN_SENT & goto main
netstat -p tcp | find "%LocalAddress%"
color E0 & echo Check Incorrect Link Condition Between "%LocalAddress%" and "%ForeignAddress%"
goto Main


https://stackoverflow.com/questions/68881259
复制相似问题