@echo off
echo.
echo --------------活动主机扫描-----------------------
echo 功能说明:
echo 1、扫描本网段的活动主机;
echo 2、扫描随机网段的活动主机;
echo 3、保存扫描结果;
echo.
echo
echo -------------------------------------------------
:start
echo 1、扫描本网段;
echo 2、扫描任意网段;
echo q、退出(区分大小写)
set goto=
set /p goto=请输入你的选择:
if "%goto%"=="q" goto :exit
if "%goto%"=="1" (goto :self) else goto :any
:self
for /f "usebackq delims=: tokens=2" %%i in (`"ipconfig|find "IP Address" "`) do set ipaddr=%%i
for /f "delims=. tokens=1,2,3,4*" %%i in ("%ipaddr%") do set /a ipaddr1=%%i &&set /a ipaddr2=%%j && set /a ipaddr3=%%k && set /a ipaddr4=%%l
goto :scan
:any
set ipaddr1=%random%
set /a (ipaddr1%%=256)
set ipaddr2=%random%
set /a (ipaddr2%%=256)
set ipaddr3=%random%
set /a (ipaddr3%%=256)
goto :scan
:scan
set /a count=0
echo.>scan_result.txt
echo ---------%ipaddr1%.%ipaddr2%.%ipaddr3%段活动主机(WinNT)------->>scan_result.txt
for /l %%i in (1,1,256) do echo 正在扫描 %ipaddr1%.%ipaddr2%.%ipaddr3%.%%i &&echo 请等待........&& ping -n 1 -w 2 %ipaddr1%.%ipaddr2%.%ipaddr3%.%%i|find "TTL=128">nul &&set /a count=%count%+1 && echo %ipaddr1%.%ipaddr2%.%ipaddr3%.%%i>>scan_result.txt
cls
echo ----------------结果说明---------------
echo 扫描完毕!
echo 共扫描到活动的Windows NT系统:%count%台。
echo 扫描的结果保存在当前目录的scan_result.txt中。
echo -----------------------------------
echo 1、继续扫描其它网段;
echo q、退出
set goto=
set /p goto=请输入你的选择:
if "%goto%"=="q" (goto :start) else goto :any
:exit