Задача перепрошить маршрутизатор новой прошивкой, но засада в том, что она не фирменная и фирменная утилита воротит нос. Написано что можно неким TFTP клиентом загрузить, но все описание для *nix систем, а вот из под винды можно ? Задача передать через сетевой кабель данные прошивки в маршрутизатор переведенный в режим загрузки прошивки.
так надо было указать тип роутера и прошку которую хотите лить-тогда мож кто конкретно скажет
а так это разговор ни очем-теоретически -даже терминалкой дамп залить можно. но не всегда и не везде -зависит от процесора роутера и обьема озу
tftpd32
TFTP клиент расположен в запрашивающем файл устройстве, вам же нужен сервер.
Здравствуйте дорогие читатели, я часто сталкиваюсь с прошивками маршрутизаторов, коммутаторов и для этого обычно требуется tftp сервер.
На самом деле, думаешь зачем он мне нужен. Можно все настроить через веб интерфейс или отдать кто настроит. А вот бывают проблемы, когда веб-интерфейс недоступен, например вы хотели прошить роутер и у вас отключили свет, всё! Ну вирусы ещё не проникали на оборудование, но сейчас удивляться нечему. Много людей сразу покупают новый роутер или несут в ремонт. Зачем? Все просто можно восстановить с помощью программы и команды. Программу конечно я вам покажу для создания tftp сервера, а команды бывают разные, их надо искать в интернете или в тех.поддержке оборудования, которое вы хотите прошить.
Что такое tftp сервер?
tftp сервер это грубо говоря упрощенный ftp сервер, служит для передачи файлов, без всяких заморочек, паролей, логинов и т.д. необходимо знать только ip адрес и все. По этому его и используют для перепрошивки оборудования. Указал айпи адрес, tftp сервера, для устройства и все.
Как создать tftp сервер?
Для его создания требуется маленькая программа. Внизу статьи её можно скачать. Программа не только маленькая, но и очень проста, что позволяет создать tftp сервер в считанные секунды.
Открываем программу и видим окно, уже с готовым ip-адресом tftp сервера.
В первоначальном окне, вы выбираете папку на компьютере, что будет является вашим сервером, а ниже программа автоматически выдаст свободный ip-адрес.
Во вкладке tftp клиент, можно задать параметры вручную.
DHCP сервер, это статистика раздаваемых айпи адресов.
И остальные две вкладки это логи. Они будут создаваться, когда кто-то будет скачивать у вам файлы.
Так же внизу есть кнопка настроек, в который очень много чего можно настроить.
Ну для прошивки чего либо, нужно знать просто ip адрес.
Теперь скачиваем программу, вес которой всего 100 кб!
Вот и все, у вас теперь полноценный tftp сервер 🙂
TFTP | |
---|---|
Название | Trivial File Transfer Protocol |
Уровень (по модели OSI) | Прикладной |
Семейство | UDP/IP |
Создан в | |
Порт/ID | 69/UDP |
Назначение протокола | Передача файлов |
Спецификация | RFC 1350 / STD 33 |
Основные реализации (клиенты) | RIS Windows, tftp.exe |
Основные реализации (серверы) | WinAgents TFTP Server, RIS Windows, tftpd |
Расширяемость | Опции (RFC 2347) |
Основные расширения | Размер блока (RFC 2348), Тайм-аут передачи (RFC 2349) |
TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
Содержание
Применение [ править | править код ]
Основное назначение TFTP — обеспечение простоты реализации клиента. В связи с этим он используется для загрузки бездисковых рабочих станций, загрузки обновлений и конфигураций в «умные» сетевые устройства, записи статистики с мини-АТС (CDR) и аппаратных маршрутизаторов/файрволов.
Безопасность [ править | править код ]
Поскольку протокол не поддерживает аутентификации, единственный метод идентификации клиента — это его сетевой адрес (который может быть подделан). Обычно в Unix-системах tftpd доступен только каталог /tftpboot. Однако в старых TFTP-серверах было возможным получить файл паролей командой RRQ ../etc/passwd.
Демон tftpd (одна из реализаций tftp-сервера) отказывается обрабатывать файлы, содержащие в своём имени комбинацию «/../» или начинающуюся с «../». Запись разрешается только в файлы, которые уже существуют (любого размера, например нулевого), и доступны для публичной записи (права доступа: -rw-rw-rw-). [1]
Дополнительная защита от доступа к произвольным файлам осуществляется с помощью смены корневого каталога на каталог tftpd (обычно /usr/TFTPRoot).
Типы пакета [ править | править код ]
Сначала в TFTP-пакете идет поле размером в 2 байта, определяющее тип пакета:
- Read Request (RRQ, #1) — запрос на чтение файла.
- Write Request (WRQ, #2) — запрос на запись файла.
- Data (DATA, #3) — данные, передаваемые через TFTP.
- Acknowledgment (ACK, #4) — подтверждение пакета.
- Error (ERR, #5) — ошибка.
- Option Acknowledgment (OACK, #6) — подтверждение опций.
Запросы на чтение и запись [ править | править код ]
Для начала передачи данных клиент должен послать серверу WRQ или RRQ-пакет. У обоих пакетов формат одинаковый:
0x01/0x02 (тип пакета) | Имя файла | 0x00 (конец строки) | Режим передачи | 0x00 (конец строки) | Опции… (если есть) |
---|---|---|---|---|---|
2 байта | строка в ASCII | 1 байт | строка в ASCII | 1 байт | См. «Опции» |
В TFTP существует 2 режима передачи (режим Mail, определенный в IEN 133, признан устаревшим):
- netascii — файл перед передачей перекодируется в ASCII.
- octet — файл передается без изменений.
После получения RRQ-пакета сервером, он сразу начинает передачу данных. В случае с WRQ-запросом — сервер должен прислать ACK-пакет c номером пакета 0.
Процесс передачи данных [ править | править код ]
После получения запроса RRQ сервер сразу посылает в качестве подтверждения пакет с данными и с ID пакета, равным единице. В WRQ в качестве подтверждения используется ACK с ID, равным нулю. Всего по TFTP можно передать 32 Мб (65536 * 512 / 1024²), однако, из-за использования знакового int вместо беззнакового, размер подтверждения ограничен 16 мегабайтами. Однако если клиент и сервер поддерживают расширения протокола RFC 2347 и RFC 2348, то максимальный размер передаваемого файла увеличивается до 4Gb.
Опции TFTP [ править | править код ]
В RFC 2347 был предусмотрен формат опций, которые можно присоединять к окончанию RRQ-пакета и WRQ-пакета:
Код опции | 0x00 (конец строки) | Значение опции | 0x00 (конец строки) |
---|---|---|---|
строка в ASCII | 1 байт | строка в ASCII | 1 байт |
Опций может быть несколько. Тогда они будут следовать друг за другом. Порядок опций не важен.
В ответ на RRQ (или WRQ) с опциями, сервер должен прислать OACK со списком опций, которые сервер принял. Наиболее распространённые опции:
Название | Определена в | Код опции | |
---|---|---|---|
Размер блока | RFC 2348 | blksize | В качестве значения опции идёт число, принимающее значение от 8 до 65464, обозначающее размер блока. |
Интервал повторной передачи (Timeout) | RFC 2349 | timeout | В качестве значения опции идёт число, принимающее значение от 1 до 255, обозначающее время ожидания перед повторной передачей блока в секундах. |
Размер файла | RFC 2349 | tsize | В качестве значения опции идёт число, обозначающее размер передаваемого файла в байтах. |
Ошибки [ править | править код ]
В TFTP информация об ошибке имеет следующий формат:
0x05 (тип пакета) | Код ошибки | Описание ошибки | 0x00 (конец строки) |
---|---|---|---|
2 байта | 2 байта | строка в ASCII | 1 байт |
Код ошибки может принимать одно из значений, перечисленных в STD 33 (за исключением кода 8 — он описан в RFC 2347). Вот они:
Код ошибки | Описание |
---|---|
Нет определенного кода, см. текст ошибки | |
1 | Файл не найден |
2 | Доступ запрещен |
3 | Невозможно выделить место на диске |
4 | Некорректная TFTP-операция |
5 | Неправильный Transfer ID |
6 | Файл уже существует |
7 | Пользователь не существует |
8 | Неправильная опция |
Схема URI [ править | править код ]
В RFC 3617 определен формат URI для TFTP. Он имеет следующий вид: