Sunday, November 19th, 2017

Обзор протокола TFTP

Published on Февраль 18, 2009 by   ·   Комментариев нет

В настоящей жизни у всех нас есть родственники, близкие и не очень. Если провести параллель с сетевым миром, то картина выглядит похожей. В данной статье мы рассмотрим двоюродного брата протокола FTP протокол TFTP (Trivial File Transfer Protocol – Протокол передачи обычных файлов). Они обладают одинаковыми свойствами, но в то же самое время у них есть и некоторые существенные различия.

Протокол TFTP и Вы

Протокол TFTP необычный, как может показаться из его названия. Это хорошо сделанный протокол с характерными функциями. Протокол является излюбленным для хакеров, когда они хотят отправить или получить какие-либо файлы. TFTP достаточно быстр, но мы коснемся его скорости немного позже. Так же как большинство других протоколов прикладного уровня, TFTP передается по IP и использует пользовательский протокол данных (UDP ) в качестве протокола передачи.

В протоколе TFTP содержатся 5 сообщений:

  • RRQ, которое выводится как запрос на чтение
  • WRQ, которое выводится как запрос на запись
  • ACK, которое выводится как сообщение подтверждения
  • ERROR, которое выводится как сообщение об ошибке
  • DATA, которое выводится как сообщение на чтение или запись следующей части данных

Когда вы натолкнетесь на пакеты TFTP, вы сможете увидеть такие сообщения в самом пакете. В протоколе TFTP содержатся также коды ошибок, которые вы сможете увидеть ниже. Насколько вы помните, в наших рассказах о протоколах HTTP и SMTP мы говорили, что в них тоже есть коды ошибок и состояния. В функции данных кодов входит создание связанного обмена данными, в которых иногда могут быть ошибки. Данные коды рассматривают различные условия обмена данными между клиентом и сервером.

Протокол TFTP обычно используется для хранения и поиска файлов настроек переключателей Cisco IOS и Catalyst. Я уже упоминал, что хакеры используют его для поиска и хранения файлов на атакуемых компьютерах. Вы не ограничены возможностью передачи содержимого ascii, вы можете передавать также и двоичные файлы. Так как протокол является излюбленным у хакеров, вы всегда должны относиться с подозрением к трафику TFTP на своем компьютере.

Продолжаем!

Я уже говорил, но повторю еще раз: практика — это лучший способ обучения. Поэтому давайте взглянем на трафик TFTP. Далее пойдут небольшие отрывки с моими комментариями.

10:43:20.926155 IP (tos 0x0, ttl 128, id 69, offset 0, flags [none], length:
44) 192.168.1.102.1029 > 192.168.1.101.69: [udp sum ok]  16 RRQ «example»
octet
0x0000:  4500 002c 0045 0000 8011 b660 c0a8 0166  E..,.E…..`…f
0x0010:  c0a8 0165 0405 0045 0018 833b 0001 6578  …e…E…;..ex
0x0020:  616d 706c 6500 6f63 7465 7400 0000           ample.octet...

Данный трафик был получен с помощью иной версии windump, и выглядит он поэтому несколько иначе, чем тот, к которому вы более привычны. В верхнем пакете представлен запрос на чтение для файла «example». Это видно из подчеркнутой записи RRQ. Далее в скобках следует файл, который запрашивается с сервера TFTP, расположенного по адресу 192.168.1.101 на порту 69. Этот порт ассоциируется с TFTP и находится в зоне от 0 до 1024. Мы также можем видеть запись “octet”, которая следует за именем файла.

Октет означает, что данные будут переданы в 8-разрядных байтах в отличие от другого типа передачи «netascii». В этом случае TFTP воспринял бы файл «example» как строки текста ascii, но я не буду останавливаться на этом подробно. Наконец я покажу, что 16 в сообщении RRQ относится к количеству данных TFTP, отправленных в пакете. Это хорошо видно при элементарном подсчете. Длина пакета составляет 44, как видно из заголовка. IP заголовок состоит из 20 байт, а заголовок UDP – из 8. Оставшиеся 16 байт данных TFTP заключены в самом пакете. Различия в размерах между TCP и UDP объясняет, почему UDP быстрее: на 12 байт заголовочной информации меньше для отправки. Это ускоряет пересылку файлов.

10:43:20.977012 IP (tos 0x0, ttl  64, id 8683, offset 0, flags [DF], length:
130) 192.168.1.101.32768 > 192.168.1.102.1029: [bad udp cksum 424c!] UDP,
length: 102
0x0000:  4500 0082 21eb 4000 4011 9464 c0a8 0165  E…!.@.@..d…e
0x0010:  c0a8 0166 8000 0405 006e 849b 0003 0001  …f…..n……
0x0020:  5468 6520 6265 7374 2077 6179 2074 6f20  The.best.way.to.
0x0030:  6c65 6172 6e20 6162 6f75 7420 7468 696e  learn.about.thin
0x0040:  6773 2069 7320 746f 200a 6163 7475 616c  gs.is.to..actual
0x0050:  6c79 2064 6f20 6974 2079 6f75 7273 656c  ly.do.it.yoursel
0x0060:  662e 204d 7563 6820 6c69 6b65 2077 6861  f..Much.like.wha
0x0070:  740a 4920 616d 2064 6f69 6e67 206e 6f77    t.I.am.doing.now
0x0080:  210a                                                                 !.

Выше представлен запрашиваемый файл “example”, отправляемый сервером TFTP, который расположен по адресу 192.168.1.101. Из части ascii пакета видно, что содержанием файла является сообщение о том, что лучший способ обучения — это самостоятельная практика.

10:43:20.979434 IP (tos 0x0, ttl 128, id 70, offset 0, flags [none], length:
32) 192.168.1.102.1029 > 192.168.1.101.32768: [udp sum ok] UDP, length: 4
0x0000:  4500 0020 0046 0000 8011 b66b c0a8 0166  E….F…..k…f
0x0010:  c0a8 0165 0405 8000 000c f7af 0004 0001  …e…………
0x0020:  0000 0000 0000 0000 0000 0000 0000       …………..

Это пакет подтверждения. Довольно странно, что это UDP, а не TCP. Почему мы тогда видим данный пакет? На самом деле это часть протокола TFTP и коды операции, которые идут совместно с ним. Где же они расположены? Хороший вопрос. Мы знаем, что наш IP заголовок заканчивается на 0165 байтах, так как это два последних октета IP адреса места назначения. Заголовок UDP начинается с байтов 0405 и заканчивается на байтах f7af.

Таким образом становится понятно, что байты 0004 представляют собой код операции для данного пакета. В этом случае значение равняется 4, и выводится сообщение подтверждения. После значения кода операции следует номер блока 0001. Он также виден в пакете, передающем содержание файла “example”. Довольно просто, не так ли? Таким образом, вы получаете подключение, пригодное для сессии, даже если она основана на UDP. Это и является функцией кодов операции TFTP.

Заключение

Если у вас есть желание ознакомиться с протоколом TFTP, то я советую скачать бесплатную программу, размещенную здесь. Добрые люди из Solarwinds были достаточно любезны, чтобы предоставить сервер TFTP на основе win32 абсолютно бесплатно. Хвала им! После ее установки пробуйте переносить файлы с помощью команд “GET” и “PUT”. Также необходимо исследовать подключение для анализа получившегося трафика. Вот и конец обзора протокола TFTP. Надеюсь, что вам понравилось. До встречи.

www.windowsnetworking.com






















Смотрите также:

Tags: , , ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]