قسمت 04
آموزش رایگان سکیوریتی‌پلاس: آشنایی با پروتکل‌های ICMP، UDP و Internet
در شماره گذشته با پروتکل TCP/IP، سرایندها و فیلدهای آن آشنا شدیم. در این مقاله قصد داریم با پروتکل‌های UDP، ICMP، Internet و اطلاعات فنی که برای آزمون سکیوریتی‌پلاس به آن‌ها نیاز دارید آشنا شویم.

1606683296_1_0.gif

برای مطالعه بخش قبل روی این آدرس کلیک کنید.

TCP Header 

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

شرح مختصری از هر فیلد به شرح زیر است:

■      Source port: این فیلد 16 بیتی شماره پورت سیستم ارسال‌کننده را مشخص می‌کند.

■   Destination port : این فیلد 16 بیتی شماره درگاهی را که بسته برای آن در سیستم مقصد ارسال خواهد شد را مشخص می‌کند.

■   Sequence number این فیلد 32 بیتی شماره توالی بسته را مشخص می‌کند.

■   Acknowledgment: این فیلد 32 بیتی پیامی که برای تأیید بسته ارسال می‌شود را مشخص می‌کند.

■   Offset: این فیلد 4 بیتی نشان می‌دهد که داده‌ها از کجا شروع می‌شوند.

■   Reserved: این فیلد 6 بیتی همیشه روی 0 تنظیم شده است و رزرو است (از زمان پیدایش این پروتکل از عبارت برای استفاده در آینده طراحی شده برای توصیف آن استفاده می‌کنند و هنوز مشخص نیست این آینده چه زمانی از راه خواهد رسید!!)

■   Flags: این فیلد ۶ بیتی مکانی است که پرچم‌های TCP ذخیره می‌شوند. یک فیلد 1 بیتی برای هر یک از پرچم‌هایی که قبلا در این بخش ذکر شد وجود دارد.

■   Window Size: این فیلد 16 بیتی، مقدار اطلاعاتی را که می‌توان قبل از انتظار تأیید ارسال کرد، تعیین می‌کند.

■   Checksum: این فیلد 16 بیتی برای تأیید صحت سرایند TCP استفاده می‌شود.

■   Urgent pointer: این فیلد 16 بیتی فقط در صورتی استفاده می‌شود که پرچم URG تنظیم شده باشد و به آخرین بخش از اطلاعات اشاره دارد.

■   Options: فیلدی با طول متغیر است که تنظیمات اضافی را که ممکن است در سرایند TCP مورد نیاز باشد، مشخص می‌کند.

نکته:  دقت کنید که TCP و UDP به عنوان پروتکل‌های لایه 4 یا همان لایه انتقال شناخته می‌شوند.

پروتکل دیتاگرام کاربر (User Datagram Protocol)

پروتکل داده‌گرام کاربر (UDP) توسط برنامه‌هایی استفاده می‌شود که نمی‌خواهند درگیر اطمینان از رسیدن داده‌ها به سیستم مقصد باشند. UDP برای ارتباط بدون اتصال (غیر قابل اعتماد) استفاده می‌شود، به این معنی که داده‌ها به مقصد ارسال می‌شوند و هیچ تلاشی برای پیگیری دریافت درست بسته توسط مقصد انجام نمی‌شود.

پورت‌های UDP  

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

UDP Header  

 از آن‌جایی که User Datagram Protocol از فرایند تایید دریافت بسته (ack) استفاده نمی‌کند ساختار سرایند UDP بسیار ساده‌تری نسبت به سرایند TCP دارد. به‌طور مثال، سرایند UDP به شماره ترتیب یا شماره تصدیق نیاز ندارد. همچنین برای نشان دادن بسته‌های خاص مانند پیام SYN نیازی به پرچم نیست، زیرا هیچ ‌دهی سه طرفه وجود ندارد (زیرا UDP بدون اتصال است). شکل زیر سرایند UDP را با  فیلدهای آن نشان می‌دهد:

■   Source Port: یک فیلد 16 بیتی که پورتی که فرستنده از آن استفاده کرده را نشان می‌دهد.

■   Destination : یک فیلد 16 بیتی است که پورتی که مقصد از آن استفاده می‌کند را نشان می‌دهد.

■   Length: یک فیلد 16 بیتی که اندازه سرایند UDP را بر حسب بایت مشخص می‌کند.

■   Checksum: یک فیلد 16 بیتی که برای تأیید یکپارچگی سرایند UDP استفاده می‌شود.

پروتکل اینترنت (Internet Protocl)

پروتکل اینترنت (IP) مسئولیت تحویل بسته به پروتکل‌های بالادستی بالاتر را بر عهده دارد. پروتکل فوق بدون اتصال است و سعی می‌کند از بهترین مکانیزیم برای تحویل بسته‌ها به مقصد استفاده کند. به همین دلیل پروتکل مذکور هیچ تضمینی در ارتباط با تحویل بسته‌ها نمی‌دهد و این مسئولیت را متوجه پروتکل‌های انتقال می‌کند. تنها کاری که پروتکل فوق انجام می‌دهد ارسال داده‌ها است.

نکته: IP پروتکل لایه 3 در مدل OSI است و مسئولیت آدرس‌دهی و مسیریابی منطقی را بر عهده دارد.

پروتکل اینترنت همچنین مسئول آدرس‌دهی منطقی و مسیریابی TCP/IP است و به همین دلیل به عنوان پروتکل لایه 3 در مدل OSI شناخته می‌شود. پروتکل اینترنت روی روتر مسئول کاهش (معمولاً با مقدار 1) TTL (زمان حیات) بسته است تا روتر با مشکل حلقه شبکه (network loop) روبرو نشود. سیستم‌عامل های ویندوز دارای TTL پیش‌فرض 128 هستند.

نکته: اگرچه مدل OSI بیشتر در دوره نتورک‌پلاس مورد توجه قرار می‌گیرد، اما مهم است که برای آمادگی در آزمون Security+ با آن آشنا باشید، زیرا برای تسلط بر مفاهیم امنیتی نیازمند آشنایی کامل با این پروتکل هستید تا بتوانید عملکرد دستگاه‌های و فهرست‌های کنترل دسترسی را به خوبی درک کنید. به‌طور مثال، هنگامی که اطلاعات کاملی در ارتباط با مدل OSI داشته باشید و در آزمون سکیوریتی‌پلاس و سؤال مطرح شود که مرتبط با فناوری فایروال است، به راحتی به این سوال پاسخ خواهید داد، زیرا می‌دانید دیوارآتش قادر به فیلترکردن اطلاعات در 3 یا لایه 4 است و بر همین أساس بر مبنای آدرس IP (لایه 3) یا اطلاعات پورت UDP (لایه 4) فرایند فیلتر کردن بسته‌ها را انجام می‌دهد.

IP Header

سرایند IP در بسته‌ها حاوی اطلاعاتی است که به بسته کمک می‌کند مسیر خود را از مبدا به مقصد طی کند. در شکل زیر ساختار سرایند IP و در ادامه فهرستی از فیلدها و ترجمه آن‌ها را مشاهده می‌کنید.

■   Version : یک فیلد 4 بیتی که نسخه IP مورد استفاده را مشخص می‌کند (مثلاً 4 یا 6).

■   Header length: یک فیلد ۴ بیتی که اندازه سرایند IP را نشان می‌دهد.

■   Type of service : یک فیلد 8 بیتی که نشان می‌دهد بسته چگونه باید توسط سیستم مدیریت شود. به عنوان مثال، اگر گزینه Low Delay در اینجا مشخص شده باشد، به این معنی است که سیستم باید تغییراتی در نحوه ارسال اعمال کند.

■   Total length: یک فیلد 16 بیتی که اندازه سرایند IP را نشان می‌دهد.

■   Identification : یک فیلد 16 بیتی است که نشان می‌دهد شبکه‌ها فقط می‌توانند بسته‌هایی با حداکثر اندازه خاص را مدیریت کنند  که به عنوان واحد انتقال حداکثری (MTU) شناخته می‌شود. بنابراین سیستم ممکن است داده‌های ارسال شده را به چند قطعه تقسیم کند. این فیلد به صورت منحصر به فرد قادر به شناسایی این قطعه‌ها است.

■   IP flags : یک فیلد 3 بیتی که نحوه تعامل با قطعات را مشخص می‌کند. برای مثال، پرچم MF سرنام More Fragments  نشان می‌دهد که قطعات بیشتری قرار است بیایند. همچنین، بیتی که به نام DF سرنام Don't Fragment  شناخته می شود، مشخص می‌کند که بسته را تکه تکه نکند.

■   Fragment Offset: یک فیلد 13 بیتی است که ترتیب قرار گرفتن قطعات را هنگام سرهم کردن بسته مشخص می‌کند.

■   Time to live (TTL): یک فیلد 8 بیتی که زمان انقضای بسته را مشخص می‌کند. TTL مقداری است که با هر روتری که بسته از آن عبور می‌کند، کاهش می یابد. وقتی TTL به 0 رسید، بسته حذف می‌شود.

■   Protocol: یک فیلد ۸ بیتی که مشخص می‌کند بسته از کدام پروتکل لایه ۴ (TCP یا UDP) استفاده کند.

■   Header checksum: یک فیلد 16 بیتی که یکپارچگی سرایند IP را تأیید می‌کند.

■   Source address : یک فیلد 32 بیتی که نشان‌دهنده آدرس IP سیستم ارسال‌کننده است. بدین ترتیب سیستم دریافت کننده می‌داند که پیام پاسخ را به کجا ارسال کند.

■   Destination address : یک فیلد 32 بیتی که نشان‌دهنده آدرس IP سیستمی است که بسته برای آن مقصد ارسال شده است.

■   IP options : فیلدی با طول متغیر که برای تعیین تنظیمات دیگر در سرایند IP استفاده می‌شود.

پروتکل کنترل پیام اینترنتی (Internet Control Message Protocol)

پروتکل کنترل پیام اینترنتی (ICMP) سیستم‌های موجود در شبکه TCP/IP را قادر می‌سازد تا اطلاعات وضعیت و خطا را به اشتراک بگذارند. می‌توانید از اطلاعات وضعیت برای تشخیص مشکل شبکه استفاده کنید. پیام‌های ICMP درون دیتاگرام‌های IP کپسوله می‌شوند تا بتوان آن‌ها را در سراسر شبکه هدایت کرد. دو برنامه‌ای که از پیام‌های ICMP استفاده می‌کنند ping و traceroute (لینوکس) یا tracert (ویندوز) هستند.

می‌توانید از پینگ برای ارسال درخواست‌های اکو ICMP به آدرس IP استفاده کنید و منتظر پاسخ‌های اکو ICMP باشید. پینگ فاصله زمانی بین ارسال درخواست و دریافت درخواست را گزارش می‌کند. با پینگ می‌توانید تعیین کنید که آیا یک سیستم IP خاص در شبکه شما به درستی کار می‌کند یا خیر. شما می‌توانید از گزینه‌های مختلفی همراه با ابزار پینگ استفاده کنید.

ICMP پروتکلی در مجموعه پروتکل TCP/IP است که مسئول گزارش خطا و وضعیت است. برنامه‌هایی مانند ping و tracert از ICMP استفاده می‌کنند.

Tracert مسیر طی شده به یک میزبان خاص را ردیابی می‌کند. این ابزار می‌تواند در عیب‌یابی کارهای شبکه بسیار مفید باشد. Tracert درخواست‌های اکو ICMP را به یک آدرس IP ارسال می‌کند در حالی که فیلد TTL در سرایند IP پس از شروع از مقدار 1 به تعداد 1 واحد افزایش می‌یابد و سپس خطاهای ICMP بازگشتی را تجزیه و تحلیل می‌کند. هر درخواست اکو بعدی باید قبل از این‌که فیلد TTL به عدد 0 برسد و توسط روتر که تلاش می‌کند آن‌را فوروارد کند، پیام خطای «زمان ICMP بیش از حد» را وارد شبکه کند.

کدهای ICMP

 ICMP از شماره پورت استفاده نمی‌کند، بلکه از کدهایی برای شناسایی انواع مختلف پیام‌ها استفاده می‌کند. به عنوان مثال، یک پیام درخواست اکو که توسط درخواست پینگ استفاده می‌شود، از ICMP نوع 8 استفاده می‌کند، در حالی که پاسخ پینگ با یک پیام ICMP نوع 0 برمی‌گردد.

گاهی أوقات ICMP به روش‌های خاصی استفاده می‌شود. به عنوان مثال، ICMP نوع 3 یک پیام غیرقابل دسترسی به مقصد است، اما از آن‌جایی که دلایل احتمالی زیادی وجود دارد که یک مقصد غیرقابل دسترسی باشد، این نوع به کدهای مختلفی تقسیم می‌شود. به همین دلیل مهم است که بدانید هر کد در هر نوع پروتکل ICMP معنای خاص خود را دارد. جدول زیر این موضوع را نشان می‌دهد.

نکته: برای این‌که در نظارت بر شبکه‌ها و شناسایی ترافیک مشکوک خوب عمل کنید، باید دانش خود در ارتباط با پروتکل‌های شبکه را ارتقا دهید. علاوه بر این برای آزمون سکیوریتی‌پلاس باید بدانید که ICMP نوع 8 توسط پیام درخواست اکو و نوع ICMP 0 توسط پاسخ echo استفاده می شود.

سرایند ICMP

سرایند ICMP در مقایسه با سرایند IP و TCP، سرایند بسیار کوچکی است. شکل زیر سرایند ICMP را نشان می‌دهد. در ادامه توضیحات مربوطه به فیلدهای این سرایند را مشاهده می‌کنید.

■   Type: یک فیلد 8 بیتی که نوع ICMP مورد استفاده را نشان می‌دهد.

■   Code: یک فیلد ۸ بیتی که نشان‌دهنده کد ICMP در حال استفاده است.

■   Checksum: یک فیلد 16 بیتی است که برای تأیید صحت سرایند ICMP استفاده می‌شود.

■   Other: فیلدی که همه داده‌ها را در سرایند ICMP ذخیره می‌کند. به عنوان مثال، سیستم‌عامل‌های مایکروسافت بخشی از حروف الفبا را در این قسمت برای پیام‌های درخواست اکو قرار می‌دهند.

پروتکل Address Resolution Protocol

پروتکل تفکیک آدرس (ARP)  یک پروتکل ارتباطی برای یافتن آدرس لایه پیوند، مانند آدرس مک و ارتباطش با آدرس لایه شبکه است. این پروتکل یکی از پروتکل‌های مهم در مجموعه پروتکل اینترنت است. پروتکل مذکور برای تبدیل آدرس منطقی به آدرس فیزیکی در یک شبکه مبتنی بر TCP/IP استفاده می‌شود. به بیان دقیق‌تر آدرس IP را به یک مک‌آدرس تبدیل می‌کند. برای انجام این‌کار، ARP یک پیام پخشی را با یک بسته درخواست ARP ارسال می‌کند که حاوی آدرس IP سیستمی است که در تلاش است پیدا کند. همه سیستم‌های موجود در شبکه محلی پیام را می‌بینند و سیستمی که دارای آدرس IP مدنظر است که ARP به دنبال آن است با ارسال آدرس فیزیکی خود به سیستم مبدأ در قالب یک بسته به پروتکل ARP پاسخ می‌دهد. در ادامه ترکیب آدرس فیزیکی و آی‌پی مربوط به سیستم مبدا در حافظه کش ARP ذخیره می‌شود تا در آینده از آن استفاده شود.

سامانه‌های تحت شبکه برای مدیریت ساده‌تر و روان‌تر بسته مجهز به حافظه پنهان ARP هستند تا فرایند نگاشت آدرس IP به آدرس فیزیکی به سهولت انجام شود. به همین دلیل حافظه نهان ARP همواره برای نگاشت آدرس آی‌پی به آدرس فیزیکی بررسی می‌شود.

نکته: ARP مسئول تبدیل یک آدرس IP (آدرس لایه 3) به آدرس فیزیکی MAC (آدرس لایه 2) است.

مشاهده اطلاعات پروتکل‌ها با استفاده از ابزار Wireshark

در انتهای این مقاله قصد داریم نحوه کار با بازار Wireshark که برای نظارت بر وضعیت بسته‌ها و پروتکل‌ها از آن استفاده می‌شود را نشان دهیم. برای دنبال کردن این بخش باید به آدرس www.wireshark.org مراجعه کرده، ابزار فوق را دانلود کرده و روی سیستم‌تان نصب کنید. در این سناریو، شما از Wireshark برای نظارت بر ترافیک FTP استفاده می‌کنید تا تعیین کنید که آیا ترافیک ورود به سیستم رمزگذاری شده است یا خیر (که البته می‌دانیم که در عمل این‌گونه نیست).

نصب Wireshark

1.   آخرین نسخه Wireshark را از www.wireshark.org دانلود و نصب کنید. هنگام اجرای نصب، تمام گزینه‌های پیش‌فرض را بپذیرید.

2. Wireshark را اجرا کنید.

3.   پس از اجرا، با انتخاب File و سپس انتخاب گزینه Open فایل FTP_Traffic.cap که در پوشه Labfiles\PacketCaptures قرار دارد را باز کنید.

4.   اکنون محتویات ضبط بسته نمایش داده می‌شود. صفحه به سه بخش تقسیم می‌شود: فهرست بسته‌ها (بالا)، جزئیات بسته (وسط)، و بایت‌های بسته (پایین). توجه داشته باشید که 52 بسته (اعدادی که در سمت چپ در قسمت فهرست بسته‌ها در بالای صفحه نمایش داده شده‌اند) ضبط شده‌اند (همچنین می‌توانید "Packets: 52" را در نوار وضعیت مشاهده کنید). در قسمت بالای صفحه، بسته 4 را انتخاب کنید و دقت کنید که اولین بسته FTP است (به ستون پروتکل نگاه کنید).

5.   در ستون Info دقت کنید که سه بسته اول، دست‌دهی TCP هستند (SYN، SYN/ACK، ACK). می‌توانید با نگاه کردن به ستون پروتکل ابتدا TCP و سپس در ستون Info توضیحات SYN، SYN/ACK و در نهایت ACK را مشاهده کنید.

6.   بسته 8 را انتخاب کنید. توجه داشته باشید که در ستون Info می‌توانید نام کاربری را ببینید که برای ورود به سرور FTP استفاده می‌شود. نام کاربری چیست؟ _________________

7.   مطمئن شوید که بسته 8 همچنان در پنجره فهرست بسته‌ها انتخاب شده است.

8. دقت کنید در زیر پنجره Packet List، پنجره Packet Details را دارید که جزئیات بسته انتخاب شده را نشان می‌دهد. همچنین دقت کنید در زیر پنجره Packet Details پنجره دیگری به نام پنجره Byte Details وجود دارد که داده‌های هگز را برای بسته انتخاب شده به شما نشان می‌دهد.

9.   بخش پروتکل اینترنت نسخه 4 را در پنجره Packet Details گسترش دهید تا سرایند IP بسته را مشاهده کنید و اطلاعات زیر را ضبط کنید:

آدرس IP منبع: _______________

نشانی آی پی مقصد: _______________

10.   سرایند TCP را در Packet Details گسترش دهید و اطلاعات زیر را پیدا کنید:

پورت منبع: _______________

پورت مقصد: _______________

شماره ترتیب: _______________

مجموعه پرچم‌ها: _______________

11.   بسته 11 را انتخاب کنید و رمز عبور FTP را در ضبط بسته را پیدا کنید. رمز عبور مورد استفاده چیست؟ (به ستون Info پنجره Packet List یا بخش FTP در پنجره Packet Details نگاه کنید.) _______________

13. Wireshark را ببندید.

در شماره آینده مبحث فوق را ادامه خواهیم داد.

برای مطالعه تمام قسمت‌های آموزش سکوریتی پلاس اینجا کلیک کنید.


 معرفی آموزشگاه شبکه و امنیت

تلفن: 02188549150           کانال: Asrehshabakeh@


تبلیغات لینکی: 

استخدام کارشناس شبکه - جدید ترین گوشی سامسونگ - فروش کابل شبکه 

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟

دیدگاه‌ها

تصویر علی
علی

https://www.shabakeh-mag.com/tag/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B1%D...


سلام

در لینک مباحث درس سکیوریتی پلاس کل درسها نشون داده نمیشن و مشکل داره

ممنون