Настройки роутера через телнет

Работа с роутерами D-Link через Telnet

Сегодня мы узнаем, как с помощью утилиты telnet можно подключиться к роутеру D-Link и что это нам дает. Итак, что мы имеем:

  • Роутер. Моим подопытным будет роутер D-Link DSL-2640U. Это классический 4-х портовый модем, подключающийся к интернету с помощью технологии ADSL ( Asymmetric Digital Subscriber Line) через телефонный провод и раздающий его на все 4 порта + WiFi.
  • Компьютер под управлением операционной системы Windows 7 Pro

Итак. Опкрываем меню Пуск и вводим команду cmd. Можно так же воспользоваться командой Windows+R для вызова окна Выполнить и ввести команду cmd туда. Жмем Enter и перед нами всплывет окно командной строки.

Далее выполним команду telnet 192.168.1.1 23 , где 192.168.1.1 — это ip-адрес нашего модема, а 23 — порт telnet.

Если на Windows вы получите ошибку, попробуйте повторить ее после start /w pkgmgr /iu:»TelnetClient

Внимание, перед тем, как заходить на модем через telnet, убедитесь, что в настройках модема разрешено подключение через telnet (при заводских настройках оно включено по умолчанию)

Если вы все сделали правильно, то telnet запросить логин и пароль. И не паникуйте, что при вводе пароля не появляются символы на экране. Это специальная фишка linux-систем как защита от кражей паролей

Если вы все сделали правильно, то перед вами появится следующая картина:

Что такое BusyBox вы можете почитать здесь. Если кратко, то это своеобразный интерпретатор команд для unix-подобных систем.

Итак, какие команды наиболее интересны:

      • Команда ls — — выводит список файлов или каталогов (для вывода корневых каталогов можно так же использовать echo */ )
      • cat — читает файл. (например, узнать версию встроенной операционной системы можно с помощью cat /proc/version , архитектуру — cat /proc/cpuinfo , память — cat /proc/mtd , )
        • pwd — узнать текущий каталог
        • ip — команда, раскрывающая все возможности работы с сетью
        • free — оперативная память на борту

        Итак, попробуем посмотреть, что из каких файлов и папок состоит наша прошивка. Вводим команду ls -al и нажимаем Enter. И получиться у нас должно что-то типа такого:

        Куча всего непонятного, правда? Не пугайтесь. Не так страшен черт, как его малюют. Давайте разбираться:

        Первый столбец — это права доступа к файлу/папке (если кратко r — чтение, w — запись, x — исполнение, — — права отсутствуют, t — запрет на удаление пользователем), второй — это количество папок в в ветке, третий — размер файла, четвертый — название. Не так уж и страшно.

        Теперь рассмотрим, что же представляет каждая из этих папок в ос Linux:

        • /var — Системные данные и конфигурационные файлы (в ос linux обычно является отдельной файловой системой)
        • /usr — Большин­ство стандартных программ и другие полезные компоненты (также часто в linux является отдельной файловой системой)
        • /tmp — Временные файлы, которые могут удаляться при перезагрузке
        • /sbin — Команды, необходимые для обеспечения минимальной работоспособности системы
        • /root — Домашний каталог суперпользователя
        • /proc — Информация о всех выполняющихся процессах
        • /opt — Программные пакеты необязательных приложения (которые пока не находят широкого применения)
        • /mnt — Временные точки монтирования
        • /lib, lib32, /lib64 — Библиотеки и вспомогательные файлы для стандартных программ
        • /home — Стандартные домашние каталоги пользователей
        • /etc — Важные файлы запуска и конфигурации системы
        • /dev — Файлы устройств: дисков, принтеров, псевдотерминалов и т.д.
        • /bin — команды операционной системы ядра

        Если хотите узнать больше, введите в командной строке cat /proc/meminfo . Вы увидите следующее окошко:

        Из всего этого нас больше всего интересует MemTotal и MemFree — всего и свободной памяти соответственно. Важной так же является информация в proc/mounts

        На этом краткий обзор на сегодня закончу. В следующей статье

        Через telnet мы можем так же посмотреть mac-адрес нашего устройства с помощью команды ip link:

        Либо еще проще, через команду mfc mac get , например, для ревизий U/RA/U2A — можно проверить командой mfc hwrev get либо через mfc dump. Через telnet мы так же можем попробовать сменить mac-адрес модема, если верить вот этим инструкциям:

        Для H/W U1 с версией ПО 1.0.21 — mfc set_base_mac XX:XX:XX:XX:XX:XX Для H/W U1 с версией ПО 2.0.0 — mfc set_wan_mac XX:XX:XX:XX:XX:XX Для H/W U2 с версией ПО 2.5.3 — mfc mac set XX:XX:XX:XX:XX:XX

        Но у меня для моего U/RA/U2A из этих инструкций ничего не сработало: они выполнились и даже mfc mac get показал правильный мак, но в веб-интерфейсе нули так и остались. Помогла команда

        То, что вам нужно подставить вместо звезд, я думаю, вы догадаетесь без меня. Полный синтаксис команды будет такой: mfc init

        Какие есть альтернативы в случае неудачи. Не отчаивайтесь. Можно попробовать восстановить mac-адреса с помощью кабеля или даже редактирования прошивки, слитой через программатор. Но такая работа требует больше усилий и навыков. Но в принципе эти способы могут пригодиться, если telnet вам откажет. Так же некоторые прошивки позволяют редактировать мак непосредственно в веб

        Для более плотной работы с настройками модема введите команду resident_cli . Надо будет подтвердить логин и пароль еще раз. В окне терминала вы увидите снова общую информацию об устройстве и станет доступна консоль для настройки модема. Чтобы вернуться в окно BusyBox, выполните команду sh

        Какие еще интересные команды? Для настройки фаервола есть команда iptables . Она открывает перед администратором огромные возможности (от которых честно говоря, можно захлебнуться. Так что я рекомендую настройки фаервола делать через обычный веб-интерфейс)

        Перед тем, как прошивать, хорошо бы было снять копию текущей прошивки. Но это не так просто. В консоли D-Link нет готовой команды для бэкапа. Но есть другие не менее любопытные. Например, hexdump, а так же

        • dd — копирование файла с конвертированием и форматированием (с параметрами if, of, bs, skip, seek)
        • mkdir — создание каталога

        Важно знать: все прошивки D-Link распространяются под лицензией GPL! А значит имеют открытый исходный код. Я не знаю, почему компания решила открыть все свои исходники своего ПО. На мой взгляд, это шаг назад, т.к. любой злоумышленник может модифицировать прошивку, залить туда троян либо другой вирус и заразить модемы. В связи с этим интернете, к сожалению, есть много описаний уязвимостей модемов D-Link с подробными рецептами, как ими пользоваться. Очевидно, это минус. Но нам это сейчас на руку. Конечно, нашей целью не является написание вирусов, а наоборот — расширение функционала.

        Второй момент — это то, что исходники прошивки ни на каком ни php или asp, а на голом C++, под gcc заточенном. Не то, чтобы это было очень плохо, но это усложняет задачу. Лично для меня C++ — самый сложный стек, с которым мне приходилось сталкиваться. Я считаю, это язык для профессионалов. Но не все так плохо. Итак, впереди нас ждет веселое и увлекательное путешествие в реверс-инжиниринг исходного кода маршрутизаторов D-Link!

        Все исходники на свои программы D-Link выкладывает здесь.

        Источник

        Читайте также:  Вайфай роутеры какие должны быть
Оцените статью
Adblock
detector