win7的无线热点(承载网络)相信大家并不陌生,利用无线热点,可以将多个无线客户端连接到一起,组建小型的无线局域网。同时还能共享计算机上的宽带连接,从而将多个设备接入互联网。
这个批处理程序的功能就是查看连接到无线热点上的客户端信息,包括IP、物理地址。
欢迎大家使用和提出建议!
(已在win7下测试过,win8应该也能用,但尚未测试)- @echo off & setlocal EnableDelayedExpansion & color 1F & title 无线热点客户端查看程序
- (rem 无线热点客户端查看程序
- rem 版本 0.4 Beta
-
- set "ismode=" &rem 无线热点模式是否启用
- set "isstart=" &rem 无线热点状态是否开启
- set "isap=" &rem 是否找到ap信息
- set "apssid=" &rem 无线热点的ssid
- set "apmac=" &rem 无线热点的物理地址
- set "apip=" &rem 无线热点的IP地址
- set "sumclient=" &rem 连接到无线热点的客户端总数
- set "clientip=" &rem 客户端ip
- set "clientmac=" &rem 客户端mac
- set "clientstate=" &rem 客户端验证状态
- set "ipclass=" &rem 客户端ip类型
- set "n=" &rem 临时变量
- )
-
- :Begin
- echo 无线热点信息:
- for /f "skip=3 tokens=1* usebackq delims=:" %%i in (`netsh wlan show hostednetwork`) do (
- set /a n+=1
- if "!n!"=="1" (
- if "%%j"==" 已启用" (set "ismode=true") else set "ismode=false"
- if "%%j"=="" (echo 无线热点模式:不可用) else echo 无线热点模式:%%j
- )
- if "!n!"=="2" (
- if /i "!ismode!"=="true" (
- set "apssid=%%j"
- echo 无线热点的SSID:!apssid!
- ) else echo 未启动无线热点,SSID不可用
- )
- if "!n!"=="8" (
- if "%%j"==" 已启动" (set "isstart=true") else (set "isstart=false")
- if "%%j"=="" (echo 无线热点状态:不可用) else echo 无线热点状态:%%j
- )
- if "!n!"=="9" (
- set "apmac=%%j"
- set "apmac=!apmac::=-!" &rem 将:转换为-
- echo 无线热点的物理地址:!apmac!
- )
- if "!n!"=="12" set "sumclient=%%j" &rem 连接到无线热点的客户端总数
- )
-
- if /i "!isstart!"=="true" (
- for /f "tokens=1* usebackq delims=:" %%i in (`ipconfig /all`) do (
- if /i "%%j"==" !apmac!" set "isap=true" &rem 已进入ap信息
- if /i "!isap!"=="true" (
- set "n=%%i"
- if /i "!n:~0,7!"==" IPv4" (
- set "apip=%%j" rem 获取无线热点的IP地址
- set "isap=false" &rem 已离开ap信息
- )
- )
- )
- for /f "delims=(" %%i in ("!apip!") do set "apip=%%i" &rem 分离出ip地址
- echo 无线热点的IP地址:!apip!
- echo - - - - - -&echo;
-
- echo 连接到无线热点上的客户端信息:
- if !sumclient! gtr 0 (
- echo 连接到无线热点的客户端总数:!sumclient!
- echo 序号 类型 验证状态 物理地址 IP地址
- set "n=1"
- for /f "skip=16 tokens=1,2 usebackq delims= " %%i in (`netsh wlan show hostednetwork`) do (
- set "clientmac=%%i"
- set "clientmac=!clientmac::=-!" &rem 将:转换为-
- set "clientstate=%%j"
- for /f "tokens=1,3 usebackq delims= " %%i in (`arp -a -n !apip! ^| find /i "!clientmac!"`) do (
- set "clientip=%%i"
- set "ipclass=%%j"
- )
- echo !n! !ipclass! !clientstate! !clientmac! !clientip!
- set /a n+=1
- )
- ) else echo 当前没有客户端连接到无线热点上
- )else echo 未启动无线热点,IP和物理地址不可用 & echo 未启动无线热点,客户端信息不可用
- echo - - - - - -
-
- :End
- pause
复制代码
|