خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه راه اندازی یک سرور TFTP در لینوکس

آیا می دانستید جایگزین ساده تری برای پروتکل محبوب انتقال فایل وجود دارد؟ TFTP نام دارد و در اینجا نحوه راه اندازی آن در لینوکس آورده شده است.

TFTP (پروتکل انتقال فایل بی اهمیت) برای اولین بار در سال 1980 توصیف شد. این یک پروتکل نسبتا قدیمی است که در ژوئن 1981 به عنوان TFTP Protocol Revision 2 در RFC 783 (درخواست برای نظرات) توسط Karen R. Sollins منتشر شد.

در روزهای اولیه، هدف اصلی TFTP ارسال و دریافت فایل ها از طریق شبکه بود. به طور خاص، برای انتقال فایل‌های مورد نیاز در هنگام بوت برای فعال کردن سیستم‌ها برای بوت شدن از طریق شبکه استفاده شد.

در اینجا نحوه راه اندازی یک سرور TFTP بر روی یک ماشین لینوکس آورده شده است.

TFTP چیست؟

TFTP هنوز برای اهداف انتقال فایل استفاده می شود و هیچ تغییر اساسی در ویژگی هایی که پشتیبانی می کند وجود ندارد. TFTP برای دانلود و ارسال فایل ها از طریق UDP/IP استفاده می شود. هیچ عملکرد اضافی مانند کنترل هویت و مجوز، فهرست کردن فایل، حذف یا تغییر نام که معمولاً در سایر پروتکل‌های انتقال فایل یافت می‌شود، ندارد.

بر خلاف پروتکل های پیشرفته انتقال فایل که از TCP در لایه انتقال استفاده می کنند، روی پروتکل UDP کار می کند و ویژگی هایی مانند بررسی اینکه آیا بسته های متعلق به فایل به طرف دیگر می روند یا نه، ندارد. به دلیل این محدودیت، برای استفاده در شبکه های محلی به جای اینترنت یا شبکه های گسترده مناسب است.

با وجود تمام این ویژگی های به ظاهر منفی ذکر شده در بالا، یکی از جنبه های پروتکل TFTP که بسیار قوی است، سادگی آن است. پیاده سازی پروتکل در مقایسه با جایگزین های آن بسیار آسان است، حتی برای محیط هایی که سیستم عامل روی آنها وجود ندارد. با توجه به این ویژگی، در سیستم های تعبیه شده دارای محدوده استفاده گسترده ای است.

مطلب مرتبط:   8 پورت آسیب پذیر که باید هنگام پنتست بررسی شوند

نصب سرور TFTP روی لینوکس

هنگام کار با دستگاه های تعبیه شده، مهم است که سرویس سرور TFTP را نصب کنید. در سیستم های لینوکس، چندین پیاده سازی سرور TFTP می توانند اجرا شوند. اگر از توزیع مبتنی بر دبیان استفاده می کنید، می توانید بسته های tftpd-hpa، tftpd یا atftpd را نصب کنید. اگر مطمئن نیستید که کدام را انتخاب کنید، بسته tftpd-hpa را نصب کنید.

sudo apt-get install tftpd-hpa

tftpd-hpa-install-debian-distro

پس از نصب، سرویس TFTP شروع به گوش دادن در پورت UDP 69 می کند. برای ارائه فایل ها به سیستم های دیگر از طریق سرور TFTP، باید چند پیش نیاز را در نظر داشته باشید:

  • کپی کردن فایل مورد نیاز در فهرست اصلی TFTP یا دایرکتوری زیر آن دایرکتوری اصلی
  • ایجاد مجوزهای فایل برای عموم

برای اینکه بفهمید فهرست اصلی سرور TFTP چیست، می توانید به متغیر TFTP_DIRECTORY در فایل /etc/default/tftpd-hpa نگاه کنید. معمولاً دایرکتوری هایی مانند /var/lib/tftpboot یا /srv/tftp را می بینید. در صورت تمایل می توانید این دایرکتوری را تغییر دهید و سرویس را مجددا راه اندازی کنید.

cat /etc/default/tftpd-hpa

tftpd-hpa-content-for-directory-select

برای سهولت استفاده، اگر مالک فهرست اصلی TFTP مربوطه را به حساب کاربری خود تغییر دهید، نیازی به اضافه کردن پیشوند sudo به هر دستوری که اجرا می کنید نخواهید داشت. از دستور chown برای تغییر مالکیت از root به کاربر فعلی استفاده کنید:

sudo chown -R $USER /srv/tftp

نام بسته سرور TFTP و دایرکتوری های اصلی پیش فرض ممکن است بسته به توزیع لینوکس مورد استفاده متفاوت باشد.

ارسال فایل با سرور TFTP

گاهی اوقات شرایطی وجود دارد که TFTP تنها گزینه برای انتقال فایل از سیستم لینوکس تعبیه شده شما به محیط خارجی است. به عنوان مثال، گاهی اوقات ممکن است سیستم از هیچ رسانه قابل نوشتنی که با استفاده از آن می توانید فایل را انتقال دهید پشتیبانی نکند.

مطلب مرتبط:   کار و بازی: نحوه استفاده از Steam Deck به عنوان جایگزین دسکتاپ

در چنین مواردی، از آنجایی که کلاینت TFTP احتمالاً در busybox کامپایل می شود، می توانید یک فایل ذخیره شده در سیستم را به یک سرور TFTP در شبکه ارسال کنید.

برای استفاده از برنامه مشتری TFTP، دستور busybox tftp را صادر کنید:

busybox tftp

برای ارسال یک فایل نمونه به سرور TFTP، باید از دستور زیر استفاده کنید:

busybox tftp -l example.bin -p 192.168.1.100

اگرچه دستور بالا درست است، اما هنگام انتقال فایل به سرور TFTP خود با خطا مواجه خواهید شد. از آنجایی که پیام خطای بازگشتی به خودی خود توضیحی نیست، درک مشکل واقعی مشکل است.

مشکل در اینجا به دلیل برخی از رویه های امنیتی در سرور TFTP است. TFTP مستلزم آن است که فایلی با همین نام باید در دایرکتوری باشد که در آن فایل به عنوان پیش نیاز آپلود فایل نوشته می شود و دسترسی نوشتن برای این فایل باید در دسترس همه باشد.

به عبارت دیگر، آپلود فایلی که در سرور TFTP وجود ندارد از طریق کلاینت های TFTP امکان پذیر نیست. اگر یک فایل خالی با همین نام ایجاد کنید و حقوق دسترسی آن را ویرایش کنید، فرآیند آپلود فوق با موفقیت انجام خواهد شد. برای این کار باید دستورات زیر را در دایرکتوری اصلی سرور TFTP مربوطه اجرا کنید:

cd /srv/tftp
touch example.bin
chmod 666 example.bin

اکنون می توانید آپلود خود را با موفقیت انجام دهید.

همچنین می‌توانید معیار امنیتی فوق را غیرفعال کنید و از سرور TFTP بخواهید فایلی را ایجاد کند که وجود ندارد. برای این کار می توانید از پارامتر -c یا –create هنگام راه اندازی برنامه tftpd-hpa استفاده کنید. کافی است این پارامتر را به متغیر TFTPD_OPTIONS موجود در فایل /etc/default/tftpd-hpa اضافه کنید:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create"

چرا از سرور TFTP برای انتقال فایل استفاده کنیم؟

مهمترین مزیت TFTP این است که سریع است و به شما کمک می کند در زمان صرفه جویی کنید. این یک گزینه ایده آل برای انتقال فایل های پیکربندی دستگاه های شبکه به سیستم های دیگر است. علاوه بر این، معیارهای استفاده بسیار ساده ای دارد. با نرم افزار در هر دو سیستم عامل مبتنی بر ویندوز و لینوکس به راحتی کار می کند. در نهایت، TFTP همیشه برای صرفه جویی در روز در شرایطی که از نظر فنی نمی توانید از FTP استفاده کنید، وجود دارد.

مطلب مرتبط:   مشاهده فید وب کم خود در ترمینال لینوکس با asciicam

البته بزرگترین عیب این است که ایمن نیست. بنابراین، هنگام انتقال فایل ها با استفاده از سرور TFTP باید بسیار مراقب باشید.

به غیر از انتقال فایل، نمی توانید عملکردهایی مانند حذف، ویرایش و اصلاح فایل را با استفاده از یک سرور TFTP انجام دهید. این ویژگی یک نقطه ضعف بزرگ برای کسانی است که از سیستم های پیشرفته استفاده می کنند یا به دنبال آن هستند. در نهایت، نیازی به احراز هویت ندارد، که اگر در مورد امنیت خود جدی هستید، یک اشکال بزرگ است.

راه اندازی TFTP در سایر سیستم عامل ها

اگر می خواهید از TFTP در ویندوز استفاده کنید، نیازی به نصب نرم افزار شخص ثالث ندارید. می توانید TFTP را با گزینه Turn Windows features on or off در کنترل پنل فعال کنید.