telnet打造端口扫描工具

Mr.Wu 4,822 0 正在检测是否收录...

年后一直都没在t00ls发帖子了,看到有人用python写了个扫描域名状态的帖子(其实就是扫端口的),杀鸡用不着牛刀哈
我们windows系统早就给我们准备好了扫端口的工具telnet,此工具可以过一些防火墙,比一些socket去连接端口的工具强多了
好吧,看图吧
直接运行 scan.bat会显示帮助信息
telnet打造端口扫描工具
这里没啥多说的了,看效果,多端口扫描请用英文的点号相隔,设置的端口扫描完成后需等待30秒扫下一个端口(比如这里21端口全部扫完30秒后开始扫80端口)
telnet打造端口扫描工具
其它的就没啥多说了,运行环境win10 由于是bat脚本,只需要开启telnet客服端即可
代码如下

@echo off
set Cms=%*
setlocal enabledelayedexpansion
set files=""
set ports="" 
color 06
title telnet-scan端口扫描工具 by LIANAN(QQ:352889950)
if not defined Cms goto main
::-----------------参数分离开始-----------------------------------
if "%1" == "-l" (
set files=%2
)
if "%1" == "-d" (
goto del_history
)
if "%3" == "-l" (
set files=%4
)
if "%1" == "-p" (
set ports=%2
)
if "%3" == "-p" (
set ports=%4
)
echo %ports%
echo %files%
::-----------------参数分离结束-----------------------------------

::计算域名总数
set /a num=0
for /f %%i in (%files%) do (
set /a num=!num!+1
)


::----------------------开始扫描----------------------------------
set /a a=1
:sxh
set port=""
for /f "tokens=%a% delims=." %%i in ('echo %ports%') do (
set port=%%i
set /a a=%a%+1
)
if !port! NEQ "" (
echo --------------------程序正在扫描 !port! 端口,请稍后---------------------------------
::设置扫描到第几个域名
set /a nm=0 
::设置提示保存
set /a tib=0
for /f %%b in (%files%) do (
start /min cmd.exe /k "echo q|telnet %%b !port!&exit"
timeout /NOBREAK /t 1 >nul
set pd=""
for /f "tokens=1 delims= " %%a in ('tasklist /FI "windowtitle eq Telnet %%b"^|findstr "cmd.exe"') do (
set pd=%%a
)
if !pd! EQU "" (
echo %%b !port! Open
echo %%b>>!port!_Open.txt
set /a tib=1
) else (
echo %%b !port! Close
)
set /a nm=!nm!+1
title telnet-scan端口扫描工具 进度 !nm!/!num!
)
if !tib! == 0 (
echo -------------------------端口 !port! 扫描完毕-----------------------------------------
) else (
echo -------------------------端口 !port! 扫描完毕,保存为 !port!_Open.txt-----------------------
)
timeout /NOBREAK /t 35 >nul
goto sxh
) else (
goto tc
)
::----------------------扫描结束----------------------------------
:del_history
echo 正在删除历史扫描记录,请稍后.......
for /l %%i in (1,1,10000) do (
del /f /q %%i_Open.txt 1>nul 2>nul
)
echo 删除完毕!!!
goto tc
:main
mode con: cols=125 lines=45
echo  _       _            _ 
echo ^| ^|_ ___^| ^|_ __   ___^| ^|_     ___  ___ __ _ _ __  
echo ^| __^/ _ ^\ ^| ^'_ ^\ ^/ _ ^\ __^|____^/ __^|^/ __^/ _^` ^| ^'_ ^\
echo ^| ^|^|  __^/ ^| ^| ^| ^|  __^/ ^|^|_____^\__ ^\ ^(_^| ^(_^| ^| ^| ^| ^|
echo  ^\__^\___^|_^|_^| ^|_^|^\___^|^\__^|    ^|___^/^\___^\__^,_^|_^| ^|_^|
echo.
echo      ^<options^>:
echo                  -l  list     :域名列表文件
echo                  -p  port     :要扫描的端口
echo                  -d  del      :删除保存的历史记录(开放的端口号.txt)                       
echo.
echo       ^<Example^>:
echo                   scan.bat -l c:\host.txt -p 21   
echo                   scan.bat -l c:\host.txt -p 21.80.3389.1433                
echo.
:tc

打赏
发表评论 取消回复
表情 图片 链接 代码

分享
微信
微博
QQ