توضيحي بر Tftp
TFTP خلاصه Trivial File Transfer Protocol است که بر روی پورت 69 کار می کند. تفاوت آن با FTP در اینست که FTP از TCP استفده می کند ولی TFTP ازUDP استفاده میکند که البته FTP دارای ثبات و اطمینان قابل قبولی هست در صورتی که TFTP سرعت رابرای ما به ارمغان می آورد. نکته جالب توجه در این است که TFTP احتیاجی به پسوردندارد.
جابجایی در اینجا بدین شکل است که client از server در خواست (نوشتن)write یا (خواندن)read می کند که معمولا همان درخواست Read (PRQ) مورد قبولواقع می شود و با قبول شدن در خواست از سوی سرور ارتباط میان آن دو بر قرار می گرددو جایجایی اطلاعات آغاز می گردد. در ترانسفر packet/block جابجایی تا 512بایت آنجامشده و سپس سرور منتظر جواب دریافت(ACK) از سوی کلاینت میشود و بعد از دریافت جوابدوباره 512 بایت یعدی را می فرستد و برای هر 512بایت این کار تکرار میشود .
هریک از بلاک های دریافتی به انتهای بلاک قبلی متصل میشود اگر در این حین یکی از packet گم گردد هر دوی کلاینت و سرور یک time-out ایجاد نموده و دوباره همان packet گم شده را ارسال می کند. همیشه فرستنده باید آخرین بلاک را در حافظه نگهداری نماییدتا زمانی که پیام ACK را دریافت نماید البته اگر آخرین بلاک از فایل باشد دیگراحتیاجی به صبر کردن و نگهداری بر روی حافظه نیست.
0 mode 0 Filename 01
پیامهای TFTP
خواندن پیام در خواست
01 نشان دهنده 2 بایت از دستور OPcode network byte که طرف مقابل می گویید این یک READمی باشد.
Filename یک رشته null terminated ascii می باشد که نام فایل را به همراه دارد.
Mode یک رشته null terminated ascii می باشد که نوع جابجایی را در خود دارد.
نوشتن پیام درخواست
0 mode 0 Filename 02
توضیحان این بخش هم مثل بالا می باشد با اینتفاوت که 01 برای WRITE می باشد.
TFTP Data Packet / Message
Data 0 to 512bytes Block # 03
03 2 بایت از دستور OPcode network byte که می گوید درطرف مقبل داده ها قرار دارد.
Block # 2 بایت از دستور bytes block number network byte
Data 0 to 512bytes همه پکت دیتا ها 512 یایت در خود دارند غیر ازآخری
جواب
Block # 04
04 2 بایت از دستور OPcode network byte کهمعلوم می کند برای طرف دیگر که ACK می باشد.
Block # 2 بایت از دستور block number network byte
انواع Error ها
0 errstring errcode 05
05 2 بایت از دستور OPcode network byteکه به طرف مقابل می گویید این یک Error می باشد.
Errcode 2 بایت از دستور error code network byte میباشد.
Errstring یک رشته null terminated ascii error
و error code ها بهترتیب زیرند:
0 - Not defined.
1 - File not found.
2 - Access violation.
3 - Disk full.
4 - Illegal TFTP operation.
5 - Unknown port.
6 - File already exists.
7 - No such user
و طریقه های TFTP ترانسفر دو دسته می باشند:
1. netascii که برای انتقالtext فایل ها استفاده شدهکه البته دو طرف باید برای دریافت و فرستادن به این روش آماده باشند
2. octet کهبرای انتقال فایل هایbinary مورد استفاده قرار می گیرد.
جابجایی در اینجا بدین شکل است که client از server در خواست (نوشتن)write یا (خواندن)read می کند که معمولا همان درخواست Read (PRQ) مورد قبولواقع می شود و با قبول شدن در خواست از سوی سرور ارتباط میان آن دو بر قرار می گرددو جایجایی اطلاعات آغاز می گردد. در ترانسفر packet/block جابجایی تا 512بایت آنجامشده و سپس سرور منتظر جواب دریافت(ACK) از سوی کلاینت میشود و بعد از دریافت جوابدوباره 512 بایت یعدی را می فرستد و برای هر 512بایت این کار تکرار میشود .
هریک از بلاک های دریافتی به انتهای بلاک قبلی متصل میشود اگر در این حین یکی از packet گم گردد هر دوی کلاینت و سرور یک time-out ایجاد نموده و دوباره همان packet گم شده را ارسال می کند. همیشه فرستنده باید آخرین بلاک را در حافظه نگهداری نماییدتا زمانی که پیام ACK را دریافت نماید البته اگر آخرین بلاک از فایل باشد دیگراحتیاجی به صبر کردن و نگهداری بر روی حافظه نیست.
0 mode 0 Filename 01
پیامهای TFTP
خواندن پیام در خواست
01 نشان دهنده 2 بایت از دستور OPcode network byte که طرف مقابل می گویید این یک READمی باشد.
Filename یک رشته null terminated ascii می باشد که نام فایل را به همراه دارد.
Mode یک رشته null terminated ascii می باشد که نوع جابجایی را در خود دارد.
نوشتن پیام درخواست
0 mode 0 Filename 02
توضیحان این بخش هم مثل بالا می باشد با اینتفاوت که 01 برای WRITE می باشد.
TFTP Data Packet / Message
Data 0 to 512bytes Block # 03
03 2 بایت از دستور OPcode network byte که می گوید درطرف مقبل داده ها قرار دارد.
Block # 2 بایت از دستور bytes block number network byte
Data 0 to 512bytes همه پکت دیتا ها 512 یایت در خود دارند غیر ازآخری
جواب
Block # 04
04 2 بایت از دستور OPcode network byte کهمعلوم می کند برای طرف دیگر که ACK می باشد.
Block # 2 بایت از دستور block number network byte
انواع Error ها
0 errstring errcode 05
05 2 بایت از دستور OPcode network byteکه به طرف مقابل می گویید این یک Error می باشد.
Errcode 2 بایت از دستور error code network byte میباشد.
Errstring یک رشته null terminated ascii error
و error code ها بهترتیب زیرند:
0 - Not defined.
1 - File not found.
2 - Access violation.
3 - Disk full.
4 - Illegal TFTP operation.
5 - Unknown port.
6 - File already exists.
7 - No such user
و طریقه های TFTP ترانسفر دو دسته می باشند:
1. netascii که برای انتقالtext فایل ها استفاده شدهکه البته دو طرف باید برای دریافت و فرستادن به این روش آماده باشند
2. octet کهبرای انتقال فایل هایbinary مورد استفاده قرار می گیرد.
+ نوشته شده در چهارشنبه یکم آذر 1385ساعت 0:49  توسط Devil Hacker
|



