• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    批处理实现的网络巡检脚本(PING与端口扫描)

    check.bat 内容(脚本内容可能会应为排版问题不能直接复制粘帖运行,可自行修改):

    复制代码 代码如下:

    @echo off
    rem checklist.csv字段为: IP,名称,描述,TCP应用端口,UDP应用端口
    rem checklist.csv中请使用,@,替换,, 并不要使用()进行内容描述
    set e_file=error.log
    set e_count=0
    for /f "skip=1 tokens=1,2,3,4,5* delims=," %%i in (checklist.csv) do call :docheck %%i @%%j @%%k @%%l @%%m
    call :report
    goto :eof
    :docheck
    set ip=%1
    set name=%2
    set name=%name:@=%
    set comment=%3
    set comment=%comment:@=%
    set tcp=%4
    set tcp=%tcp:@=%
    set udp=%5
    set udp=%udp:@=%
    ping %ip% -n 3 -w 300 >nul 2>1
    if NOT %ERRORLEVEL%==0 (echo %time% %ip%[%name%,%comment%] ping error >>%e_file% set /a e_count=%e_count%+1) else call :portcheck
    call :report
    goto :eof
    :portcheck
    if not -%tcp%==- for /f "tokens=1,2,3,4,5,6,7,8,9,10* delims=-" %%i in ("%tcp%") do call :tcpcheck %%i %%j %%k %%l %%m %%n %%o %%p %%q
    if not -%udp%==- for /f "tokens=1,2,3,4,5,6,7,8,9,10* delims=-" %%i in ("%udp%") do call :udpcheck %%i %%j %%k %%l %%m %%n %%o %%p %%q
    goto :eof
    :tcpcheck
    if not -%1==- call :tcpquery %1
    if not -%2==- call :tcpquery %2
    if not -%3==- call :tcpquery %3
    if not -%4==- call :tcpquery %4
    if not -%5==- call :tcpquery %5
    if not -%6==- call :tcpquery %6
    if not -%7==- call :tcpquery %7
    if not -%8==- call :tcpquery %8
    if not -%9==- call :tcpquery %9
    goto :eof
    :udpcheck
    if not -%1==- call :udpquery %1
    if not -%2==- call :udpquery %2
    if not -%3==- call :udpquery %3
    if not -%4==- call :udpquery %4
    if not -%5==- call :udpquery %5
    if not -%6==- call :udpquery %6
    if not -%7==- call :udpquery %7
    if not -%8==- call :udpquery %8
    if not -%9==- call :udpquery %9
    goto :eof
    :tcpquery
    portqry -n %ip% -e %1 -p tcp || (echo %time% %ip%[%name%,%comment%] tcp port %1 query error >>%e_file% set /a e_count=%e_count%+1)
    goto :eof
    :udpquery
    portqry -n %ip% -e %1 -p udp || (echo %time% %ip%[%name%,%comment%] udp port %1 query error >>%e_file% set /a e_count=%e_count%+1)
    goto :eof
    :report
    echo %e_count%
    rem do whatever you want. such as send error.log by mail
    goto :eof

    checklist.csv样例:
    IP,名称,描述,TCP应用端口,UDP应用端口 '两个逗号之间要加入@,描述不能加入括号(),请用[]替代
    192.168.0.1,@,@,@,
    192.168.0.3,@,@,@,
    192.168.0.9,FTPSERVER,FTP服务器,135-445-21,
    192.168.0.10,TESTSERVER,TESTSERVER,135-445-21,53

    上一篇:用批处理文件自动备份文件及文件夹,并自动删除n天前的文件
    下一篇:用批处理/注销脚本清除 存储用户名和密码 列表的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    批处理实现的网络巡检脚本(PING与端口扫描) 批处理,实现,的,网络,巡检,