局域网检测

2016年1月11日 0 条评论 1.46k 次阅读 0 人点赞
@echo off
setlocal enabledelayedexpansion
color 0a
::判断本机网段主机是否在线,并且获得主机名,ttl和mac地址
:: --by lf 2008-12-06
::速度太慢了点,,,

::取得本机ip、mac和主机名
if "%OS%"=="Windows_NT" set "Space=        "
set "macself=%Space%Physical Address"
set "ipself=%Space%IP Address"
set "nameself=%Space%Host Name "
for /f "tokens=1,* delims=." %%i in ('ipconfig /all') do (
   for %%a in (macself ipself nameself) do (
      if "%%i"=="!%%a!" set %%a=%%j
   )
)
::如出现获取不到任何ip的情况请用下列检测,并修改Space的宽度
::echo %macself%
::echo %ipself%
::echo %nameself%
::pause
set macself=%macself:*: =%
set ipself=%ipself:*: =%
set nameself=%nameself:*: =%

::取得ip前三段
for /f "tokens=1,2,3 delims=." %%i in ("%ipself%") do set ipa=%%i.%%j.%%k

::开始检测
echo.
Echo   ┏──┤      局域网检测工具    ├─────────────────┓
echo   │                                                                  │
Echo   ├──┬──主机名───┬── ip 地址──┬ttl值┬── MAC 地址──┤

ping/n 1 127.1>nul
for /l %%i in (1 1 254) do (
    set ip=%ipa%.%%i
    title Ip Address !ip!
    ping/n 1 /w 0.5 !ip! >nul && (
        set "name=Pinging"
        set "tt=Reply"
        for /f "tokens=1,* delims= " %%i in ('ping -a -n 1 -w 0.5 !ip!') do (
            for %%a in (name tt) do (
                if "%%i"=="!%%a!" set %%a=%%j
            )
        )
        for /f "tokens=1 delims= " %%i in ("!name!") do set name=%%i
        for /f "tokens=3 delims==" %%i in ("!tt!") do set tt=%%i
        for /f "tokens=2 skip=3 delims= " %%i in ('arp -a !ip!') do set mac=%%i
        if !ip!==!ipself! (
           set z=本机
           set mac=!macself!
           set name=!nameself!) else (set z= ● )

        if !name!==!ip! (set name=无法找到主机名) else (
           set name=!name!               
           set name=!name:~0,14!
        )
        set ip=!ip!          
        set ip=!ip:~0,15!
        set tt=!tt!   
        set tt=!tt:~0,3!
        echo   │!z!│ !name! │ !ip!│ !tt! │!mac!│
    )
)
ping/n 1 127.1>nul
Echo   ┗──┴────────┴────────┴───┴────────┛
title 局域网检测工具
pause>nul
rd /q /s "%temp%\ip\"

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)