Splitmasters.ru

Связь и мобильные технологии
748 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Команды телнет для роутера

Полный контроль над роутером ASUS из командной строки

Как получить полный контроль, над роутером ASUS с установленной оригинальной (заводской) прошивкой, через командную строку с помощью Telnet протокола доступа.

Для получения больших возможностей по настройке роутера многие тут-же прошивают роутер альтернативной прошивкой, такой как DDWRT, OpenWRT и другие. Но не всегда это оправдано. Вэб-интерфейс оригинальной прошивки может не содержать каких-то триггеров но в самой прошивки есть многие необходимые утилиты.

Значит, мы можем проделать все манипуляции над роутером с оригинальной (заводской) прошивкой, через командную строку с помощью Telnet протокола доступа.

Самый безопасный и мощный способ это использовать SSH протокол, но можно воспользоваться не безопасным Telnet так, как он имеется во всех роутерах ASUS.

Если вэб-интерфейс вашего роутера не имеет триггера для включения Telnet, то вам необходимо прочитать эту статью: «Как включить Telnet сервер на роутере ASUS».

Получение доступа к командной строке

Прежде всего вам нужно подключиться к роутеру используя любой Telnet клиент, например PuTTY или консольный клиент.

Домен, IP-адрес, логин и пароль такие же как в вэб-интерфейсе роутера.

  • IP-адрес — 192.168.1.1 (или тот который вы установили).
  • Домен — router.asus.com (стандартный для ASUS роутеров)
  • Порт — 23 (стандартный для Telnet протокола).
  • Имя пользователя (логин) — admin (стандартный для ASUS роутеров).
  • Пароль — тот который вы установили (стандартный для ASUS роутеров — admin ).

Для подключения с помощью консольного клиента:

Подключитесь к роутеру по протоколу доступа Telnet:

Для авторизации используйте логин и пароль такие же как в вэб-интерфейсе роутера:

Поздравляю, теперь вы в командной строке Linux роутер!

В роутере

Теперь вы в командной строке Linux роутера ASUS.

В общем, Linux роутер очень похож на Debian но имеет некоторые особенности. Начну с общего.

Показать информацию о железе и прошивке роутера можно так:

Показать все примонтированные разделы, можно так:

Как вы видите squashfs раздел примонтирован с параметром ro то есть только на чтение. Но, ramfs ( /var ) примонтирован с параметром rw то есть чтение и запись. Значит, мы можем создавать и удалять файлы в этой директории. Но после перезагрузки всё будет как раньше, а новые файлы будут удалены.

Все загрузочные скрипты находятся в директории /etc/init.d/ .

Это место находится на разделе подключённом в режиме только чтения, поэтому вы не можете добавлять свои скрипты сюда.

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

Для того, чтобы получить список команд, поддерживаемых данным экземпляром BusyBox, запустите его без каких-либо аргументов или используйте опцию —list :

Для того, что бы узнать о том, что делают отдельные команды, используйте опцию —help в сочетании с этой командой:

Но не все программы в прошивке являются частью BusyBox. Поэтому может потребоваться просмотреть список всех программ:

Если в списке вы видите что-то похожее на […] -> busybox то эта программа является частью BusyBox.

Если нет нужной вам программы, то вы можете скачать её из интернета (или создать его путем кросс-компиляции) и положить в временный каталог ( /tmp/ ). Также вы можете скачать полную версию BusyBox с официального сайта (http://www.busybox.net) и поместить его в временный каталог ( /tmp/ ). Но, как я писал выше, после перезагрузки всё будет как раньше и новые файлы будут удалены.

К примеру, в моём роутере, встроенный BusyBox (v1.13.4) не содержит редактор vi или nano .

NVRAM

А теперь про особенности о которых Я писал выше. Все настройки роутера (настройки изменяемые через веб-интерфейс, пользовательские настройки, загрузочные скрипты) хранятся в энергонезависимый памяти — NVRAM (Non Volatile Random Access Memory). Существует специальная команда для работы с этой памятью — flash и она уже установлена в оригинальную прошивку.

Его можно запустить без аргументов для того, чтобы увидеть все опции:

Как вы можете видеть есть несколько опций. Аббревиатура hw означает — оборудование (железо).

Все настройки хранятся в переменных.

Показать все переменные:

И многие другие переменные.

Примечание: Все переменные начинающиеся с префикса DEF_ имеют значение по умолчанию (исходная конфигурация). Она включается при нажатии кнопки Reset на корпусе роутера или из веб-интерфейса роутера или с помощью команды flash в терминале.

Примечание: Не все из перечисленных переменных работают.Такие переменные как SAMBA_ENABLED=0 не работают, из-за того, что Samba не установлен.

Для того, чтобы найти переменные с словом NAME , используйте команду flash совместно с grep :

Примечание: Имена всех переменных записываются в верхнем регистре.

Показать значение определенной переменной (например, имя администратора):

Установить новое значение переменной (например, имя администратора):

Теперь у вас есть новое имя администратора (логин), а это повышает безопасность.

Но для того, что бы изменения вступили в силу необходимо перезагрузить роутер:

Если необходимо вернуть все заводские параметры (сброс к изначальным настройкам):

TELNET— основы использования

Немногие пользователи компьютера сегодня знают о существовании различных специальных протоколов на компьютере, позволяющих без использования графического интерфейса и сторонних программ выполнять различные действия. Поэтому сразу возникает желание узнать, как пользоваться службой TELNET, когда узнают о соответствующем протоколе.

Далее будут изложено немного теории о том, что такое TELNET, то, ради чего многие и стремятся ей овладеть: возможности службы, а также список основных команд, позволяющий эти возможности осуществить на Windows.

Сетевой протокол и текстовый интерфейс

TELNET — это средство связи, которое устанавливает транспортное соединение между терминальными устройствами, клиентами, то есть вашим компьютером и чьей-то ещё машиной, сервером, поддерживающей этот стандарт соединения. Это не специальная программа, а всего лишь сетевой протокол, но также словом TELNET (terminalnetwork) называют различные утилиты, которые также используют этот протокол. Сегодня Телнет присутствует практически везде, все ОС, так или иначе, его используют, в том числе и Windows.

Читать еще:  Как узнать ip роутера

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

Что нам всё это даёт?

Ранее эта служба была одним из немногих способов подключения к сети, но с течением времени утратила свою актуальность. Сегодня есть гораздо более удобные программы, которые делают за пользователя всю работу, и не заставляют его заучивать наизусть различные команды для того, чтобы выполнить простейшие действия. Однако кое-что при помощи Телнет можно сделать и сейчас.

Подключения к сети

При помощи Телнет вы можете:

  • подключаться к удалённым компьютерам;
  • проверить порт на наличие доступа;
  • использовать приложения, которые доступны только на удалённых машинах;
  • использовать различные каталоги, к которым получить доступ можно только таким образом;
  • отправлять электронные письма без использования специальных программ (клиентов);
  • понимать суть работы многих протоколов, использующихся сегодня, и извлекать из этого для себя определённую выгоду;
  • обеспечивать другим юзерам доступ к данным, размещённым на своём компьютере.

Начинаем пользоваться

Запуск

Запустить TELNET на Windows 7 и на любой другой Винде достаточно просто. Для этого необходимо сначала клиент, если он ещё не установлен:

  • Зайти в Панель управления.

  • Выбрать пункт «Программы».
  • Выбрать вкладку «Включение или отключение компонентов Windows».

  • Найти Telnet-клиент и поставить напротив него маркер, если он ещё не установлен.

После нажимаем «ОК» и ждём минуту, пока клиент устанавливается.

Запуск терминала осуществляется в Windows через командную строку, если у вас не установлено каких-либо специальных утилит для работы с Телнет. Но раз вы читаете эту статью, значит, только начинаете знакомство с этой темой, и для начала неплохо бы было освоить основы управления при помощи командной строки.

  1. Запускаем командную строку от имени администратора.
  2. Вводим «telnet».

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

Проверяем порт

Одно из простейших действий, выполняемых в TELNET — проверка порта. Вы можете проверить порт на наличие доступа к нему с вашего компьютера. Для этого нужно сделать следующее:

В командной строке, открытой по методу выше вводим: telnetip-адрес номер порта

К примеру, если ваш IP-адрес 192.168.0.1, а номер порта 21 (порт FTP), то вводим:

telnet 192.168.0.1 21

Если команда выдаёт сообщение об ошибке, значит, порт недоступен. Если появляется пустое окно или просьба ввести дополнительные данные, значит, порт открыт. Для Windows такой способ проверить порт может быть достаточно удобным.

Команды

Команды TELNET составляют основу использования терминала. С их помощью можно управлять компьютером, который использует этот протокол, если для вас разрешён доступ, а также совершать другие различные действия. Как уже сказано выше, на Windowsони вводятся в командной строке приложения Телнет.

Для того чтобы увидеть основной список команд, введите в строке helpи нажмите «Enter». Базовые команды:

  1. Open — подключение к удалённому серверу. Необходимо ввести эту команду вместе с именем управляемого сервера и номером порта, например: openredmond 44. Если параметры не указаны, то используются локальный сервер и порт по умолчанию.
  2. Close — отключение от удалённого сервера. Используются аналогичные параметры.
  3. Set — настройка удалённого сервера, используется с именем управляемого сервера. Вместе с Set используются следующие команды:
    1. [Term <терминал>] — используется, чтобы задавать терминал указанного типа.
    2. [Escapeсимвол] — задаёт управляющий символ.
    3. [Mode ] — задаёт режим работы.
  4. Unset [параметр] — отключает заданный ранее параметр.
  5. Start — запускает сервер Телнет.
  6. Pause — ставит работу сервера на паузу.
  7. Continue — возобновляет работу.
  8. Stop — останавливает сервер.

TELNET — один из старейших протоколов, но при этом он до сих пор применяется. Это означает, что и вы можете начать использовать его в своих целях. Для этого нужно лишь изучить синтаксис и список команд и начать практиковаться. Вы можете почерпнуть много нового, а заодно совсем по-другому начать смотреть на интернет и на привычные ранее действия в сети.

Как пользоваться telnet

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

Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.

Что такое Telnet?

Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.

Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:

$ telnet опции хост порт

Хост — это домен удаленного компьютера, к которому следует подключиться, а порт — порт на этом компьютере. А теперь давайте рассмотрим основные опции:

  • -4 — принудительно использовать адреса ipv4;
  • -6 — принудительно использовать адреса ipv6;
  • -8 — использовать 8-битную кодировку, например, Unicode;
  • -E — отключить поддержку Escape последовательностей;
  • -a — автоматический вход, берет имя пользователя из переменной окружения USER;
  • -b — использовать локальный сокет;
  • -d — включить режим отладки;
  • — режим эмуляции rlogin;
  • -e — задать символ начала Escape последовательности;
  • -l — пользователь для авторизации на удаленной машине.

Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:

  • Построчный — это предпочтительный режим, здесь строка текста редактируется на локальном компьютере и отправляется только тогда, когда она будет полностью готова. На такая возможность есть не всегда и не у всех сервисов;
  • Посимвольный — все набираемые вами символы отправляются на удаленный сервер. Тут будет сложно что-либо исправить, если вы допустили ошибку, потому что Backspace тоже будет отправляться в виде символа и стрелки движения тоже.

Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.

  • CLOSE — закрыть соединение с сервером;
  • ENCRYPT — шифровать все передаваемые данные;
  • LOGOUT — выйти и закрыть соединение;
  • MODE — переключить режим, со строчного на символьный или с символьного на строчный;
  • STATUS — посмотреть статус соединения;
  • SEND — отправить один из специальных символов telnet;
  • SET — установить значение параметра;
  • OPEN — установить подключение через telnet с удаленным узлом;
  • DISPLAY — отобразить используемые спецсимволы;
  • SLC — изменить используемые спецсимволы.

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

Как пользоваться telnet?

Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:

sudo apt install telnet

Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.

1. Доступность сервера

Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:

Для этого не обязательно применять telnet, есть ping.

2. Проверка порта

C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:

telnet localhost 123
$ telnet localhost 22

В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.

3. Отладка

Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:

sudo telnet -d localhost 22

4. Консоль telnet

Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется «^[«:

Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.

Чтобы посмотреть все доступные команды, вы можете набрать ?. Например, вы можете посмотреть статус подключения:

Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.

5. Посмотреть сайт telnet

Один из распространенных способов использования telnet — это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.

telnet opennet.ru 80

Затем наберите команду веб-серверу:

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

6. Удаленное управление telnet

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

telnet localhost 23

Тут порт можно даже не указывать, потому что по умолчанию будет использоваться именно 23. Далее, вам нужно ввести логин и пароль, а затем вы сможете выполнять команды в удаленной системе.

Выводы

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

Работа с роутерами 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.

Внимание, перед тем, как заходить на модем через 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-адрес модема, если верить вот этим инструкциям:

Но у меня для моего 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