用法:把下列代码保存为bat文件。在同一目录下把顶级域名导出到txt,一行一个域名,支持多个txt文件,检测完成后将自动生成结果到result.html

@echo off&&title %~nx0
setlocal ENABLEDELAYEDEXPANSION
REM @Author Hackkey <hackkey@qq.com>

REM 保存已找到解析结果的文件
set result=%~dp0result.html
REM 保存未找到解析结果的文件
set nonfile=%~dp0non.log
REM 查询结果临时文件
set tmpfile=%~dp0tmp.log
REM 要查询的子域名或随机域名,倘若查询泛解析,可以随便填一个字符串
set subdomain=abc
REM 解析成功返回的特征字符串
set flag=名称: 



REM 删除结果文件
if exist %result% del /f /q %result%
if exist %nonfile%del /f /q %nonfile%


if exist %~dp0header.tpl type %~dp0header.tpl>>%result%
REM  输出表格头部
echo ^<style type="text/css"^>td,th{border: 1px solid #000;}^</style^>^<table cellspacing="0" cellpadding="4"^> ^<tr^>      ^<th^>域名^</th^>     ^<th^>响应名称^</th^>       ^<th^>响应答案/IP^</th^>    ^</tr^>>%result%
for /F "usebackq" %%i IN (`dir /b *.txt`) do (
set a=%%i
for /f "usebackq" %%l IN (`type !a!`) do (
 call :checkdomain %%l
 REM goto :eof
)
)
REM  输出表格尾部
echo ^</table^>>>%result%

:checkdomain
nslookup -qt=a %subdomain%.%1 114.114.114.114>%tmpfile% 
(type %tmpfile%|find /I "%flag%")&&(
set domain=%1
call :getfieldtwo name name 
call :getfieldtwo value value
REM echo name here !name!
REM echo value here !value!
>>%result% echo ^<tr^>^<td^>%1^</td^>^<td^>!name!^</td^>^<td^>!value!^</td^>^</tr^>
)||(echo %1>>%nonfile%)
exit /b
goto :eof


:getfieldtwo
if "%1"=="name" (set field=名称) else set field=Address
for /f "usebackq skip=3 tokens=1,2 delims= " %%t in (`type %tmpfile%`) do (
echo %%t %%u|find "%field%"&&set %2=%%u
)
exit /b
goto :eof

REM nslookup -qt=a a.jr5556.com 114.114.114.114|find "答案" && echo success
REM echo %1 %name% %value%>>%result%
pause

domain_scripts.jpg

fanjiexi.jpg


扫描二维码,在手机上阅读!