2

Ребята, я хочу найти общий способ запуска скрипта (простой bash) на последовательности загрузки маршрутизатора со встроенным Linux. Я читал о способах сделать это на устройствах, таких как:

  • DD-WRT
  • OpenWRT
  • любой NAS вроде D-Link DNS-323

Но мне было интересно, можно ли это сделать на обычных встроенных устройствах, таких как (в основном, простой) DSL-маршрутизатор. Возможные причины для этого:

  • Общий метод обновления общедоступного IP-адреса устройства до DNS-серверов, которые позволяют это (я нашел некоторые, которые позволяют это с помощью простых команд http).
  • Отправляйте любые данные на FTP-сервер, например, общедоступный IP-адрес устройства.
  • Простой способ сообщить "Устройство включено" удаленному хосту, например, выполнить "telnet MySSHServer 22" на домашнем сервере SSH.
  • Добавить сетевые правила, список ARP, отключить любой сетевой интерфейс (ethx)... и т.д.
  • Обучение & Исследование ;-)

Я слышал, что некоторые люди делают это с некоторыми маршрутизаторами DSL, выполнив следующие действия:

  1. Сохраните все данные маршрутизатора (включая конфигурацию) в файл типа прошивки.
  2. Отредактируйте этот файл прошивки (т.е. измените файл "/etc/rc.local").
  3. Восстановление модифицированного файла прошивки на роутере.

Есть ли лучший способ, о котором кто-нибудь знает?

2 ответа2

2

Ответ будет зависеть от устройства, так как не существует такого понятия, как "универсальный" маршрутизатор. Есть несколько подходов:

  • Замените стоковую прошивку открытым пакетом (DD-WRT, OpenWRT, Tomato и т.д.)
  • Взломать стоковую прошивку (описанный вами 3-х шаговый процесс)
  • Использовать функции в стоковой прошивке (может быть недокументированным или неочевидным)

В стандартной прошивке нескольких маршрутизаторов я заметил, что в области администрирования интерфейса есть страница, в которой есть текстовое поле, использующее TFTP или Telnet для запуска оболочки на маршрутизаторе. Это может быть помечено как "тестовое соединение" или что-то в этом роде. Если вы можете создать или изменить файл из этого интерфейса, вы сможете изменить конфигурацию. Возможно, вам придется изменить правила, например, если текстовое поле принимает только IP-адрес и запускает "ping" для каждого из них, вы можете указать строку вроде

127.0.0.1&&/sbin/sshd& 

Затем проверьте устройство с помощью nc/nmap, чтобы узнать, доступна ли служба ssh (порт 22).

1

Я нашел инструмент, который может быть полезен: Набор для модификации прошивки.
Это пакет инструментов, который открывает (раскрывает) полное содержимое файла прошивки .bin в каталог с именем "fmk" и позволяет редактировать его, чтобы впоследствии вы могли снова упаковать его в файл .bin с помощью другого включенного инструмента.
Так что до сих пор процесс для чего-то вроде роутера выглядит так:

  1. Скачайте .bin файл прошивки.
  2. Распакуйте, отредактируйте и перепакуйте его в свой .bin с помощью комплекта прошивки.
  3. Прошить его на свой роутер.

Я бы предпочел сделать это:

  1. Извлеките фактическую конфигурацию и данные маршрутизатора (включая переадресацию портов, конфигурацию беспроводной сети, пароли и т.д.) В файл прошивки .bin.
  2. Распакуйте, отредактируйте и перепакуйте его в свой .bin с помощью комплекта прошивки.
  3. Прошить его на свой роутер.

но я не нашел пути до сих пор. Я даже не знаю, возможно ли это.

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