عناوین این مطلب

وایرشارک (Wireshark): معرفی و آشنایی با نرم افزار

وایرشارک (Wireshark): معرفی و آشنایی با نرم افزار

در این آموزش می خواهیم نرم افزاری را به شما معرفی کنیم که به احتمال زیاد اگر با آن کار نکرده باشید ولی حتما نام آن را شنیده اید؛ Wireshark. از آنجایی که کار های زیادی می توان با Wireshark انجام داد و جزء نرم افزار های پرطرفدار هم هست، تصمیم گرفتیم آموزش های کاربردی و البته عملی در رابطه با آن بسازیم. آموزش “آشنایی با نرم افزار Wireshark” اولین آموزش از این سری خواهد بود.

Wireshark چیست؟

Wireshark ابزاری است بس قدرتمند در تحلیل و آنالیز ترافیک و پروتکل های شبکه. به کمک Wireshark می توانیم ترافیک شبکه را Capture کنیم و درون ترافیک های در حال Capture شدن، به جستجو بپردازیم. ویژگی های عالی و یگانه وایرشارک و سادگی کار با آن باعث شده تا به پرطرفدارترین ابزار آنالیزگر ترافیک شبکه در بین متخصصین شبکه و امنیت تبدیل شود. Wireshark را می توان بر روی پلتفرم های Windows، OS X، Linux و UNIX اجر کرد. Wireshark به صورت رایگان و Open Source در دسترس است و می توانید آخرین نسخه آن را برای پلتفرم های گوناگون از سایت https://www.wireshark.org دانلود کنید. این برنامه به طور پیشفرض بر روی Kali Linux نصب است.

Wireshark به چه دردی می خورد؟

از Wireshark برای

  • Troubleshooting و خطایابی در شبکه
  • تست مشکلات امنیتی
  • تجزیه و تحلیل و توسعه پروتکل ها
  • انجام عملیات هک
  • و آموزش شبکه و امنیت

استفاده می شود.

پس فقط یک متخصص باتجربه می تواند از Wireshark استفاده کند و این ابزار به درد افراد تازه کار نمی خورد؛ مگه نه؟

نه! Wireshark ابزاری بسیار تخصصی است و برای سر درآوردن از آن و فهم اطلاعاتی که نمایش می دهد باید دانش و شناخت کافی از شبکه، مدل OSI و پروتکل های آن را داشت اما این به این معنا نیست که افراد تازه کار نتوانند از Wireshark استفاده کنند و یا فعلا به آن نیازی نداشته باشند. اتفاقا wireshark یکی از بهترین ابزارها در یادگیری شبکه است و تازه کارانی که می خواهند شبکه یاد بگیرند با Wireshark بهتر، سریعتر و عمیق تر شبکه را خواهند فهمید. در این آموزش و آموزش های بعدی یاد می گیریم که چطور یاد بگیریم با Wireshark شبکه را ! پس اگر شما هم دوست دارید بهتر و عمیق تر شبکه را یاد بگیرید همچنان آتی نگر را همراهی کنید.

شروع کار:

برای شروع باید wireshark را از سایت Wireshark.org دانلود کنید.

نصب نرم افزار Wireshark:

پس از دانلود نوبت به نصب نرم افزار می رسد. برای نصب Wireshark کافی است Next ها را بزنید. تصاویر زیر بخش هایی از مراحل نصب Wireshark 2.0.0 است.

در این مرحله Component هایی را که می خواهید نصب شوند، انتخاب کنید. با بردن Mouse بر روی هر آیتم، توضیحی در مورد آن در قسمت Description نمایش داده می شود. در اینجا ما همه Component ها را انتخاب کردیم.

در این قسمت تصمیم می گیریم که کدام Shortcut ها ایجاد شود. همچنین تصمیم می گیریم که فایل های با پسوند های ذکر شده با کدام برنامه Wireshark باز شوند؟ باWireshark نسخه فعلی یا Wireshark قدیمی (Legacy) یا هیچکدام؟

در این مرحله باید تعیین کنید که WinPcap نصب شود یا نه. WinPcap نسخه ویندوزی libpcapاست. WinPcap دارای ابزارهای لازم به همراه یک درایور برای Capture کردنPacket هاست. Wireshark و Tshark از libpcap و WinPcap برای ثبت و ضبط Packet ها استفاده می کنند.

همانطور که از نام USBPcap پیداست ابزاری است برای Capture کردن ترافیک از پورت USB. اگر تمایل دارید ترافیک USB را هم Capture کنید، USBPcap را هم نصب کنید.

*** در برخی موارد ممکن است نصب USBPcap باعث ایجاد مشکل شود.

پس از کلیک بر روی Install، چندین مرحله دیگر هست که باید Next کنید. در پایان سیستم را Restart کنید.

 شروع کار با نرم افزار Wireshark:

وایرشارک را اجرا کنید و کمی منتظر بمانید تا بارگذاری شود.

پس از این که وایرشارک کامل بارگذاری شد، لیست کارت های شبکه (درصورت نصب WinPcap) و لیست پورت های USB (در صورت نصب USBPcap) را نمایش می دهد.

در تصویر بالا 3 پورت USB و 2 کارت شبکه با نام های Wireless و Ethernet0 توسط Wireshark شناسایی شده است. در این قسمت باید کارت شبکه ای که می خواهیمPacket های آن را Capture کنیم، انتخاب کنیم. در اینجا من کارت شبکه Ethernet0 را که به شبکه متصل است، انتخاب می کنم. با توجه به وضعیت نوار قلب Ethernet0، می فهمیم که این کارت شبکه در حال ارسال و دریافت Packet در شبکه است!

بلافاصله پس از انتخاب کارت شبکه، وایرشارک Packet هایی که توسط کارت شبکه ارسال یا دریافت می شوند را Capture می کند و به ما نشان می دهد.

همانطور که در تصویر بالا می بینید، این پنجره به 3 بخش اصلی تقسیم شده است:

  • بخش اول (بالاترین بخش):در این قسمت Packet هایی که Capture می شوند، نمایش داده می شوند.
  • بخش دوم ( قسمت وسط): با کلیک بر روی هر Packet در بخش اول، جزئیات مربوط به آن، به تفکیک Header در این قسمت نمایش داده می شود.
  • بخش سوم (قسمت پایین): در این قسمت نیز اطلاعات مربوط به Packet ای که در بخش اول انتخاب کردیم نمایش داده می شود البته به صورت Hexadecimal و کدASCII.

پس از اجرای Wireshark پنجره ی اصلی واسط کاربر آن نمایان می شود. این پنجره در شکل نمایش داده شده است. صفحه ی اصلی Wireshark شامل قسمت های زیر است:

  • Menu : برای شروع فعالیت ها استفاده می شود.
  • Main Toolbar : امکان دسترسی سریع به آیتم هایی از منوها که بیشتر استفاده می شوند را فراهم می کند.
  • Filter Toolbar : برای فیلتر کردن بسته های ضبط شده ی نشان داده شده در قسمت لیست بسته ها استفاده می شود.
  • Packet List Pane : بسته های ضبط شده را به صورت خلاصه نشان می-دهد. با کلیک کردن بر روی هر بسته در این قسمت می توان جزئیات آن را در دو قسمت بعد مشاهده کرد.
  • Packet Details Pane : بسته ی انتخاب شده از قسمت قبل را با جزئیات بیشتر نشان می دهد.
  • Packet Bytes Pane : داده ی بسته ی انتخاب شده در قسمت لیست بسته-ها را نشان می دهد و فیلدهای انتخاب شده در قسمت جزئیات بسته را به صورت پررنگ تر نمایش می دهد.
  • Statusbar : جزئیات اطلاعات در مورد وضعیت برنامه ی فعلی و داده های ضبط شده را نشان می دهد.

سه قسمت اصلی این واسط در ادامه با جزئیات بیشتر آمده است.

Packet List

تمام بسته های موجود در فایل بسته های ضبط شده ی فعلی را نشان می-دهد. جزئیات این قسمت در شکل 2 نمایش داده شده است. هر خط در لیست بسته ها یکی از بسته های موجود در فایل بسته های ضبط شده را نشان می دهد. اگر یک خط از این قسمت را انتخاب کنیم، جزئیات بیشتر در قسمت های Packet Details و Packet Bytes نشان داده می-شود.
ستون های پیش فرضی که در این قسمت نشان داده می شود به شرح زیر است:

  • No: تعداد بسته های موجود در فایل بسته های ضبط شده.
  • Time: مهر زمانی هر بسته. فرمت نمایش این برچسب زمان را می توان تغییر داد.
  • Source: آدرس منبع بسته.
  • Destination: آدرس مقصد بسته.
  • Protocol: نام پروتکل به صورت مخفف. چون پروتکل های سطح بالاتر اطلاعات پروتکل های سطح پایین تر را در بر می گیرند، در این ستون تنها نام سطح بالاترین پروتکل می آید.
  • Info: اطلاعات اضافی در مورد محتوای بسته.

Packet Details

این بخش (شکل 3) جزئیات بسته ی انتخاب شده در قسمت لیست بسته ها را نمایش می دهد.
شکل 3: قسمت Packet Details از صفحه ی اصلی پروتکل ها و فیلدهای آن ها به ازای بسته ی انتخاب شده در قسمت لیست بسته ها در این قسمت نشان داده می شوند. این نمایش در یک ساختار درختی انجام می شود.

  • Generated fields: Wireshark خود نیز فیلدهای پروتکلی اضافه ای را تولید خواهد کرد که این فیلدها داخل براکت قرار می گیرند. به عنوان مثال Wireshark یک تحلیل sequence/acknowledge از هر جریان TCP انجام می دهد که در فیلدهای [SEQ/ACK analysis] از پروتکل TCP نشان داده می شود.
  • Links: اگر Wireshark رابطه ای بین بسته ی فعلی و بسته ی دیگری در فایل بسته های ضبط شده پیدا کند، یک لینک به آن بسته ایجاد می کند. لینک ها با رنگ آبی نشان داده می شوند که با کلیک بر روی آن ها Wireshark به بسته ی مورد نظر می‌رود.

Packet Bytes

این بخش (شکل 4) داده ی بسته ی انتخاب شده در قسمت لیست بسته ها را در مبنای 16 نشان می دهد.
شکل 4: قسمت Packet Bytes از صفحه ی اصلی سمت چپ آفست بسته، قسمت وسط داده در مبنای 16 و سمت راست کاراکترهای اسکی را نمایش می دهد.

ضبط کردن بسته‌ها

ضبط کردن بسته‌های دلخواه، یکی از مهم ترین خصوصیات Wireshark است. موتور ضبط کننده در این ابزار دارای خصوصیات زیر است:

  • ضبط بسته از انواع مختلف سخت افزارهای شبکه.
  • امکان توقف ضبط با معیارهایی مانند: مقدار داده ی ضبط شده، زمان ضبط، تعداد بسته های ضبط شده.
  • به طور همزمان می تواند بسته های رمزگشایی شده را در حین انجام عملیات ضبط نشان دهد.
  • فیلتر کردن بسته ها و کاهش مقدار داده ی ضبط شده.
  • ضبط کردن بسته ها در چندین فایل (وقتی عملیات ضبط به مدت زیادی طول بکشد).

 

واسط ضبط کردن بسته ها شامل قسمت های زیر است:

  • Device: نام وسیله ی واسط.
  • Description: توصیف واسط که توسط سیستم عامل ایجاد می شود. البته کاربر می تواند به دلخواه این عبارت را تغییر دهد.
  • IP: اولین آدرس IP که Wireshark بتواند از این واسط بگیرد. اگر Wireshark نتواند هیچ آدرس IP بگیرد (سرویس‌دهنده ی DHCP موجود نباشد)، عبارت unknown در این ستون نشان داده می شود. اگر بیشتر از یک آدرس IP نیز گرفته شود فقط آدرس اول نمایش داده می شود.
  • Packets: تعداد بسته های ضبط شده از این واسط.
  • Packets/s: تعداد بسته های ضبط شده در آخرین ثانیه.
  • Stop: اجرای ضبط فعلی را متوقف می کند.
  • Start: عملیات ضبط در این واسط را فوراً آغاز می کند (با استفاده از تنظیمات آخرین عملیات ضبط انجام شده).
  • Options: پنجره ی Capture Options را باز می کند. این پنجره در شکل 6 نمایش داده شده است.
  • Help: صفحه ی help را نمایش می دهد.
  • Close: پنجره را می بندد.

فیلتر کردن بسته‌ها

عملیات فیلتر کردن بسته ها در Wireshark به دو صورت قابل انجام است: یکی در هنگام انجام عملیات ضبط بسته‌ها و دیگری در هنگام مشاهده‌ی بسته‌ها (پس از اتمام عملیات ضبط).

فیلتر کردن در هنگام ضبط بسته‌ها

به این منظور باید عبارت فیلتر را در فیلد Filter از پنجره ی Capture Options (نمایش داده شده در شکل 6) وارد کرد. یک فیلتر ضبط کننده به شکل مجموعه ای از عبارات اولیه که با عملگرهای الحاقی (and یا or) به هم متصل شده اند، می باشد. به صورت اختیاری می توان از عملگر not در ابتدای عبارات اولیه استفاده کرد. شکل کلی یک فیلتر ضبط کننده به صورت زیر است: [not] primitive [and|or [not] primitive …] مثالی از یک فیلتر ضبط کننده به صورت زیر می تواند باشد: tcp port 23 and host 10.0.0.5 این مثال ترافیک telnet به/از میزبان 10.0.0.5 را ضبط می کند. مثال دیگری که در ادامه آمده است نشان می دهد که چگونه همه ی ترافیک telnet به جز بسته هایی که از میزبان 10.0.0.5 می آیند را ضبط کنیم. tcp port 23 and not src host 10.0.0.5

فیلتر کردن در هنگام نمایش بسته‌ها

فیلتر کردن در هنگام نمایش بسته ها به ما این امکان را می دهد که روی بسته های مورد نظر خود متمرکز شویم و بقیه ی بسته ها غیر از بسته های مورد نظر از دید ما پنهان می شوند. در این نوع فیلتر کردن امکان انتخاب بسته ها به وسیله ی معیارهای زیر وجود دارد:

  • پروتکل
  • وجود یک فیلد خاص در بسته
  • مقدار فیلدها
  • مقایسه ی بین فیلدها
  • و …

به عنوان مثال برای انتخاب بسته ها بر مبنای نوع پروتکل، به سادگی می توان نام پروتکل مورد نظر را در قسمت Filter از نوارابزار فیلتر در پنجره ی اصلی Wireshark وارد کرد و پس از فشردن کلید Enter عملیات فیلتر کردن بسته ها بر روی آن پروتکل خاص انجام می شود. شکل 8 مثالی از فیلتر کردن بسته ها بر روی پروتکل tcp را نمایش می دهد. همان گونه که در شکل مشاهده می شود تعداد بسته ها تغییری نکرده و اولین بسته از شماره ی 11 شروع می شود (بسته های 10-1 پنهان شده اند). نکته: زمانی که از فیلتر کردن در هنگام نمایش بسته ها استفاده می کنیم، همه ی بسته ها در فایل بسته های ضبط شده باقی می مانند. این نوع فیلتر کردن فقط نمایش بسته های ضبط شده را تغییر می دهد نه محتوای فایل را.

 –  Wireshark محدوده ی وسیعی از اطلاعات آماری شبکه را فراهم می کند که این اطلاعات از طریق منوی Statistics قابل دسترسی است. این اطلاعات آماری شامل اطلاعلت کلی در مورد فایل بسته های ضبط شده و اطلاعات در مورد پروتکل های خاص است. برخی از این اطلاعات در زیر آمده است:
  • Summary: خلاصه ای در مورد فایل بسته های ضبط شده.
  • Protocol Hierarchy: ساختار سلسله مراتبی پروتکل ها در بسته های ضبط شده.
  • Conversations: مانند ترافیک بین آدرس های IP خاص.
  • Endpoints: مانند ترافیک به/از یک آدرس IP خاص.
  • IO Graphs: نمایش تعداد بسته ها (یا مقادیری از این قبیل) در واحد زمان.
  • Service Response Time: زمان پاسخگویی سرویس بین درخواست و پاسخ بعضی از پروتکل ها.
  • و …

WLAN Traffic Statistics

یکی از گزینه های موجود در منوی Statistics از صفحه ی اصلی Wireshark، گزینه ی WLAN Traffic Statistics است. در این قسمت اطلاعات آماری ترافیک-های شبکه های محلی بی سیم ضبط شده نشان داده می شود. این پنجره ترافیک شبکه های بی سیم پیدا شده در حین عملیات ضبط کردن را به صورت خلاصه نشان می دهد. پنجره ی WLAN Traffic Statistics در شکل 9 نمایش داده شده است.

هر سطر در لیست نشان داده شده در شکل فوق، نشان دهنده ی مقادیر آماری برای یک شبکه ی بی سیم خاص است.

  • Name resolution: در صورتی انجام خواهد شد که علاوه بر انتخاب شدن در این صفحه، در لایه ی MAC نیز فعال شده باشد.
  • Only show existing networks: با انتخاب این گزینه درخواست های تفحصی که SSID آن ها با یکی از SSIDهای موجود در لیست منطبق نیست، نادیده گرفته می شوند.

 

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

میتونید این مطلب رو با دوستانتون به اشتراک بگذارید
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

سایر مطالب مرتبط