چرا Wireshark؟
Wireshark یکی از شناختهشدهترین ابزارهای تحلیل ترافیک شبکه است. میتوانید captureهای ذخیرهشده یا ترافیک زنده را بررسی کنید، پروتکلها را decode کنید و برای عیبیابی شبکه یا Incident Response از فیلترهای دقیق استفاده کنید. برای Capture روی شبکههایی که مالک یا مجاز به بررسی آنها هستید استفاده شود.
دریافت امن
برای دانلود از دکمه «دانلود رسمی» همین صفحه استفاده کنید. IROSG فایل installer این نرمافزار را mirror نمیکند تا کاربر همیشه به نسخه و signature رسمی سازنده دسترسی داشته باشد.
استفاده مسئولانه
در ابزارهای تحلیل، اسکن و Penetration Testing، Scope و مجوز روشن بخشی از کار فنی است. تنظیمات و رفتار ابزار را ابتدا در Lab بررسی کنید و سپس در محیط Production بهکار ببرید.
پیش از ثبت بسته، سؤال را مشخص کنید
Wireshark زمانی بیشترین ارزش را دارد که بدانید دنبال پاسخ چه سؤالی هستید. «شبکه کند است» برای انتخاب محل و مدت ثبت کافی نیست. سؤال دقیقتر میتواند این باشد که آیا درخواست نام از مشتری خارج میشود، آیا اتصال به سرور برقرار میشود یا پاسخ پس از رسیدن درخواست دیر تولید میشود. هر سؤال به بستهها و نقطه مشاهده متفاوتی نیاز دارد. پیش از شروع، مبدأ، مقصد، زمان تقریبی خطا و عمل کاربر را ثبت کنید. این اطلاعات کوچک جلوی جمعآوری فایل بزرگ و بیهدف را میگیرد.
برای تمرین، یک خدمت آزمایشی محلی یا متعلق به تیم انتخاب کنید. ثبت را آغاز کنید، فقط یک عمل مشخص انجام دهید و سپس ثبت را متوقف کنید. زمان عمل را یادداشت کنید تا بتوانید بستههای مرتبط را پیدا کنید. در آغاز، چند دقیقه ترافیک کنترلشده از چند ساعت ترافیک شلوغ آموزندهتر است. پس از شناخت الگوی سالم، همان عمل را در وضعیت خطا تکرار کنید. مقایسه دو نمونه با شرایط نزدیک، اغلب سریعتر از جستوجوی آزاد در یک فایل بزرگ به علت میرسد.
محل مشاهده تعیین میکند چه چیزی میبینید
ثبت روی رایانه مشتری فقط بستههایی را میبیند که به رابط مشاهدهشده میرسند یا از آن خارج میشوند. این تصویر کامل همه مسیر نیست. اگر بسته در میانه راه حذف شود، مشتری ممکن است فقط نبود پاسخ و تلاش دوباره را ببیند. ثبت همزمان در سرور میتواند نشان دهد درخواست رسیده یا نه. در شبکههای سوئیچی نیز صرف اتصال به یک درگاه، ترافیک همه دستگاهها را در اختیار شما نمیگذارد. طراحی نقطه مشاهده باید با توپولوژی و مجوز دسترسی سازگار باشد.
اگر از چند نقطه ثبت میکنید، ساعتها را تا حد ممکن هماهنگ کنید و اختلاف باقیمانده را در تحلیل لحاظ کنید. زمان یکسان ظاهری بدون همگامی معتبر، اندازهگیری تأخیر بین دو میزبان را قابل اعتماد نمیکند. همچنین ترجمه نشانی، تونل و متعادلکننده بار میتوانند مشخصات بسته را در مسیر تغییر دهند. برای پیوند دو مشاهده، ممکن است لازم باشد از شماره توالی، اندازه یا شناسه کاربردی کمک بگیرید. نشانی متفاوت در دو سمت همیشه به معنی ارتباط متفاوت نیست.
فیلتر ثبت و فیلتر نمایش دو کار متفاوت دارند
فیلتر ثبت تعیین میکند چه بستههایی از ابتدا ذخیره شوند. بسته کنارگذاشتهشده بعداً با تغییر نمایش برنمیگردد. فیلتر نمایش فقط دید شما به داده موجود را محدود میکند و برای بررسی فرضیههای مختلف انعطاف بیشتری دارد. نحو این دو نیز یکسان نیست. پیش از شروع ثبت حساس، فیلتر را با ترافیک آزمایشی بررسی کنید. یک شرط اشتباه ممکن است دقیقاً بستهای را حذف کند که برای توضیح خطا لازم بوده است.
در محیط پرترافیک، محدود کردن ثبت برای کنترل حجم ضروری میشود. اما دامنه را بر اساس سؤال انتخاب کنید. اگر فقط نشانی مقصد کاربردی را ثبت کنید، ممکن است بستههای نامگذاری یا خطای شبکه مرتبط را از دست بدهید. برای عیبیابی اتصال، پیشنیازها را نیز در نظر بگیرید. پس از ذخیره، با فیلتر نمایش روی یک جریان تمرکز کنید و هر بار نتیجه را با دید کلی مقایسه کنید. گاهی علت در ارتباطی است که فیلتر بسیار باریک آن را پنهان کرده است.
خواندن یک اتصال به صورت توالی
به جای نگاه کردن جداگانه به هر بسته، رویدادهای اتصال را مرتب کنید: درخواست نام، تلاش اتصال، پاسخ طرف مقابل، تبادل داده و پایان. اگر اتصال اصلاً برقرار نشده، تحلیل زمان پاسخ کاربردی زود است. اگر اتصال برقرار شده ولی مشتری مدت طولانی پیش از ارسال داده صبر کرده، علت ممکن است در خود مشتری باشد. اگر درخواست سریع رسیده و پاسخ دیر آغاز شده، بررسی سرور و وابستگیهای آن اهمیت پیدا میکند. بستهها محل تأخیر را محدود میکنند، ولی همیشه علت داخلی برنامه را نشان نمیدهند.
برای TCP، شمارههای توالی و تأیید به فهم داده ارسالشده و دریافتشده کمک میکنند. تکرار ارسال میتواند نشانه از دست رفتن بسته یا تأخیر تأیید باشد، اما باید محدودیت نقطه ثبت را در نظر گرفت. ممکن است خود سامانه ثبت بستهای را از دست داده باشد. برچسب تحلیل خودکار یک سرنخ است، نه حکم قطعی. قبل از اعلام خرابی شبکه، آمار از دست رفتن در ثبت و مشاهده سمت دیگر را بررسی کنید. تحلیل معتبر میان رخداد شبکه و نقص مشاهده فرق میگذارد.
خطای مجموع کنترل همیشه خطای روی سیم نیست
در بعضی میزبانها، سختافزار شبکه بخشی از پردازش بسته را پس از نقطه ثبت نرمافزاری انجام میدهد. در نتیجه Wireshark ممکن است مجموع کنترل خروجی را نامعتبر نشان دهد، در حالی که کارت شبکه آن را پیش از ارسال نهایی تکمیل میکند. قابلیتهای تجمیع و بخشبندی نیز میتوانند اندازه یا شکل بسته مشاهدهشده را از آنچه روی رسانه منتقل میشود متفاوت کنند. از یک هشدار محلی به تنهایی نتیجه خرابی فیزیکی نگیرید.
برای بررسی، محل ثبت و قابلیتهای تخلیه پردازش میزبان را ثبت کنید و در صورت امکان یک مشاهده مستقل در سمت دریافت داشته باشید. اگر بسته در مقصد سالم دریافت شده، هشدار محلی نیاز به تفسیر متفاوت دارد. خاموش کردن قابلیتها روی سامانه تولید میتواند عملکرد را تغییر دهد، پس آن را بدون برنامه انجام ندهید. در آزمایشگاه میتوانید تفاوت قبل و بعد را مشاهده کنید و یاد بگیرید چه نشانههایی ناشی از نحوه ثبت هستند.
رمزنگاری چه چیزی را پنهان میکند؟
در ارتباط رمزشده، مشاهده بسته الزاماً محتوای کاربردی را نشان نمیدهد. ممکن است زمانبندی، اندازه، نشانیها و بخشی از مذاکره قابل مشاهده باشد، اما متن درخواست محافظت شود. این محدودیت طبیعی است. برای عیبیابی محتوای برنامه، گزارش سمت خدمت یا سازوکار مجاز ثبت کلید نشست در محیط آزمایش میتواند لازم شود. داشتن کلید خصوصی سرور نیز برای همه حالتهای رمزنگاری امروزی تضمین رمزگشایی ترافیک نیست.
اگر در محیط مجاز از کلید نشست برای تحلیل استفاده میکنید، فایل کلید را مانند داده حساس محافظت کنید. همراه کردن آن با ثبت ترافیک میتواند محتوایی را آشکار کند که فایل بسته به تنهایی نشان نمیدهد. برای اشتراک با همکار، فقط داده لازم را بدهید و نسخه آموزشی را ترجیح دهید. هیچ ابزار تحلیلی نباید باعث شود تیم حفاظت ارتباط را برای راحتی عیبیابی در محیط واقعی کنار بگذارد. هدف، مشاهده کنترلشده با کمترین دامنه لازم است.
اندازه فایل و کیفیت ثبت
در ثبت طولانی، نوشتن روی دیسک و پردازش نمایش میتوانند گلوگاه شوند. چرخش فایل و محدودیت مدت یا اندازه به کنترل مصرف کمک میکنند. پیش از اجرای طولانی، فضای آزاد، سرعت دیسک و آمار حذف بسته را بررسی کنید. فایل بسیار بزرگ که بخشی از ترافیک را از دست داده، ممکن است از ثبت کوتاه دقیق کمارزشتر باشد. اگر فقط سرآیندها لازماند، طول ثبت هر بسته را آگاهانه انتخاب کنید؛ کوتاه کردن بیش از حد میتواند تحلیل پروتکل یا بازسازی جریان را ناقص کند.
پس از ثبت، مشخصات فایل را همراه شرایط محیط نگه دارید: رابط، زمان شروع و پایان، فیلتر، طول ثبت و تعداد بستههای ازدسترفته گزارششده. این اطلاعات برای تفسیر نبود یک بسته ضروریاند. اگر فایل از چند منبع ادغام شده، روش همگامسازی زمان و احتمال تکرار بستهها را مستند کنید. یک فایل بدون این زمینه ممکن است ظاهراً دقیق باشد اما نتیجهگیری از آن با خطای جدی همراه شود.
آمار را برای یافتن الگو به کار ببرید
فهرست گفتگوها، نقاط پایانی و نمودار نرخ میتواند کمک کند ارتباط غیرعادی یا جهش بار را پیدا کنید. با این حال، بزرگترین جریان لزوماً علت کندی نیست. یک درخواست کوچک به سامانه احراز هویت میتواند همه عملیات را منتظر بگذارد، در حالی که انتقال بزرگ پسزمینه سالم است. آمار را به سؤال اولیه وصل کنید و سپس جریان مرتبط را دقیق بخوانید. حجم و اهمیت کاربردی دو معیار متفاوتاند.
برای یک خطای متناوب، بازه سالم و بازه ناموفق را مقایسه کنید. تعداد تلاش اتصال، زمان آغاز پاسخ و الگوی پایان ارتباط را کنار هم بگذارید. اگر فقط مقصد خاصی رفتار متفاوت دارد، دامنه بررسی کوچک میشود. اگر همه مقصدها همزمان افت میکنند، رابط محلی یا مسیر مشترک محتملتر است. اینها فرضیهاند و باید با شاهد دیگر تأیید شوند. Wireshark امکان دیدن جزئیات را میدهد، اما کیفیت نتیجه به روش طرح و آزمون فرضیه وابسته است.
گزارش قابل استفاده برای تیم دیگر
در گزارش نهایی، شماره بسته یا بازه زمانی شاهد، تفسیر و محدودیت را کنار هم بنویسید. مثلاً مشخص کنید درخواست از مشتری دیده شده، در سرور مشاهده نشده و نقطه حذف هنوز تعیین نشده است. این جمله دقیقتر از «فایروال بسته را انداخت» بدون شاهد است. از فایل اصلی یک نسخه محدود برای اشتراک بسازید و داده حساس را بازبینی کنید؛ ثبت بسته ممکن است نامها، توکنها و محتوای خصوصی داشته باشد. مرجع کامل گزینهها و تحلیلها، راهنمای رسمی Wireshark است. معیار یک تحلیل خوب، امکان دنبال کردن استدلال توسط همکار دیگر از روی همان شواهد است.
نگهداری پرونده تحلیل
فایل اصلی ثبت را از نسخهای که برای فیلتر، توضیحگذاری یا اشتراک آماده میکنید جدا نگه دارید. برای هر فرضیه، فیلتر استفادهشده و دلیل انتخاب آن را بنویسید. اگر بعداً فرضیه رد شد، نگهداری یادداشت کوتاه از تکرار همان مسیر بینتیجه جلوگیری میکند. در پایان، دادههایی را که برای نتیجه لازم نبودند طبق سیاست نگهداری حذف کنید و دسترسی پرونده را محدود نگه دارید. یک پرونده خوب باید شامل سؤال، شرایط ثبت، شواهد کلیدی و پرسشهای باز باشد. داشتن چند تصویر رنگی بدون فایل یا زمینه زمانی، برای بررسی دوباره کافی نیست. این نظم به ویژه وقتی تحلیل میان تیم شبکه و برنامه منتقل میشود از برداشتهای متناقض جلوگیری میکند.