آشنایی با Ethereal – Wireshark
Ethereal یا Wireshare ابزاری کد–باز و رایگان است، که آنرا میتوان در دستهی Snifferها جای داد. این نرمافزار با توجه به ویژگیهایش، یکی از متداولترین ابزارهای آنالیز ترافیک شبکه است، هرچند که در حال حاضر، با وجود گذشت زمان نسبتاً زیادی از معرفی آن، هنوز در مرحلهی تست قرار داشته و در زمان نگارش این مطلب آخرین نگارش آن نگارش 0.10.4 است که از پایگاه www.ethereal.com قابل دریافت است. لازم به ذکر است که سورس این نرمافزار را نیز میتوانید از همین آدرس دریافت کنید.
این نرمافزار نیز مانند WinDump، پس از نصب، از کتابخانهی Winpcap برای دریافت اطلاعات بستهها استفاده میکند، لذا پیش از نصب Ethereal، آخرین نسخهی نرمافزار Winpcap را نصب کنید. همانطور که گفته شد این بسته امکان دریافت بستهها و استخراج اطلاعات از آنها را، تحت سیستمعامل Windows، فراهم میکند.
اگر برای اولین بار است که قصد نصب و کار با این دسته از نرمافزارها (Snifferها) را دارید، پیشنهاد میکنیم ابتدا قسمت اول مقالهی مربوط به WinDump را، که به مقدمهیی در باب Snifferها پرداخته است، مطالعه کنید.
Ethereal یا Wireshare، به عنوان نمونهیی از یک Sniffer، وظیفهی ثبت رخدادها، اطلاعات و بستههای رد و بدل شده بر روی لایههای شبکه را بر عهده دارد. با ثبت دادههای در حال انتقال بر روی شبکه و تجزیهی آنها، میتوان بستههای اطلاعاتی مربوط به پروتکلهای متفاوت را از یکدیگر تفکیک نمود و ارتباطات مجزا را شناسایی نمود. همانگونه که در معرفی این دسته از نرمافزارها گفته شد، این قبیل تحلیلها، میتوانند به شناسایی ارتباطات خطرناک، تلاشهای پیاپی برای دستیابی به منابع شبکه و نفوذ به آن و یا از کار انداختن نرمافزارها و سختافزارها فعال بر روی شبکه، بیانجامد. با این وجود از آنجاکه خروجی این دسته از نرمافزارها به حدی پیچیدهاند که کاربران عادی قادر به تحلیل آنها نیستند، لذا اینگونه نتیجهگیریها و تحلیلها عموماً توسط متخصصین شبکه انجام میپذیرد.
نرمافزار Ethereal یا Wireshare بر روی سه بستر اصلی Windows، Linux و Solrais ارایه میشود که نسخهیی که ما بررسی میکنیم، نسخهی تحت Windows آن است.
تواناییهای این دسته از ابزارها را عموماً میتوان به بخشهای زیر تقسیم کرد :
–انواع پروتکلها و انواع رابطهای شبکهیی که توسط ابزار شناسایی شده و تفکیک میگردند.
–روشها و قالبهای ذخیرهسازی خروجی برداشت و تحلیل اطلاعات شبکه
–امکان بازخوانی اطلاعات ذخیره شده توسط نرمافزارهای Sniffer مشابه دیگر
–امکان استفاده از فلیتر برای پروتکلهای مختلف
–قابلیت نصب بر روی محیطها و سیستمهای عامل متنوع
البته سادهگی کار با نرمافزار، به عنوان قابلیتهای ویژهی رابط کاربری، نیز یکی دیگر از قابلیتهایی است که اغلب برای کاربران نیمهحرفهیی و مبتدی اهمیت ویژهیی دارد.
قابلیتهای خاص Ethereal را، با توجه به تقسیمبندی فوق، میتوان به شرح دستهبندی نمود :
– شناسایی پروتکلها و رابطهای شبکهی متنوع
این نرمافزار قابلیت شناسایی حدود ۵۰۰ نوع پروتکل مجزا را دارد. تنوع این پروتکلها به این نرمافزار قدرتی ویژه بخشیده است.
از باب ارتباطات نیز این نرمافزار قابلیت دریافت اطلاعات بستههای فعال ارتباطات Ethernet، FDDI، Token-Ring، IEEE 802.11، IP over ATM و رابطهای loopback را دارد.
– ذخیرهسازی اطلاعات
Ethereal یا Wireshare با ایجاد فایلهای خروجی قابل ویرایش در قالبهای lippcap(tcpdump)، Sun snoop، Microsoft Network Monitor و Network Associate Sniffer از نظر ذخیرهسازی اطلاعات نیز ابزاری قدرتمند محسوب میشود.
– سازگاری با خروجی نرمافزارها و سیستمهای دیگر
Ethereal یا Wireshare قابلیت بازخوانی پروندههای اطلاعاتی نرمافزارهای مشابه دیگری همچون TCPDump، NAI’s Sniffer & Sniffer Pro، NetXray، MS Network Monitor، Novell LANanalyser، Cisco Secure IDS iplog و غیره را دارد.
– فیلترها
این ابزار، با محدود سازی روش دریافت و تحلیل اطلاعات جمعآوری شده از بستهها، در بسیاری از حالات امکان استفاده از فیلترهای پرقدرتی را به کاربر میدهد. در عین حال با استفاده از این فیلترهای میتوان به جستوجوی بستهها در میان اطلاعات ذخیره شده نیز پرداخت.
– قابلیتها رابط کاربری
رنگهای متنوع برای تغییر روش نمایش اطلاعات بسته به فیلتر انتخاب شده، منوهای متنوع و دیگر امکانات رابط کاربری، که بیشتر در بخشها آتی در حین معرفی چگونگی استفاده از این نرمافزار به آنها اشاره خواهیم کرد، به تحلیل و شناسایی بستهها کمک شایانی میکند. همانطور که ذکر شد، این قابلیت جذابیت ویژهیی برای کاربران مبتدی و نیمهحرفهیی دارد.
در بخش بعد به بررسی مقدماتی روشهای استفاده از این نرمافزار و ارایهی مثالهایی در این باب خواهیم پرداخت.
Ethereal یا Wireshare، بخش دوم
در بخش اول، ضمن ارایهی جمعبندی در مورد Snifferها، که Ethereal یکی از معروفترین و قدرتمندترین نرمافزارهای این دسته از ابزارهاست، به ویژگیهای برجستهی این نرمافزار اشاره کردیم. بررسی قابلیتهای این نرمافزار بر اساس جنبههای مختلف و متنوعی صورت گرفت که در مورد این دسته از ابزارها مد نظر قرار میگیرد.
شکل زیر، رابط کاربری این نرمافزار پیش از شروع عملیات را نشان میدهد :
همانگونه که مشاهده میکنید، رابط کاربری این نرمافزار بسیار شبیه به رابطهای گرافیکی متداول سیستمهای عامل Linux است، محیطهایی همچون KDE و GNOME.
در منوی فایل، میتوان خروجی عملیات انجام شده را در قالبهای مختلف درون فایل ذخیره کرد یا فایلهای ذخیره شده در قالبهای مختلف، ایجاد شده توسط نرمافزارهای گوناگون، را باز کرد و تحلیل نمود.
شروع عمکرد این نرمافزار با استفاده از منوی Capture صورت میگیرد. شکل زیر صفحهی مربوط به این منو را نشان میدهد :
در قسمت بالا، رابط شبکهیی که عملیات دریافت بستهها بر روی آن انجام میگیرد مشخص میشود. این رابط شبکه میتواند به ارتباط مودم ما با اینترنت نیز اشاره کند. به عبارت دیگر توسط چنین نرمافزارهایی، میتوان به بررسی وضعیت ارسال و دریافت بستهها و تحلیل آنها در ارتباطات میان مودمها و ارایهکنندهگان سرویس اینترنت نیز پرداخت. خروجی این عملیات میتواند اطلاعات مفیدی از حملات احتمالی در حال انجام به سیستم ما را نشان دهد.
قسمتهای دیگر این صفحه شامل تعیین نام فایلی که بستههای دریافت شده در آنها قرار میگیرد و همچنین شرایط که در صورت حصول آنها عمل Capture خاتمه میپذیرد. سمت راست این صفحه نیز یکی از ویژهگیهای مهم عمل Capture را تعیین میکند که تعیین نام مترادف آدرسها در شبکه است. این عمل، ضمن آنکه اطلاعات جامع و مفیدی را در اختیار ما قرار میدهد، عمل دریافت و جمعآوری بستهها را کند میکند.
شکل زیر، وضعیت پس از آغاز عملیات Capture را نشان میدهد. رابط شبکهی مورد استفاده، ارتباط PPP برقرار شده است :
همانگونه که در شکل نیز مشخص است، انواع پروتکلها در خروجی مورد نظر دستهبندی شدهاند و در مقابل نام آنها تعداد دریافت شده از آن پروتکل درج میشود.
پس از قطع عمل Capture، فهرستی از بستههای دریافت شده در پنجرهی اصلی نمایش داده میشود :
بستههای دریافت شده، به ترتیب و بر اساس زمان دریافت مرتب شدهاند. این فهرست شامل شمارهی بسته، زمان دریافت/ارسال آن، آدرسهای مبدأ و مقصد و نوع بسته نمایش داده شده است. در قسمت پایینتر، نوع بسته و اطلاعاتی که از ابتدای بسته استخراج شدهاند، مانند مبدأ و مقصد، پورت و دیگر اطلاعات درج میشود و در قسمت پایین پنجرهی اصلی محتوای خام بسته نمایش داده شده است.
خروجی به دست آمده را میتوان با تعیین قالب مورد نظر برای دسترسیهای آتی ذخیره نمود. شکل زیر صفحهیی که در آن امکان ذخیره سازی پرونده با تعیین قالب مورد نظر وجود دارد را نشان
میدهد :
شکل بالا، تعدادی از قالبهای قابل استفاده برای ذخیرهی پرونده توسط این نرمافزار را نشان میدهد. انواع این قالبها در بخش اول از بررسی این نرمافزار معرفی شدهاند.
در بخش بعدی از بررسی این نرمافزار به روش تعریف فیلترها و چگونهگی جستجو و تحلیل در بستههای دریافت/ارسال شده، با استفاده از فایلهای پیشین ذخیره شده، خواهیم پرداخت.
Etherealیا Wireshare ، بخش سوم
در دو بخش پیشین، ضمن تعریف ابزارهای Sniffer، به معرفی یکی از متداولترین آنها، یعنی Ethereal پرداختیم. در این بخش، به معرفی امکان استفاده از Filterهای این نرمافزار، و چگونهگی انجام تحلیل بر اساس خروجیهای بهدست آمده میپردازیم.
در این نرمافزار، عملاً سه نوع فیلتر قابل تعریف است :
– فیلترهای Capture
– فیلترهای نمایش
– فیلترهای رنگی
برای استفاده از فیلترهای Capture، در منوی Capture، گزینهی Capture Filters را انتخاب میکنیم. پنجرهیی به شکل زیر باز میشود :
با انتخاب گزینهی New، فیلتر جدیدی تعریف میکنیم. این نرمافزار برای تعریف فیلتر رابط کاربری بهصورت گرافیکی ندارد، لذا با استفاده از گزینهی Help در پایین همین پنجره، میتوان از روش تعریف فیلترها بهصورت متنی آگاه شد. در این مثال، فیلتری به نام Simple تعریف میکنیم که توسط آن، Ethereal تنها به دریافت بستههایی مبادرت میکند که آدرس فرستنده آن 192.168.0.1 باشد. فیلتر را ذخیره میکنیم پنجره را میبندیم. اکنون عمل Capture را آغاز میکنیم :
همانگونه در شکل بالا مشخص است، در قسمت Capture Filters میتوان فیلتری را تعریف کرد و یا از فیلترهای تعریف شدهی پیشین استفاده کرد. پس از انجام عمل Capture، Ethereal تنها بستههایی را دریافت خواهد کرد که آدرس مبدأ آنها 192.168.0.1 باشد.
برای استفاده از فیلترهای نمایشی، میتوان از خروجیهای پیشین و عملیات Capture قبلی استفاده کرد. به این منظور یکی از پروندههای قبلی را باز میکنیم :
این پرونده بهعنوان نمونهیی از عمل دریافت بستهها تهیه شده است. پس از باز کردن این پرونده، بستههای موجود در آخرین عمل دریافت، در پنجرهی اصلی ظاهر خواهند شد :
طبیعیست که برای دستهبندی بستهها بر اساس یکی از پارامترهای زمان دریافت، آدرس مبدأ یا مقصد و نوع پروتکل میتوان به کلیک کردن بر روی برچسب هریک از ستونها، اطلاعات را بر حسب آن ستون مرتبکرد. عمل تعریف فیلتر و اعمال آن بر روی اطلاعات، متفاوت از این مرتبسازی است. به بیان دیگر، با استفاده از فیلتر میتوان شروط پیچیدهتری برای مشاهدهی بستهها تعریف کرد.
اکنون میخواهیم با استفاده از تعریف فیلترها نمایش در این نرمافزار، بستههای مورد نظر خود را جدا کنیم. برای اینکار میتوان فیلتر را مستقیماً در قسمت Filter، پایین Toolbar اصلی، در پنجرهی اصلی تعریف کرد :
همانگونه که مشاهده میکنید، در این محل، برای تعریف فیلتری که تنها بستههایی با مبدأ 192.168.0.1 را نمایش دهد از نوع دیگری از تعریف فیلتر استفاده میکنیم. به بیان دیگر، زبان تعریف فیلتر برای دو نوع Capture و نمایش (Analyze) با یکدیگر متفاوت است. با مراجعه به سایت این نرمافزار، میتوانید با هر دو زبان آشنا شوید.
روش دیگر استفاده از فیلترهای نمایش استفاده از منوی Analyze و انتخاب Display Filters در این منو است. با این انتخاب پنجرهای مشابه پنجرهی Capture Filters نمایش داده میشود :
در مثال بالا، مجدداً فیلتری، از نوع نمایشی، با نام Simple تعریف کردهایم که زبان تعریف آن همان زبان فیلترهای نمایش است. با فشار دکمهی Apply، فیلتر مورد نظر اعمال میشود و شکل پنجرهی اصلی تنها بستههای با آدرس مبدأ 192.168.0.1 را نمایش میدهد. باید توجه داشت که بقیهی بستهها در این مرحله از میان نمیروند و استفاده از فیلترها تنها نمایش را به بازهی مورد درخواست کاربر محدود میکند.
از دیگر قابلیتهای مفید این نرمافزار، فیلترهای رنگی آن است. این فیلترها را میتوان در منوی View با انتخاب Coloring Rules تعریف کرد. زبان و روش تعریف این فیلترها مشابه فیلترهای نمایش است. شکل زیر پنجرهی اصلی را پس از تعیین فیلتر رنگی ip.src=192.168.0.1 و تغییر رنگ بستههایی که آدرس مبدأ آنها 192.168.0.1 است، نشان میدهد :
طبیعی است که میتوان از چند فیلتر رنگی بهطور همزمان استفاده کرد.
با توجه به سه قسمت ارایه شده در باب معرفی این نرمافزار که حاکی از قابلیتها متنوع آن است، Ethereal را میتوان به جرأت قدرتمندترین نرمافزار از سری ابزارهای Sniffer به حساب آورد. لازم به ذکر است که این ابزار امکانات دیگری نیز دارد که با مراجعه به منوهای Analyze و Statistics میتوانید از آنها استفاده کنید.