This commit is contained in:
parent
baaaaad6c4
commit
1e4522adaf
|
|
@ -1,62 +0,0 @@
|
|||
#!/bin/bash
|
||||
# test_keenetic_auth.sh
|
||||
# Использование: ./test_keenetic_auth.sh [USER] [PASS] [IP]
|
||||
|
||||
USER="${1:-admin}"
|
||||
PASS="${2:-12985654}"
|
||||
IP="${3:-192.168.60.1}"
|
||||
AUTH_BASE64=$(echo -n "$USER:$PASS" | base64)
|
||||
|
||||
echo "=== Диагностика авторизации Keenetic RCI ($IP) ==="
|
||||
echo "Пользователь: $USER"
|
||||
|
||||
test_request() {
|
||||
local name="$1"
|
||||
local port="$2"
|
||||
local headers="$3"
|
||||
echo -n "Тест: $name (Порт $port)... "
|
||||
|
||||
# Используем curl с таймаутом, чтобы не висело вечно
|
||||
local start_time=$(date +%s%3N)
|
||||
local out
|
||||
# В Windows curl может вести себя иначе, но мы предполагаем запуск на роутере или в bash
|
||||
out=$(curl -s -i -m 10 \
|
||||
$headers \
|
||||
"http://$IP:$port/rci/system/hostname" 2>&1)
|
||||
local status=$?
|
||||
local end_time=$(date +%s%3N)
|
||||
local duration=$((end_time - start_time))
|
||||
|
||||
if [ $status -eq 0 ]; then
|
||||
local code=$(echo "$out" | grep "HTTP/" | tail -1 | awk '{print $2}')
|
||||
echo "OK [$code] ($duration ms)"
|
||||
if [ "$code" = "401" ]; then
|
||||
echo " Заголовки WWW-Authenticate:"
|
||||
echo "$out" | grep -i "WWW-Authenticate" | sed 's/^/ / '
|
||||
fi
|
||||
elif [ $status -eq 28 ]; then
|
||||
echo "TIMEOUT (Зависло!)"
|
||||
else
|
||||
echo "ERROR (Код curl: $status)"
|
||||
echo "$out" | head -n 3 | sed 's/^/ / '
|
||||
fi
|
||||
}
|
||||
|
||||
echo "--- Начинаем тесты ---"
|
||||
|
||||
# 1. Базовый порт 80, чистый Basic Auth
|
||||
test_request "Port 80 + Basic Auth" 80 "-H \"Authorization: Basic $AUTH_BASE64\""
|
||||
|
||||
# 2. Порт 80 + Метод v1.3.8 (XMLHttpRequest)
|
||||
test_request "Port 80 + XMLHttpRequest" 80 "-H \"Authorization: Basic $AUTH_BASE64\" -H \"X-Requested-With: XMLHttpRequest\""
|
||||
|
||||
# 3. Порт 80 + Метод v1.3.8 (Full X-Headers)
|
||||
test_request "Port 80 + Full X-Headers" 80 "-H \"Authorization: Basic $AUTH_BASE64\" -H \"X-Requested-With: XMLHttpRequest\" -H \"X-NDM-Auth-Type: Basic\" -H \"Accept: application/json\""
|
||||
|
||||
# 4. Порт 79 (Служебный) - Чистый Basic
|
||||
test_request "Port 79 + Basic Auth" 79 "-H \"Authorization: Basic $AUTH_BASE64\""
|
||||
|
||||
# 5. Порт 79 + XMLHttpRequest
|
||||
test_request "Port 79 + XMLHttpRequest" 79 "-H \"Authorization: Basic $AUTH_BASE64\" -H \"X-Requested-With: XMLHttpRequest\""
|
||||
|
||||
echo "--- Диагностика завершена ---"
|
||||
Loading…
Reference in New Issue