中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 原创!发个实用的局域网快速检测批处理(3月16日更新)
« [1] [2] »
作者:
标题: 原创!发个实用的局域网快速检测批处理(3月16日更新) 取消高亮 | 上一主题 | 下一主题
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『楼 主』:  原创!发个实用的局域网快速检测批处理(3月16日更新)

  原代码如下,我知道现在检测局域网的东东特别多,但我就是喜欢P,同时自己的东西用起来感觉不一样,呵呵(主要是能及时修改完善):
@echo off&color 9f&setlocal EnableDelayedExpansion
title 局域网快速检测工具
echo.
echo.
echo     ************************** 局域网快速检测工具 **************************
echo    *----------------------------------------------------------------------*
echo    *    本工具集检测本机网卡、检测网关、查找局域网所有在线电脑几项功能于一*
echo    *----------------------------------------------------------------------*
echo    *体,特别是当局域网中有活动的ARP木马时,可迅速查找出有问题的电脑。为防 *
echo    *----------------------------------------------------------------------*
echo    *双网卡出错,本工具还增加了用户自行输入IP功能。在使用本工具前请在工具所*
echo     *----------------------------------------------------------------------*
echo     *在的文件夹新建名为gateway和use的文本文档(.txt),在gateway中依次输入 *
echo    *___________________________________*
echo     *局域网关的IP和MAC地址,注意IP和MAC间不能有空格,在USE中依次输入局域网 *
echo     *----------------------------------------------------------------------*
echo     *中所有电脑的IP地址和使用部门或人,一行输入一组并注意IP加个":",这是为 *
echo     *----------------------------------------------------------------------*
echo     *了查找IP时确定字串符结尾符(这就不会在查找以"#"结尾的IP时把以"*#"以及 *
echo     *----------------------------------------------------------------------*
echo     *"$#*"结尾的IP查找出来了,如 1 21 181 )。                *
echo     *----------------------------------------------------------------------*
echo    *  注:当检测局域网时请暂时关闭所有应用程序,在检测时会弹出很多黑色的*
echo    *----------------------------------------------------------------------*
echo   *窗口,这是在运行拼测命令,只要等待一分钟,所有弹出窗口都会自行关闭。  *
echo    *----------------------------------------------------------------------*
echo    ************************************************************************
pause
cls&mode con lines=15
set u=■■■■■■■■■■■■■■■■■■■■■■■■■
set a=0
for /l %%i in (1,1,20) do call :show %%i
cls
echo.&echo.&echo.&echo.
echo    程序正在初始化. . .
echo   ┌─────────────────────────┐
echo     %u%100%%                     
echo   └─────────────────────────┘
ping /n 3 127.1 >nul
if exist l*.txt del l*.txt
if exist mac*.txt del mac*.txt
if exist jiance.txt del jiance.txt
______________________________________________
rem 对本机网卡进行拼测
cls
echo.&echo.&echo.&echo.
set/p lan=    请输入局域网段(输入格式为192.168.1.,直接回车默认为192.168.1.):
if "%lan%"=="" goto p1
goto p2
:p1
set lan=192.168.1.
:p2
cls
echo.&echo.&echo.&echo.
set/p ip=    请输入本机局域网IP地址的最后一个数字(直接回车默认为255):
if "%ip%"=="" goto p3
ping %lan%%ip% -n 2 >nul
if errorlevel 2 goto wrong1
if errorlevel 1 goto wrong1
goto show1
:p3
ping %lan%255 -n 2 >nul
if errorlevel 2 goto wrong1
if errorlevel 1 goto wrong1
:show1
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ****************************** 网卡通畅!*******************************
echo    ====================================
ping -n 3 127.1 >nul
______________________________________________
rem 对网关进行拼测
cls&arp -d 2>nul
echo.&echo.&echo.&echo.
set/p pi=    请输入局域网关IP地址的最后一个数字(直接回车默认为1):
if "%pi%"=="" goto p4
ping %lan%%pi% -n 2 >nul
if errorlevel 2 goto wrong2
if errorlevel 1 goto wrong2
goto select1
:p4
ping %lan%1 -n 2 >nul
if errorlevel 2 goto wrong2
if errorlevel 1 goto wrong2
goto select1
______________________________________________
rem 对局域网进行拼测,查找出所有在线电脑
:ping
echo. >lb.txt
echo. >>lb.txt
echo    ==================================== >>lb.txt
echo    ************************ 局域网中以下电脑在线! ************************ >>lb.txt
echo    ==================================== >>lb.txt
for /l %%i in (0,1,255) do start ping -n 1 %lan%%%i
for /f "skip=3 tokens=*" %%k in ('arp -a') do echo %%k >>mac.txt
for /f "tokens=1" %%j in ('findstr /c:"dynamic" mac.txt') do (
    findstr /c:"%%j:" use.txt >>lb.txt
)
cls&mode con lines=30&type lb.txt | more
pause
______________________________________________
rem 检测局域网是否有ARP欺骗
cls&fc gateway.txt jiance.txt
if errorlevel 2 goto find
if errorlevel 1 goto find
goto show2
______________________________________________
rem 查找出中了木马的电脑
:find
cls
echo. >ld.txt
echo. >>ld.txt
echo    ==================================== >>ld.txt
echo    ********************* 局域网中以上电脑中了ARP木马!********************* >>ld.txt
echo    ==================================== >>ld.txt

for /f "skip=3 tokens=2" %%i in (la.txt) do findstr /c:"%%i" mac.txt >>lc.txt
for /f "tokens=1" %%i in (lc.txt) do findstr /c:"%%i:" use.txt >>ld.txt
type ld.txt | more
pause
______________________________________________
:end
cls&mode con lines=15
echo.&echo.&echo.&echo.
echo    ====================================
echo     ************************* 检测完成请按键退出!**************************
echo     ====================================
pause >nul
del l*.txt jiance.txt mac*.txt&goto :eof
:show2
cls&mode con lines=15
echo.&echo.&echo.&echo.
echo    ====================================
echo    ***************** 经检测局域网中无ARP欺骗,网络安全! ******************
echo    ====================================
pause
goto end
:select1
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ***************************** 网关通畅!********************************
echo    ====================================
ping -n 2 127.1 >nul&arp -a >la.txt
cls&for /f "skip=3 tokens=1,2" %%i in ('arp -a') do echo %%i%%j >>jiance.txt
:select2
cls
echo.&echo.&echo.&echo.
set/p select2=    是否对局域网进行拼测?(1.拼测 2.不拼测)
if "%select2%"=="1" goto ping
if "%select2%"=="2" goto end
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ***************************** 输入错误!********************************
echo    ====================================
ping -n 2 127.1 >nul&goto select2
:wrong1
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ************************** 网卡不通,无法检测!*************************
echo    ====================================
ping -n 3 127.1 >nul&goto :eof
:wrong2
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ************************** 网络不通,无法检测!*************************
echo    ====================================
ping -n 3 127.1 >nul&goto :eof
:show
cls
set /a a+=4
echo.&echo.&echo.&echo.
echo    程序正在初始化. . .
echo   ┌─────────────────────────┐
echo     !u:~,%1!%a%%%&ping /n 1 127.1 >nul                       
echo   └─────────────────────────┘
goto :eof
[ Last edited by zw19750516 on 2008-3-16 at 02:57 PM ]

   此帖被 +5 点积分     点击查看详情   
评分人:【 bjsh 分数: +4  时间:2008-3-10 18:46
评分人:【 vlq2599 分数: +1  时间:2008-3-26 17:23


2008-3-9 18:30
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  

呵呵,无人问津,自己给自己加下油了。

2008-3-10 00:52
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
hnfeng
初级用户





积分 89
发帖 36
注册 2007-12-20
状态 离线
『第 3 楼』:  

多谢分享。
学习了……

2008-3-10 12:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

set命令中特殊字符的处理技巧,楼主用的挺好,呵呵。

2008-3-10 13:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 5 楼』:  

加分 鼓励

2008-3-10 18:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  

谢谢老大了,大家一起加油了!

2008-3-10 18:49
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
hhz520
初级用户





积分 20
发帖 8
注册 2007-7-4
状态 离线
『第 7 楼』:  

晕  这么多窗口  差D给你吓死  呵呵!

2008-3-10 21:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 8 楼』:  

大家请注意在检测时关闭其他应用程序,这个P的特点就是快,但也造成了它的缺点:短时间内(约一分钟)占用内存极高,建议电脑配置不好的不要使用。

2008-3-11 03:21
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 9 楼』:  

不错,能用



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-3-11 09:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 10 楼』:  

我又做了错码的检查,同时对各种情况进行了检测,同时还做了美观上的处理,请大家放心测试和使用了。

2008-3-11 19:38
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 11 楼』:  

为了大家共同提高,只好自私点,自己顶下了,呵呵。

2008-3-16 13:46
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
usafbi2007
新手上路





积分 8
发帖 4
注册 2008-1-8
状态 离线
『第 12 楼』:  

多谢分享。
学习了……

2008-3-17 10:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 13 楼』:  再次修改(简化部分代码)


@echo off&color 9f&setlocal EnableDelayedExpansion
title 局域网快速检测工具
echo.
echo.
echo     ************************** 局域网快速检测工具 **************************
echo    *----------------------------------------------------------------------*
echo    *    本工具集检测本机网卡、检测网关、查找局域网所有在线电脑几项功能于一*
echo    *----------------------------------------------------------------------*
echo    *体,特别是当局域网中有活动的ARP木马时,可迅速查找出有问题的电脑。为防 *
echo    *----------------------------------------------------------------------*
echo    *双网卡出错,本工具还增加了用户自行输入IP功能。在使用本工具前请在工具所*
echo     *----------------------------------------------------------------------*
echo     *在的文件夹新建名为gateway和use的文本文档(.txt),在gateway中依次输入 *
echo    *___________________________________*
echo     *局域网关的IP和MAC地址,注意IP和MAC间不能有空格,在USE中依次输入局域网 *
echo     *----------------------------------------------------------------------*
echo     *中所有电脑的IP地址和使用部门或人,一行输入一组并注意IP加个":",这是为 *
echo     *----------------------------------------------------------------------*
echo     *了查找IP时确定字串符结尾符(这就不会在查找以"#"结尾的IP时把以"*#"以及 *
echo     *----------------------------------------------------------------------*
echo     *"$#*"结尾的IP查找出来了,如 1 21 181 )。                *
echo     *----------------------------------------------------------------------*
echo    *  注:当检测局域网时请暂时关闭所有应用程序,在检测时会弹出很多黑色的*
echo    *----------------------------------------------------------------------*
echo   *窗口,这是在运行拼测命令,只要等待一分钟,所有弹出窗口都会自行关闭。  *
echo    *----------------------------------------------------------------------*
echo    ************************************************************************
pause
cls&mode con lines=15
set u=■■■■■■■■■■■■■■■■■■■■■■■■■
set a=0
for /l %%i in (1,1,20) do call :show %%i
cls
echo.&echo.&echo.&echo.
echo    程序正在初始化. . .
echo   ┌─────────────────────────┐
echo     %u%100%%                     
echo   └─────────────────────────┘
ping /n 3 127.1 >nul
if exist l*.txt del l*.txt
if exist mac*.txt del mac*.txt
if exist jiance.txt del jiance.txt
______________________________________________
rem 对本机网卡进行拼测
cls
set lan=192.168.1.
echo.&echo.&echo.&echo.
set/p lan=    请输入局域网段(输入格式为192.168.1.,直接回车默认为192.168.1.):
cls
set ip=255
echo.&echo.&echo.&echo.
set/p ip=    请输入本机局域网IP地址的最后一个数字(直接回车默认为255):
ping %lan%%ip% -n 2 >nul
if errorlevel 1 goto wrong1
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ****************************** 网卡通畅!*******************************
echo    ====================================
ping -n 3 127.1 >nul
______________________________________________
rem 对网关进行拼测
cls&arp -d 2>nul
set pi=1
echo.&echo.&echo.&echo.
set/p pi=    请输入局域网关IP地址的最后一个数字(直接回车默认为1):
ping %lan%%pi% -n 2 >nul
if errorlevel 1 goto wrong2
goto select1
______________________________________________
rem 对局域网进行拼测,查找出所有在线电脑
:ping
echo. >lb.txt
echo. >>lb.txt
echo    ==================================== >>lb.txt
echo    ************************ 局域网中以下电脑在线! ************************ >>lb.txt
echo    ==================================== >>lb.txt
for /l %%i in (0,1,255) do start ping -n 1 %lan%%%i
for /f "skip=3 tokens=*" %%k in ('arp -a') do echo %%k >>mac.txt
for /f "tokens=1" %%j in ('findstr /c:"dynamic" mac.txt') do (
    findstr /c:"%%j:" use.txt >>lb.txt
)
cls&mode con lines=30&type lb.txt | more
pause
______________________________________________
rem 检测局域网是否有ARP欺骗
cls&fc gateway.txt jiance.txt
if errorlevel 2 goto find
if errorlevel 1 goto find
goto show2
______________________________________________
rem 查找出中了木马的电脑
:find
cls
echo. >ld.txt
echo. >>ld.txt
echo    ==================================== >>ld.txt
echo    ********************* 局域网中以上电脑中了ARP木马!********************* >>ld.txt
echo    ==================================== >>ld.txt

for /f "skip=3 tokens=2" %%i in (la.txt) do findstr /c:"%%i" mac.txt >>lc.txt
for /f "tokens=1" %%i in (lc.txt) do findstr /c:"%%i:" use.txt >>ld.txt
type ld.txt | more
pause
______________________________________________
:end
cls&mode con lines=15
echo.&echo.&echo.&echo.
echo    ====================================
echo     ************************* 检测完成请按键退出!**************************
echo     ====================================
pause >nul
del l*.txt jiance.txt mac*.txt&goto :eof
:show2
cls&mode con lines=15
echo.&echo.&echo.&echo.
echo    ====================================
echo    ***************** 经检测局域网中无ARP欺骗,网络安全! ******************
echo    ====================================
pause
goto end
:select1
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ***************************** 网关通畅!********************************
echo    ====================================
ping -n 2 127.1 >nul&arp -a >la.txt
cls&for /f "skip=3 tokens=1,2" %%i in ('arp -a') do echo %%i%%j >>jiance.txt
:select2
cls
echo.&echo.&echo.&echo.
set/p select2=    是否对局域网进行拼测?(1.拼测 2.不拼测)
if "%select2%"=="1" goto ping
if "%select2%"=="2" goto end
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ***************************** 输入错误!********************************
echo    ====================================
ping -n 2 127.1 >nul&goto select2
:wrong1
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ************************** 网卡不通,无法检测!*************************
echo    ====================================
ping -n 3 127.1 >nul&goto :eof
:wrong2
cls
echo.&echo.&echo.&echo.
echo    ====================================
echo    ************************** 网络不通,无法检测!*************************
echo    ====================================
ping -n 3 127.1 >nul&goto :eof
:show
cls
set /a a+=4
echo.&echo.&echo.&echo.
echo    程序正在初始化. . .
echo   ┌─────────────────────────┐
echo     !u:~,%1!%a%%%&ping /n 1 127.1 >nul                       
echo   └─────────────────────────┘
goto :eof


   此帖被 +3 点积分    点击查看详情   
评分人:【 vlq2599 分数: +1  时间:2008-3-26 17:23
评分人:【 p1509101 分数: +2  时间:2008-4-5 14:18


2008-3-26 13:31
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
goofy123
初级用户





积分 36
发帖 17
注册 2008-1-7
状态 离线
『第 14 楼』:  

很好,向你学习中~

2008-3-26 16:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vlq2599
新手上路





积分 7
发帖 10
注册 2006-1-9
状态 离线
『第 15 楼』:  

兄弟,不错,我只能给你加一分,不要嫌少呀

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


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



论坛跳转: