Triviális fájlátviteli protokoll

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2015. július 22-én felülvizsgált verziótól ; az ellenőrzések 13 szerkesztést igényelnek .
TFTP
Név Triviális fájlátviteli protokoll
Szint ( az OSI modell szerint ) Alkalmazott
Család UDP / IP
Létrehozva: ~ 1980
Port/ID 69/UDP
A protokoll célja Fájl átvitel
Leírás RFC 1350 / STD 33
Főbb megvalósítások (kliensek) RIS Windows, tftp.exe
Alapvető megvalósítások ( szerverek ) WinAgents TFTP Server, RIS Windows, tftpd
Bővíthetőség Opciók ( RFC 2347 )
Főbb bővítések Blokkméret ( RFC 2348 ), átviteli időtúllépés ( RFC 2349 )

A Trivial File Transfer Protocol ( TFTP ) elsősorban a lemez nélküli munkaállomások kezdeti indítására szolgál .  A TFTP az FTP -vel ellentétben nem tartalmaz hitelesítési képességeket (bár az IP-cím szerinti szűrés lehetséges), és az UDP szállítási protokollon alapul .

Alkalmazás

A TFTP fő célja, hogy az ügyfél könnyen megvalósítható legyen. Mint ilyen, lemez nélküli munkaállomások indítására, frissítések és konfigurációk letöltésére „intelligens” hálózati eszközökre, statisztikák rögzítésére szolgál mini-alközpontokról ( CDR ) és hardveres útválasztókról / tűzfalakról .

Mikrokontrollerek alapján fejlesztett beágyazott rendszerek IAP programozására használják.

Biztonság

Mivel a protokoll nem támogatja a hitelesítést, a kliens azonosításának egyetlen módja a hálózati cím (amely meghamisítható). Unix rendszereken általában csak a /tftpboot könyvtár érhető el a tftpd számára. A régebbi TFTP-kiszolgálókon azonban lehetséges volt a jelszófájl beszerzése az RRQ ../etc/passwd paranccsal.

A tftpd démon (a tftp szerver egyik megvalósítása) nem hajlandó feldolgozni azokat a fájlokat, amelyek nevükben a „/../” kombinációt tartalmazzák, vagy „../”-vel kezdődnek. Csak olyan fájlok írhatók, amelyek már léteznek (bármilyen méretű, például nulla), és nyilvános írásra elérhetőek (engedélyek: -rw-rw-rw-) [1] .

További védelmet biztosít a tetszőleges fájlokhoz való hozzáférés ellen, ha a gyökérkönyvtárat a tftpd könyvtárra változtatja (általában /usr/TFTProot).

Csomagtípusok

Először is, a TFTP-csomagban van egy 2 bájtos mező , amely meghatározza a csomag típusát:

Kérések olvasása és írása

Az adatátvitel elindításához a kliensnek WRQ vagy RRQ csomagot kell küldenie a szervernek. Mindkét csomag azonos formátumú:

0x01/0x02 (csomagtípus) Fájl név 0x00 (sor vége) Átviteli mód 0x00 (sor vége) Opciók… (ha vannak)
2 bájt karakterlánc ASCII -ben 1 bájt karakterlánc ASCII-ben 1 bájt Lásd: "Opciók"

A TFTP-ben 2 átviteli mód van (az IEN 133 -ban meghatározott levelezési mód elavult):

Miután a szerver megkapta az RRQ csomagot, azonnal megkezdi az adatátvitelt. WRQ kérés esetén a szervernek egy ACK csomagot kell küldenie 0 csomagszámmal.

Adatátviteli folyamat

Az RRQ kérés beérkezése után a szerver azonnal elküld egy csomagot adattal és 1-gyel megegyező csomagazonosítóval nyugtázásként. A WRQ-ban a nullával egyenlő azonosítójú ACK-t nyugtázásként használják. Összesen 32 MB vihető át TFTP-n keresztül (65536 * 512 / 1024²), azonban az aláíratlan helyett aláírt int használata miatt a nyugtázás mérete 16 megabájtra korlátozódik. Ha azonban az ügyfél és a kiszolgáló támogatja az RFC 2347 és RFC 2348 protokollbővítményeket , akkor az átvihető fájl maximális mérete 4 Gb-ra nő.

TFTP beállítások

Az RFC 2347 egy formátumot biztosított az RRQ-csomagok és egy WRQ-csomagok végéhez fűzhető opciókhoz:

Opció kód 0x00 (sor vége) Opció értéke 0x00 (sor vége)
karakterlánc ASCII -ben 1 bájt karakterlánc ASCII-ben 1 bájt

Több lehetőség is lehet. Aztán követni fogják egymást. A lehetőségek sorrendje nem fontos.

Válaszul egy RRQ-ra (vagy WRQ-ra) opciókkal, a szervernek OACK-t KELL küldenie a szerver által elfogadott opciók listájával. A leggyakoribb lehetőségek a következők:

Név ben meghatározott Opció kód
Blokkméret RFC 2348 blksize Az opció értéke egy szám, amely 8 és 65464 közötti értéket vesz fel, jelezve a blokk méretét.
Újraadási időköz (időtúllépés) RFC 2349 időtúllépés Az opció értéke egy szám, amely 1 és 255 közötti értéket vesz fel, jelezve a várakozási időt a blokk újraküldése előtt másodpercekben.
fájl méret RFC 2349 tsize Az opció értéke egy szám, amely az átvitt fájl méretét mutatja bájtban.

Hibák

A TFTP-ben a hibainformációk a következő formátumúak:

0x05 (csomagtípus) Hibakód Hiba leírása 0x00 (sor vége)
2 bájt 2 bájt karakterlánc ASCII -ben 1 bájt

A hibakód az STD 33-ban felsorolt ​​értékek egyikét veheti fel (a 8-as kód kivételével - az RFC 2347 -ben van leírva ). Itt vannak:

Hibakód Leírás
0 Nincs meghatározott kód, lásd a hibaszöveget
egy Fájl nem található
2 Hozzáférés megtagadva
3 Nem lehet lemezterületet lefoglalni
négy Helytelen TFTP működés
5 Hibás átviteli azonosító
6 A fájl már létezik
7 A felhasználó nem létezik
nyolc Rossz lehetőség

URI-séma

Az RFC 3617 meghatározza a TFTP URI formátumát. Ez így néz ki:

tftp://[célállomás]/[kívánt fájl];mode=[átviteli mód]

Például:

tftp://example.com/todo.txt;mode=netascii

Szabványok

Opciók

Jegyzetek

  1. FreeBSD 4.9 tftpd kézikönyvoldalak

Irodalom

Linkek