中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-28 00:06
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 原创!发个实用的局域网快速检测批处理(3月16日更新) 查看 3,329 回复 15
楼 主 原创!发个实用的局域网快速检测批处理(3月16日更新) 发表于 2008-03-09 18:30 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
  原代码如下,我知道现在检测局域网的东东特别多,但我就是喜欢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 ]
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
bjsh +4 2008-03-10 18:46
vlq2599 +1 2008-03-26 17:23
2 发表于 2008-03-10 00:52 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
呵呵,无人问津,自己给自己加下油了。
3 发表于 2008-03-10 12:53 ·  中国 广东 深圳 联通
初级用户
积分 89
发帖 36
注册 2007-12-20 15:37
18年会员
UID 106247
性别 男
状态 离线
多谢分享。
学习了……
4 发表于 2008-03-10 13:38 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
set命令中特殊字符的处理技巧,楼主用的挺好,呵呵。
5 发表于 2008-03-10 18:46 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
加分 鼓励
6 发表于 2008-03-10 18:49 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
谢谢老大了,大家一起加油了!
7 发表于 2008-03-10 21:03 ·  中国 浙江 杭州 阿里云
初级用户
积分 20
发帖 8
注册 2007-07-04 09:36
18年会员
UID 93087
性别 男
状态 离线
晕 这么多窗口 差D给你吓死 呵呵!
8 发表于 2008-03-11 03:21 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
大家请注意在检测时关闭其他应用程序,这个P的特点就是快,但也造成了它的缺点:短时间内(约一分钟)占用内存极高,建议电脑配置不好的不要使用。
9 发表于 2008-03-11 09:56 ·  中国 上海 普陀区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
不错,能用
10 发表于 2008-03-11 19:38 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
我又做了错码的检查,同时对各种情况进行了检测,同时还做了美观上的处理,请大家放心测试和使用了。
11 发表于 2008-03-16 13:46 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
为了大家共同提高,只好自私点,自己顶下了,呵呵。
12 发表于 2008-03-17 10:40 ·  中国 黑龙江 大庆 大庆中基石油通信建设有限公司
新手上路
积分 8
发帖 4
注册 2008-01-08 16:14
18年会员
UID 107999
性别 男
状态 离线
多谢分享。
学习了……
13 再次修改(简化部分代码) 发表于 2008-03-26 13:31 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
@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
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
vlq2599 +1 2008-03-26 17:23
p1509101 +2 2008-04-05 14:18
14 发表于 2008-03-26 16:44 ·  中国 江苏 南京 电信
初级用户
积分 36
发帖 17
注册 2008-01-07 13:19
18年会员
UID 107895
性别 男
状态 离线
很好,向你学习中~
15 发表于 2008-03-26 17:24 ·  中国 河南 安阳 联通
新手上路
积分 7
发帖 10
注册 2006-01-09 16:15
20年会员
UID 48691
性别 男
状态 离线
兄弟,不错,我只能给你加一分,不要嫌少呀
论坛跳转: