如何根据netstat连接状态修改批处理/cmd窗口的背景色
银行收单连接监控变色脚本实现方案
可行性结论
该需求完全可以通过Windows原生批处理实现,无需依赖第三方工具,核心逻辑为循环抓取netstat的连接状态,匹配对应状态后调用cmd内置的color命令修改窗口背景色。
完整实现脚本
@echo off title BANK #1 :: 请将以下变量替换为实际需要监控的目标IP:端口 set TARGET_CONN=IP_ADDRESS:PORT :refresh_loop :: 抓取目标连接的状态 netstat -an | find "%TARGET_CONN%" > conn_temp.log set CURR_STATUS= set /p CURR_STATUS=<conn_temp.log del conn_temp.log :: 根据状态设置窗口颜色 :: color参数第一位为背景色,第二位为文字色:2=绿、4=红、F=亮白 echo %CURR_STATUS% | findstr "ESTABLISHED" >nul && ( color 2F ) echo %CURR_STATUS% | findstr "SYN_SENT" >nul && ( color 4F ) :: 输出当前状态信息 echo %date% %time% 连接状态:%CURR_STATUS% :: 1秒后刷新,和原脚本刷新频率一致 timeout /t 1 /nobreak >nul goto refresh_loop
注意事项
- 脚本运行后按
Ctrl + C即可终止,终止后窗口颜色会自动恢复为系统默认值 - 可根据自身需求调整color参数的色值,比如需要黑字可以将
2F改为20,4F改为40 - 如果需要处理无连接记录的场景,可额外增加分支设置默认颜色
color 07即可
内容的提问来源于stack exchange,提问作者J. Fermin
相关产品推荐
相关产品推荐

