分享一个自己写的服务器IP+端口连通性测试工具,可以批量的同事巡检多个IP地址+端口。并保存测试结果,和测试的时间。
分享代码:
@echo off setlocal enabledelayedexpansion :: 配置区域 set IP_LIST=ip_list.txt :: 存放IP地址的文件,每行格式:IP 端口(默认23可省略) set LOG_FILE=result_%date:~0,4%%date:~5,2%%date:~8,2%.log set TIMEOUT=3 :: 每个连接测试超时时间(秒) :: 创建日志文件头 echo 测试开始时间:%date% %time% > %LOG_FILE% echo ==================== >> %LOG_FILE% :: 主测试循环 for /f "tokens=1,2" %%i in (%IP_LIST%) do ( set ip=%%i set port=%%j if "!port!"=="" set port=23 :: 取当前时间戳(每个IP单独取一次) set ts_date=%date% set ts_time=%time% echo [!ts_time!] 正在测试 !ip!:!port! ... :: 使用telnet测试(后台启动+超时终止),日志写入时间戳 start "" /b cmd /c ^ "echo q | telnet !ip! !port! >nul 2>&1 && ^ echo [!ts_date! !ts_time!] !ip!:!port! succes >> %LOG_FILE% || ^ echo [!ts_date! !ts_time!] !ip!:!port! failed >> %LOG_FILE%" :: 等待超时或快速响应 ping -n %TIMEOUT% 127.0.0.1 > nul taskkill /f /im telnet.exe > nul 2>&1 ) echo ==================== >> %LOG_FILE% echo 测试结束时间:%date% %time% >> %LOG_FILE% echo 测试完成,结果已保存到 %LOG_FILE% pause在跟脚本相同的目录下创建一个ip_list.txt的文件。里面填写IP端口号,空格分隔。
点击运行.bat文件后,目录下会生成测试结果文件result_20260206.log文件,日期命名。
点击查看结果即可。