TFTP: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Tsymbaliuk (обговорення | внесок)
Tsymbaliuk (обговорення | внесок)
Рядок 19:
Ця характеристика TFTP була використана багатьма хакерами, щоб отримати копії файлу паролів з Unix і потім розшифрувати паролі. Щоб запобігти подібний доступ, більшість TFTP серверів в даний час регламентують, які файли можуть бути отримані з використанням TFTP (як правило, файли з директорії /tftpboot в Unix системах). Ця директорія містить тільки завантажувальні файли, необхідні бездисковий системам.
 
Для додаткової безпеки TFTP сервер на Unix-системі зазвичай встановлює свій користувацький ідентифікатор (UID) і ідентифікатор групи (GID) у значення, які не можуть бути призначені реальному користувачеві. Це дозволяє доступ тільки до файлів, які доступні для читання і запису всім.[[Файл:Формат_5_ТФТП_повідомлень.png|frame|Формат п’ятьох видів TFTP повідомлень]]
 
== Процес передачі даних ==
== Пакети TFTP ==
У TFTP існує 3 режими передачі: ''netascii'', ''octet'' і ''mail'':
[[Файл:Формат_5_ТФТП_повідомлень.png|frame|Формат п’ятьох видів TFTP повідомлень]]
# ''Netascii'' є модифікованою формою ASCII, визначений у [[rfc:764|RFC 764]]. Вона складається з 8-бітного розширення 7-бітних ASCII-символів з кодами від 0x20 до 0x7F (друкованих символів і пробілу) і восьми керуючих символів. Допустимі керуючі символи включають нуль-символ (код 0x00), новий рядок (LF, код 0x0A) і повернення каретки (CR, код 0x0D). ''Netascii'' також вимагає, щоб маркер кінця рядка був замінений на пари символів CR LF для передачі, і щоб за кожним символом CR слідував або символ LF, або нуль-символ.<ref name=":0" />
Спочатку в TFTP-пакеті йде поле розміром в 2 байти, що визначає тип пакету:
# ''Octet'' використовується для передачі довільних необроблених 8-бітних байтів, причому отриманий файл в результаті побайтово ідентичний посланому.
# Режим передачі ''mail'' використовує передачу ''netascii'', але файл відправляється одержувачу електронною поштою на адресу, яка вказується замість імені файлу. <nowiki>RFC 1350</nowiki> визначає цей режим передачі застарілим і таким, що не повинен бути реалізованим.
Кожен TFTP-пакет належить до одного із 5 типів:
* Read Request (RRQ, #1) - запит на читання файлу.
* Write Request (WRQ, #2) - запит на запис файлу.
Рядок 29 ⟶ 32:
* Acknowledgment (ACK, #4) - підтвердження пакета.
* Error (ERR, #5) - помилка.
 
== Процес передачі даних ==
 
У TFTP існує 3 режими передачі: ''netascii'', ''octet'' і ''mail'':
# ''Netascii'' є модифікованою формою ASCII, визначений у [[rfc:764|RFC 764]]. Вона складається з 8-бітного розширення 7-бітних ASCII-символів з кодами від 0x20 до 0x7F (друкованих символів і пробілу) і восьми керуючих символів. Допустимі керуючі символи включають нуль-символ (код 0x00), новий рядок (LF, код 0x0A) і повернення каретки (CR, код 0x0D). ''Netascii'' також вимагає, щоб маркер кінця рядка був замінений на пари символів CR LF для передачі, і щоб за кожним символом CR слідував або символ LF, або нуль-символ.<ref name=":0" />
# ''Octet'' використовується для передачі довільних необроблених 8-бітних байтів, причому отриманий файл в результаті побайтово ідентичний посланому.
# Режим передачі ''mail'' використовує передачу ''netascii'', але файл відправляється одержувачу електронною поштою на адресу, яка вказується замість імені файлу. <nowiki>RFC 1350</nowiki> визначає цей режим передачі застарілим і таким, що не повинен бути реалізованим.
Для початку передачі даних клієнт повинен послати серверу WRQ або RRQ-пакет. В обох пакетів формат однаковий: