中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 技术探讨:编写批处理程序来ping一定ip段内存活主机
« [1] [2] »
作者:
标题: 技术探讨:编写批处理程序来ping一定ip段内存活主机 上一主题 | 下一主题
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『楼 主』:  技术探讨:编写批处理程序来ping一定ip段内存活主机

突发奇想  希望有人跟帖:

2006-12-27 00:28
查看资料  发短消息 网志   编辑帖子
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


  把要求说具体一点吧。


2006-12-27 01:29
查看资料  发送邮件  发短消息 网志   编辑帖子
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 3 楼』:  

live.bat
@echo off
@for /l %%a in (1,1,254) do (ping -n 6 ip |find "Reply from" >> live.txt)
echo done
pause >nul


ip 可以自己设定,比如168.9.9.%%a  或者 168.6.%%a.9 , 但是一定有一个选项是%%a 以便扫描。

   此帖被 +5 点积分      点击查看详情   
评分人:【 redtek 分数: +5  时间:2006-12-27 02:42


2006-12-27 01:41
查看资料  发短消息 网志   编辑帖子
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 4 楼』:  

这个好玩~:)
再来一个254线程扫描的,嘿嘿~:)

(用 Start 模拟 254线程,扫描 1-254 台主机约为 20 秒)


(运行前注意: 运行后同时开启 254 个窗口 ,因为是多线程嘛~:)
(       不过没什么,哈哈……请做好心理准备~:D 
(       但是,一个窗口不到1秒钟就闪完了,所以屏幕上视觉上也就8个窗口左右)


(下面代码当都扫描完成以后,会在当前目前生成一个名为 IP.TXT 的扫描日志,打开看就行了)
@echo off

if [%1]==[] (Goto :Start) else (Goto :Ping)

:Start
        echo.ScanTime:%time%>ip.txt&&set "ip=61.149.20"
        for /L %%i in (1,1,254) do Start %~s0 %ip%.%%i        
        Goto :eof

:Ping
        ping %1 -n 1 -w 1 >nul&&echo %1 - OK!>>ip.txt
        exit
(注:上面批处理的文件名不能含有空格)




下面是扫描到的一些主机……
ScanTime:13:32:31.85
61.149.20.5 - OK!
61.149.20.7 - OK!
61.149.20.6 - OK!
61.149.20.8 - OK!
61.149.20.10 - OK!
61.149.20.14 - OK!
61.149.20.17 - OK!
61.149.20.18 - OK!
61.149.20.19 - OK!
(略……)
[ Last edited by redtek on 2006-12-26 at 02:04 PM ]

   此帖被 +16 点积分      点击查看详情   
评分人:【 PPdos 分数: +1  时间:2006-12-27 04:29
评分人:【 scriptor 分数: +2  时间:2006-12-27 05:56
评分人:【 ccwan 分数: +7  时间:2006-12-27 05:59
评分人:【 lxmxn 分数: +4  时间:2006-12-28 23:57
评分人:【 313885174 分数: +2  时间:2008-11-27 04:00




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-27 02:41
查看资料  发送邮件  发短消息 网志   编辑帖子
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 5 楼』:  

。。。
高人呀,我什么都不想说了

2006-12-27 02:58
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 6 楼』:  我也写了一个完整点的 评论一下

@echo off
echo                         -----------------------------
echo                              请选择你所扫描的类型
echo                         -----------------------------
echo .
echo                  [A] :IP段扫描           [B] :精确IP及端口扫描
:x
set /p choice="请输入扫描类型:A or B :"
if /i %choice%==a goto ipduan else goto y
:y
if /i %choice%==b goto ip else goto x
:ipduan
echo 进入IP段扫描模式:
set /p ipa="输入扫描的ip段前三段(例如:192.168.1):"
set /p port="输入要扫描的端口:"
for /l %%i in (1,1,255) do (telnet %ipa%.%%i %port%)

:ip
echo 进入精确扫描模式:
set /p ipa="输入扫描的ip:(例如:192.168.0.1)"
set /p port1="输入要扫描的开始端口:"
set /p port2="输入要扫描的结束端口:"
for /l %%i in (%port1%,1,%port2%) do (telnet %ipa% %%i)
pause>nul

   此帖被 +5 点积分      点击查看详情   
评分人:【 redtek 分数: +5  时间:2006-12-27 21:52


2006-12-27 03:23
查看资料  发短消息 网志   编辑帖子
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 7 楼』:  速度很快

但如果扫描几万个端口 同时打开几万个窗口好象要自杀?能不能进行对打开start telnet窗口的数量限制呢?虽然连接大约5秒钟后失败退出 但是打开的速度要快吧...

2006-12-27 03:37
查看资料  发短消息 网志   编辑帖子
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 8 楼』:  

多谢redtak兄的支持啊
我还要多向你学习呢!

2006-12-27 05:55
查看资料  发短消息 网志   编辑帖子
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 9 楼』:  

噢,原来已经有这个帖子了,看来我多此一举啊

2006-12-27 06:16
查看资料  发短消息 网志   编辑帖子
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 10 楼』:  

删除两个帖子内容并非灌水,楼主勿怪。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-27 06:22
查看资料  发送邮件  发短消息 网志   编辑帖子
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 11 楼』:  

回PPdos兄,要是用VBS来扫描端口不会显示象中了炸弹一样的满屏皆带窗口,哈哈……

论坛搜索一下,好象以前有网友用VBS编过一个端口扫描的代码~:)

(我写的那个满屏弹窗口的代码纯属另类玩笑~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-27 06:30
查看资料  发送邮件  发短消息 网志   编辑帖子
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 12 楼』:  谢谢你的贴 我学到了好多东西 收藏了:P



  Quote:
Originally posted by redtek at 2006-12-26 01:41 PM:
这个好玩~:)
再来一个254线程扫描的,嘿嘿~:)

(用 Start 模拟 254线程,扫描 1-254 台主机约为 20 秒)


(运行前注意: 运行后堮..



2006-12-27 14:17
查看资料  发短消息 网志   编辑帖子
lkwater
初级用户




积分 26
发帖 14
注册 2006-12-26
状态 离线
『第 13 楼』:  

我有学到一点了

2006-12-28 04:29
查看资料  发送邮件  发短消息 网志   编辑帖子
PPdos
高级用户




积分 783
发帖 268
注册 2006-12-26
状态 离线
『第 14 楼』:  

Redtek兄所写精短之作着实让我研究好几天 而又无果 才知批处理之深邃....

希望能得各位指点,疑惑有三:

1.变量 %1在此是何意义

2.虽知start不支持长文件名 为何 start 后跟 %~s0 没有出错 并且各个字符又如  何解释呢?

3.是怎样通过&&准确判断ping到的主机是否存活 并写入.txt的呢?

初入批门 小弟不才疑问多多 还请各位多多指点!

2006-12-28 23:26
查看资料  发短消息 网志   编辑帖子
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 15 楼』:  


  哈哈,原来 Redtek 兄的批处理是个递归过程啊,现在才看到。加分再说。


2006-12-28 23:57
查看资料  发送邮件  发短消息 网志   编辑帖子
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: