Работа с роутерами 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 выкладывает здесь.
Ремонт и модернизация Компьютеров в Харьковской области
Покупая роутер, многие сразу хотят его перепрошить, так как в заводских прошивках нет такой максимальной функцианальности как в альтернативных прошивках. Перед тем как закачивать в роутер альтернативную прошивку нужно внимательно ознакомиться с описанием прошивки, убедиться что прошивка именно к вашей модели роутера, имеет ли прошивка web интерфейс и так далее. Несоблюдение всех этих требований, а также отключение электричества, может привести к повреждению роутера.
В этой статье покажем как можно легко вернуть роутеру заводскую прошивку, если конечно роутер подает признаки жизни. Если роутер не подает признаков жизни, то придется его восстанавливать через консоль — открывать корпус роутера и посоединять к компьютеру через нульмодемный кабель
Процесс восстановления роутера покажем на примере роутера TP—Link TL—MR3220, который прошили альтернативной польской прошивкой, в надежде добиться нормального подключения к роутеру USB 3.5g модема Huawei 306 revB от оператора беспроводного скоростного Интернета «Интертелеком«.
После прошивки оказалось, что прошивка не имеет web интерфейса, а имеющихся знаний у того кто прошивал роутер, не хватает, чтобы разобраться с настройкой 3g модема. Для возврата роутера в прежнее положение необходимо его прошить заводской прошивкой, но стандартным способом сделать это уже не получиться.
Для начала, убеждаемся, что роутер «живой» — горят светодиоды Power, LAN и по сетевому протоколу telnet можно войти в роутер через кнопку «Пуск» -> «Выполнить» -> telnet 192.168.1.1 Вы должны увидеть приглашение роутера.
Для прошивки роутера запускаем программу WinSCP и пытемся подключиться к роутеру. WinSCP спросит логин и пароль. Обычно после прошивки роутера альтернативной прошивкой логин и пароль root. Если пароль не проходит, необходимо установить его в telnet с помощью команды passwd.
Для этого входим в telnet через кнопку «Пуск» -> «Выполнить» -> telnet 192.168.1.1, вводим команду passwd и вводим любой новый пароль, который нужно запомнить для ввода в программу WinSCP.
После входа в программу WinSCP вы долны увидеть два окна как в Total Commander.
В правом окне увидим файловую структуру роутера, а в левом окне файловую структуру компьютера. Находим в роутере папку tmp и копируем туда заводскую прошивку роутера.
Нажимем вверху Commands -> Open Terminal и вводим команду:
mtd -r write/tmp/mr3220.bin firmware
mr3220.bin — название прошивки роутера, которую вы скопировали в файловую структуру роутера в папку tmp.
Наблюдаем процесс прошивки роутера в виде быстрого моргания светодиода LAN и получаем восстановленный роутер с заводской прошивкой, как-будто только что из магазина.
Прошить роутер через телнет
При подключении модема к компу через LAN разъем у меня на компе НЕТ СЕТИ. При любой манипуляции с модемом ничего не происходит. Поэтому прошить его можно только через tftp сервер. Я установил сервер, но когда я захожу в модем через консольный кабель, не могу разобраться в командах.
Использование клиента TFTP роутера. (перевод вики-вэ-эр-тэ)
Если вы хотите установить прошивку, используя TFTP, выполните следующие действия.
1. Подключите последовательный TTL-кабель для передачи команд CFE через последовательный программного обеспечения консоли, для загрузки микропрограммы с помощью TFTP.
2. Запустите сервер TFTP в вашем компьютере.
3. Скопируйте файл firmware.bin в директорию TFTP сервера.
4. Установите IP в вашем компьютере в 192.168.1.35 (или любой другой совместимый), и подключите сетевой кабель к маршрутизатору .
5. Включите маршрутизатор, нажмите любую клавишу в последовательной консоли, чтобы войти в CFE переводчика командной строки.теперь выполните команду: f 192.168.1.35:firmware.bin
Должно выглядеть так и случиться следующие:CFE> f 192.168.1.35:firmware.bin
Loading 192.168.1.35:firmware.bin .
Finished loading 2686980 bytesFlashing root file system and kernel at 0xbfc10000: .
.
*** Image flash done *** !
Resetting board. \0xffp.s
выключили роутер, подключили консольный кабель, нажали пробел на клавиатуре (не отпуская), включаете питание роутера.
как только появиться после строчки * Press any key to stop auto run (1 seconds) * и следующие сообщение:Auto run second count down: 1
CFE>
CFE>значит загрузчик готов принимать ваши команды.
Отпускаете эникея(пробел на клавиатуре).полный код от точки старта выглядит так:
DGND3700 Boot Code V1.0.8
CFE version 1.0.37-104.4 for BCM96368 (32bit,SP,BE)
Build Date: Mon Feb 21 17:59:46 CST 2011 (finerain@moonlight)
Copyright (C) 2000-2009 Broadcom Corporation.Parallel flash device: name AM29LV320MT, id 0x2201 size 32768KB
Total Flash size: 32768K with 256 sectors
ethsw: found bcm53115!
Chip ID: BCM6368B2, MIPS: 400MHz
Main Thread: TP0
Total Memory: 134217728 bytes (128MB)
Boot Address: 0xb8000000Board IP address : 192.168.1.1:ffffff00
Host IP address : 192.168.1.2
Gateway IP address :
Run from flash/host (f/h) : f
Default host run file name : vmlinux
Default host flash file name : bcm963xx_fs_kernel
Boot delay (0-9 seconds) : 1
Board Id (0-11) : 96368MVWG
Number of MAC Addresses (1-32) : 10
Base MAC Address : 20:4e:7f:c0:b5:4c
PSI Size (1-64) KBytes : 24
Enable Backup PSI [0|1] : 0
System Log Size (0-256) KBytes : 0
Main Thread Number [0|1] : 0* Press any key to stop auto run (1 seconds) *
Auto run second count down: 1
CFE>
CFE>Получили управление CFE, переходите в начала поста и проделываете описанное выше.
Или сразу к команде f 192.168.1.35:firmware.bin, если остальное готово и в нужном месте.
Не забудьте прописать на компе указанный IP и подключить пачкорд к сетевой карте и роутеру !
(потому как к телу подбираетесь с двух «сторон» )у меня лично когда-то это не удалось(вероятно ошибка), но был программатор, по лени не стал выяснять. но Вы попробуйте.. авось поможет.
-