Я хочу изменить имя и IP-адрес маршрутизатора с помощью bash-скрипта, а не путем доступа к странице администратора маршрутизатора через веб-интерфейс.
2 ответа
Как правило, потребительские маршрутизаторы не предназначены для простого управления командной строкой.
Многие маршрутизаторы на основе Linux могут иметь поддержку ssh (что удивительно) или telnet (что небезопасно) и могут использовать стандартные команды под капотом - возможно, с busybox.
Тем не менее, то, что находится под капотом, - это обычно недокументированное, неподдерживаемое программное обеспечение, на самом деле не предназначенное для доступа простых смертных. Это довольно рискованно, но это там.
В случае с netgear - вики openwrt предлагает существование демона telnet, который при помощи соответствующих заклинаний вызывает определенный магический пакет, отправляемый с помощью инструмента telnetenabled.
Кажется, я не могу найти там ничего полезного, кроме смены имени пользователя и пароля, хотя, полагаю, он может хранить имена хостов и IP-адреса.
То, как вы будете писать весь процесс "telnet -> change values -> reset", будет зависеть от того, что там, я полагаю.
Используйте CURL для эмуляции веб-клиента программно. Я полагаю, что вам придется делать это через веб-интерфейс - по крайней мере, до того момента, пока вы не включите telnet - но это потребует больше усилий, чем просто использование Curl.