Я пытаюсь войти в настройки моего маршрутизатора из командной строки на моем компьютере с Ubuntu. Это не одна из тех дорогих моделей маршрутизаторов, которая имеет специализированный консольный порт, а скорее "нормальная" для семейства и тому подобное, ASUS. Я не думаю, что модель актуальна. То, что я хочу сделать, в основном эквивалентно открытию браузера и вводу адреса шлюза по умолчанию и вводу имени пользователя и пароля. Есть ли способ эмулировать такой процесс с .. скажем, Python или Curl?

Что я пробовал

  • Я попытался зайти в chrome в инструментах разработчика и на вкладке сети, чтобы посмотреть, какой запрос делает мой браузер и какой ответ я получаю от роутера, но это не имеет смысла. Я никогда не видел ничего подобного, и это только смущало меня больше.
  • Я пытался отправлять запросы get и post с моим именем пользователя и паролем, используя curl, библиотеку запросов из python и XMLHttpRequest в JavaScript. Не повезло, только вернулся сообщение с 401, несанкционированный или что-то о неправильно сформированном запросе.

Чего я пытаюсь достичь

Короче говоря, я надеялся, что смогу каким-то образом автоматизировать процесс и сделать определенные автоматизации. Я запускал скрипт на своем компьютере с Ubuntu, и он отправлял имя пользователя и пароль, возвращал содержимое всего, что отправляет маршрутизатор (я полагаю, html, CSS и JavaScript для управления интерфейсом) и что-то делал с этим. Что было бы еще лучше, так это на самом деле добраться до командной строки маршрутизатора и изменить настройки оттуда (я знаю, что, вероятно, этого трудно добиться, но человек может попробовать).

1 ответ1

-1

Вы определенно должны быть в состоянии достичь того, что вы хотите, так или иначе. Вопрос в том, какой уровень абстракции вы хотите использовать.

Вы пробовали низкоуровневый способ: пытаться эмулировать запросы с помощью curl или скрипта Python. Я думаю, что это хороший подход и должен быть выполнимым. (Например, сравните этот супер простой вызов curl на маршрутизаторе TP-Link. Базовый Auth и реферер - это все, что здесь нужно - эй, может быть, реферер - это все, что тебе тоже нужно?) Но не видя веб-интерфейса, я не могу дать конкретный совет.

Тогда есть высокоуровневый способ: используйте безголовый браузер и имитируйте точные пользовательские данные на странице. CasperJS может подойти; их документы должны дать вам хорошую отправную точку. Конечно, это, возможно, довольно жестокий способ, но он справится с работой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .