Board logo

标题: 连接远程路由器批处理。 [打印本页]

作者: htysm     时间: 2007-4-10 02:42    标题: 连接远程路由器批处理。

因为经常给人安装路由器,有时候想对这些路由器进行远程管理,(嘿,有人肯定说偶不怀好意...)但总不能在IE地址栏一个一个IP找吧,所以就写了这个批处理,但代码不能判断是否已正确连接一个有效的路由器,即当弹出路由器的用户名和密码对话框时,批处理就应该自动结束。另外,代码还需要优化和精简的地方,请高手指教。

   偶知道,DOS联盟论坛高手如云的。^O^  不要笑偶。

----------------------------------------------------------------------------------------------------------


@echo off
:SA
title 自动扫描打开IE连接远程路由器
color f
echo.&echo.
echo       ╔══════════════════════════════╗
echo       ║                                                            ║
echo       ║                    『 说        明 』                      ║
echo.      ║                                                            ║  
echo       ║         一定要严格按说明的格式输入,(如:61.190.102.1)      ║
echo       ║     则只需输入:61.190.102即可。然后再输入开始和结束IP     ║
echo       ║     ,否则容易出错。最后输入端口号,要远程打开路由器管     ║   
echo       ║     理界面必须要输入端口号,本地打开则不需要。程序执行     ║
echo       ║     后要等待IE浏览器的返回信息,当前为活动的IP全部打入     ║
echo       ║     d:\有效IP文本文件中,如果返回找不到服务器则按任意键     ║
echo       ║     关闭IE并打开下一个IP,如果弹出输入用户名和密码对话     ║  
echo       ║     框,那么恭喜,你找到一个可远程打开的路由器了。这时     ║
echo       ║     你可直接关闭本程序,按×键。                           ║
echo       ║                                                            ║
echo       ╚══════════════════════════════╝
echo.
echo.
echo.& echo                              ═══╬ 按任意键开始程序 ╬═══
pause>nul
cls
:ST
echo 
setlocal enabledelayedexpansion
set num_=0
set path_=d:\有效IP.txt
set/p ip_=请输入IP...(格式:61.190.102)。
if not defined ip_ (cls & goto ST)
for /f "tokens=1-3 delims=." %%i in ("%ip_%") do (
    if %%i LSS 1 goto error_1
    if %%i GTR 255 goto error_1
    if %%j LSS 1 goto error_1
    if %%j GTR 255 goto error_1
    if %%k LSS 1 goto error_1
    if %%k GTR 255 goto error_1
    )
:star_
echo.& set/p ip_star=请输入开始IP (1——255之间)。
if not defined ip_star (cls & goto star_)
if %ip_star% GTR 255 goto error_2
if %ip_star% Lss 1 goto error_2
:end_
echo.& set/p ip_end=请输入结束IP (2——255之间)。
if not defined ip_end (cls & goto end_)
if %ip_end% GTR 255 goto error_2
if %ip_end% lss 2 goto error_2
if %ip_star% GTR %ip_end% goto error_2
:pro_
echo.& set/p port_=请输入端口号 (0——65535之间)。
if not defined port_ (cls & goto pro_)
if %port_% GTR 65535 goto error_3
if %port_% lss 1 goto error_3
:input_
echo.& set/p pause_=当扫描到可用IP时,是否启用暂停,输入(Y)或(N)?
if not defined pause_ (cls & goto input_)
cls & color f
echo  %time:~0,7% ——扫描结果: > !path_! & echo. >> !path_!
for /L %%i in (!ip_star!,1,!ip_end!) do (
   title 扫描 !ip_!.%%i 已发现!num_!个有效IP。& echo.& echo.& echo.& echo.& echo.& echo.
   echo              ○○○○○○§§§§§§§§§§§§§○○○○○○
   echo              ○                                              ○ 
   echo              ○           正在扫描:!ip_!.%%i            
   echo              ○                                              ○
   echo              ○○○○○○○○○○○○○○○○○○○○○○○○○
   ping -n 1 -l 1 -w 1 !ip_!.%%i >nul 2>nul && (echo && color 1f && set /a num_+=1 && (
   if !num_! LSS 100 (
   if !num_! LSS 10 (
   echo    !num_! !ip_!.%%i >> !path_!
   ) else (echo   !num_! !ip_!.%%i >> !path_!)
   ) else echo  !num_! !ip_!.%%i >> !path_!
   ) && if /i !pause_! EQU Y (echo -----当前IP有效并已打开IE浏览器。&& start /min IEXPLORE.EXE http://!ip_!.%%i:!port_! && ping 127.1 -n 4 >nul 2>nul & taskkill /f /im IEXPLORE.EXE /T>nul 2>nul))
   cls && color f
   )
echo.&echo.&echo.&echo.&echo & color 30
echo. >> !path_! & echo   %time:~0,7% 扫描完毕。>> !path_! && echo   本次共发现有效IP地址【!num_!】个。>> !path_!
echo IP !IP_%!.!ip_star! — !ip_!.!ip_end! 已扫描完毕,是(Y)否(N)重新扫描?& echo.
set/p yn= 注意:重新扫描将覆盖上次扫描到的有效IP地址。
set ip_=
set ip_star=
set ip_end=
set port_=
set pause_=
if /i %yn% EQU Y (cls & goto SA)
echo.&echo.&echo   ◤ 按下任意键结束程序 ◥
echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo                                         ╭—————————————————╮
echo                                         │   作者:htysm,不足之处请指正。  │
echo                                         ╰—————————————————╯
pause>nul
exit
:error_1
cls
echo.&echo                【IP地址输入错误,请严格按照格式重新输入】& color 20& goto ST
:error_2
cls
echo.&echo                【开始或结束IP输入错误,请按格式重新输入】& color 20& goto ST
:error_3
cls
echo.&echo                【端口号输入错误,请严格按照格式重新输入】& color 20& goto ST

[ Last edited by htysm on 2007-4-11 at 11:14 AM ]
作者: 3391617     时间: 2007-4-10 03:58
收了,一会去试试
作者: 3391617     时间: 2007-4-10 04:07
扫描到IP,但没找到路由。。。

我们单位的路由和网上大部分介绍的好象不一样,没法管理,所以也没办法映射~~郁闷~~
作者: htysm     时间: 2007-4-10 04:23
路由器必须要开启远程管理才可以的。

上传到论坛格式变样了。
作者: htysm     时间: 2007-4-16 05:10
怎么帖子沉了。可能是没什么技术含量。
作者: 546474     时间: 2007-4-17 08:41
没有解释,很多看不懂的。
作者: vkill     时间: 2007-4-18 00:31
难道只靠ping 吗?不是每个路由都有IE登陆界面吗?我的想法是可以下载http://192.168.1.1/ 来find判断关键字来。这样更好点
作者: everest79     时间: 2007-4-18 00:41
用nc for nt,第三方工具
作者: htysm     时间: 2007-4-18 05:18
我这个是远程管理路由器,不是局限于本地管理的。可以在不同的网段。

[ Last edited by htysm on 2007-4-18 at 06:23 AM ]
附件 1: rot.JPG (2007-4-18 06:23, 31.22 K,下载次数: 2)



作者: everest79     时间: 2007-4-18 09:36
本地私有网不存在扫描的问题,先看网关,没有的话,发个DNS请求后打连接或ARP表里得到路由器地址
作者: mhkangjw     时间: 2007-4-18 23:10    标题: re

看不懂呢,不知道入门从哪里开始。。
作者: lifonglin     时间: 2007-4-19 01:05
没有多大的意义。现在一般路由都禁了PING。。。。。。
作者: heytong     时间: 2011-1-3 00:47
好东西  学习一下