برنامهها، نرمافزارها و سایتهای مختلف بهتناسب وظیفهی خود، مقدار مشخصی از جریان داده را در مسیر کلاینت (کاربر) به سرور یا برعکس جابهجا میکنند. اندازهی این میزان تبادل داده در برنامههایی که مسیر صحیح و مورد انتظار را طی میکنند، به شکل عادی و بر اساس کارایی سرویس مورد نظر است؛ اما همیشه اوضاع آرام پیش نمیرود.
گاهی اوقات، تبادل دادهی یک سایت یا یک ابزار بین کلاینت و دستگاه بهطرز مشکوکی، بیشتر از حد انتظار ما است. در این حالت، با ردیابی ترافیک شبکه، علاوه بر رهگیری ارتباطات بین برنامه یا سایت با سرور، درخواستهای ردوبدلشده بین این دو بخش نیز برای کاربر قابل مشاهده خواهد بود. در مقالهی پیش رو، علاوه بر آشنایی با روند ردیابی ترافیک شبکه، دربارهی مراحل رهگیری ترافیک بین برنامه یا سایت در سیستمعاملهای ویندوز، مک و اندروید نیز توضیح خواهیم داد.
-
ردیابی ترافیک شبکه چیست؟
-
ابزارها و روشهای ردیابی ترافیک شبکه
-
ردیابی ترافیک شبکه در ویندوز
-
ردیابی ترافیک شبکه با نرم افزار Fiddler
-
ردیابی ترافیک دستگاه دیگر با وای فای از طریق Fiddler
-
ردیابی ترافیک شبکه در مک
-
ردیابی ترافیک شبکه با نرم افزار Wireshark
-
ردیابی ترافیک شبکه در اندروید
-
ردیابی ترافیک شبکه با استفاده از نرم افزار Android Studio
ردیابی ترافیک شبکه چیست؟
مانیتورینگ شبکه، مجموعه فعالیتهایی است که برای عیبیابی و بررسی صحت عملکرد یک شبکه اجرا میشود. فرایند ردیابی شبکه، بهعنوان یکی از زیرمجموعههای مانیتورینگ شبکه و با هدف بررسی تبادل داده بین سرور و کلاینت در یک نرمافزار یا سایت انجام میشود؛ اما این کارایی، تنها کاربرد مؤثر ردیابی شبکه نیست.
جریان داده بین سرور و کلاینت، به شکل یک بستهی یکپارچه از اطلاعات ردوبدل نمیشود. در واقع، این جریان از بستههایی کوچکتر به نام پکت داده یا Data Packet تشکیل میشود. هر پکت حاوی بخش خاصی از اطلاعات کلی تبادلیافته بین کلاینت و سرور است. در برخی مواقع، بررسی محتوای پکت (در صورت نبود رمزنگاری)، برای ما بسیار حیاتی خواهد بود؛ موضوعی که انجام آن با ابزارهای ردیابی ترافیک شبکه در مدتزمان کوتاهی انجام میشود.
علاوه بر این کاربرد، بهدستآوردن یک فایل بهصورت آفلاین نیز، کارایی دیگری است که به لطف ردیابی ترافیک شبکه میسر میشود. در این حالت، لینک تولیدشده برای دانلود یک فایل، با بررسی دادههای ردوبدلشده بین برنامه یا سایت و سرور به دست میآید و فایل مورد نظر به شکل آفلاین در اختیار کاربر قرار خواهد گرفت.
ابزارها و روشهای ردیابی ترافیک شبکه
رهگیری ترافیک شبکه در سیستمعاملهای مختلف، با ابزارها و روشهای متنوعی انجام میشود که برخی از آنها عبارتاند از:
- ابزارهای Packet Sniffer مانند نرم افزارهای Wireshark و Fiddler
- استفاده از دادههای جمعآوریشده توسط پروتکلهای NetFlow یا SFlow از روترها و سوئیچها
- وب پروکسی برای نظارت بر ترافیک ورودی و خروجی وب سایتها
- ابزارهای مانیتورینگ شبکهی ابری
- بهرهگیری از ابزارهای داخلی سیستمعامل (این ابزارها معمولاً توانایی رصد کامل ترافیک شبکه را ندارند).
- استفاده از ابزارهای سختافزاری مانند Packet Broker یا Network TAP
- فایروال سیستمعامل (فایروال میتواند حاوی اطلاعات زیادی در مورد ترافیک عبوری از شبکهی شما باشد و امکان فیلترکردن ترافیک معمولی برای رصد ترافیک مشکوک را در اختیار شما قرار میدهد).
استفاده از برخی از این ابزارها، نیازمند داشتن دانش تخصصی در حوزهی شبکه، نرمافزار و سختافزارهای مانیتورینگ است. ازاینرو، در ادامه، صرفاً نحوهی کار با ابزارهای نسبتاً ساده برای ردیابی ترافیک شبکه در ویندوز، مک و سیستمعامل اندروید آموزش داده میشود.
ردیابی ترافیک شبکه در ویندوز
محیط ویندوز، آزادی عمل زیادی را برای استفاده از ابزارها و نرمافزارهای مخصوص ردگیری ترافیک شبکه در اختیار کاربر قرار میدهد. در این میان، کار با نرمافزار Fiddler در مقایسه با ابزارها و برنامههای دیگر مانیتورینگ ترافیک شبکه، سادهتر است و مجموعه دادههای تبادلشده میان سرور و کلاینت را با دقت بهتری جمعآوری میکند.
ردیابی ترافیک شبکه با نرم افزار Fiddler
ابتدا نرمافزار Fiddler را از آدرس زیر دانلود و آن را روی کامپیوتر خود نصب کنید.
بهتر است نرمافزار Fiddler را روی نسخهی ۶۴ بیتی ویندوزهای ۱۰ یا ۱۱ یا ویندوز سرور ۲۰۱۶ به بالا نصب کنید؛ اما نصب این برنامه روی ویندوزهای قدیمیتر مانند ویندوز ۸ یا ۸٫۱ نیز مانعی ندارد.
پس از نصب نرمافزار Fiddler مراحل زیر را برای ردیابی ترافیک شبکه در ویندوز دنبال کنید:
۱- از مسیر Tools > Options، وارد بخش HTTPS شوید و گزینههای Capture HTTPS CONNECTs و Decrypt HTTPS traffic را انتخاب کنید. ازآنجاکه اکثر ارتباط بین برنامه یا سایت با کلاینت بر بستر پروتکلهای رمزنگاریشدهی TLS و SSL است، انتخاب این دو گزینه، ردیابی ترافیک این سرویسها را برای نرمافزار Fiddler امکانپذیر میکند.
۲- برنامهی Fiddler برای رمزگشایی ترافیک HTTPS، به نصب گواهی Root Certificate پروتکلهای TLS روی ویندوز شما نیاز دارد. اجازهی نصب این گواهی با پیغام زیر به شما نشان داده میشود. در پیغام، گزینهی Yes را انتخاب کنید و در نهایت، با کلیک روی کلید OK در تب HTTPS، به برنامه اجازهی نصب این گواهی را بدهید.
۳- با فشردن کلید F12 در محیط برنامهی Fiddler یا مراجعه به سربرگ File در این برنامه و برداشتن تیک گزینهی Capture Traffic، فرایند جمعآوری ترافیک را بهطور موقت، متوقف کنید. سپس کش مرورگر خود را پاک کنید تا تمام موارد کششده حذف و مجدداً دانلود شوند.
۴- پس از پاک کردن کش مرورگر، از طریق مسیر File > Capture Traffic و فعال کردن تیک Capture Traffic یا فشردن کلید F12 در محیط برنامه، فرایند جمعآوری ترافیک را دوباره شروع کنید.
بررسی و نوشتن درخواست در Fiddler
اگر میخواهید یک درخواست یا پاسخ خاص HTTP(S) را در برنامهی Fiddler به شکل دقیقتری بررسی کنید؛ میتوانید درخواست مورد نظر خود را انتخاب کنید، بکشید و در سربرگ Inspector رها کنید. بخشهای مختلف این سربرگ، درخواست مورد نظر شما را به شکلهای متفاوتی نمایش میدهند.
با کلیک روی بخش Headers، میتوانید هدرهای درخواست انتخابشده را ببینید یا با انتخاب بخش Raw درخواست مورد نظر شما بهصورت متن نمایش داده میشود.
برای مشاهدهی رشتههای کوئری یا کدهای JSON و XML نیز بهترتیب میتوانید روی بخش WebForms یا بخشهای JSON و XML کلیک کنید.
سربرگ Composer در Fiddler، امکاناتی را برای نوشتن درخواست در اختیار شما قرار میدهد. در این بخش شما میتوانید، متد HTTP، هدر، بدنه و URL درخواست و همچنین، نسخه HTTP را تعیین کنید.
اگر درخواستی را از قبل نوشتهاید، میتوانید آن را بکشید و در سربرگ Composer رها کنید تا برنامه بهطور خودکار تمامی بخشهای درخواست را پر کند. پس از اتمام ویرایش درخواست، برای اجرای آن کافی است روی دکمهی Execute در بالای صفحه کلیک کنید.
ردیابی ترافیک دستگاه دیگر با وای فای از طریق Fiddler
ردیابی ترافیک شبکه در یک دستگاه از طریق وایفای نیز امکانپذیر است. برای این منظور، ابتدا باید نسخهی مناسب برنامهی Fiddler را روی دستگاه خود نصب و پس از آن، مراحل زیر را دنبال کنید:
۱- درصورتیکه سیستم شما از وب پروکسی پشتیبانی میکند، از طریق مسیر زیر، Fiddler را بهعنوان پروکسی وایفای تنظیم کنید:
Settings > Wi-Fi > Modify Network
۲- پس از آن، در CMD ویندوز دستور ipconfig را اجرا کنید تا IP دستگاه و خود را پیدا کنید.
۳- از مسیر زیر، پورت Fiddler را به دست آورید:
Tools > Fiddler Options > Connections > Fiddler listens on port
۴- آدرس IP دستگاه خود را بهعنوان نام میزبان پروکسی و پورت Fiddler را بهعنوان پورت پروکسی اضافه کنید.
۵- از تب File گزینهی Capture Traffic را انتخاب کنید.
۶- از مسیر File > Save > All Sessions ترافیک جمعآوریشده را ذخیره کنید.
درصورتیکه گزینههای Capture HTTPS CONNECTs و Decrypt HTTPS traffic را برای ردیابی تبادل ترافیک از پروتکلهای HTTPS فعال نکرده باشید، مقدار Body در تمام درخواستها بهصورت عدد صفر نمایش داده میشود. همچنین، پاکنکردن کش مرورگر پیش از اجرای ردیابی ترافیک شبکه در Fiddler، درخواستهای کلی وبسایت مورد نظر شما را بهطور کامل نشان نمیدهد و صرفاً بخش کوچکی از ترافیک عبوری را نمایش خواهد داد.
ردیابی ترافیک شبکه در مک
از میان ابزارها و نرمافزارهای مختلف برای ردیابی ترافیک شبکه در سیستمعامل مک، نرمافزار Wireshark عملکرد بهتری دارد. کارکردن با این نرمافزار برخلاف بسیاری ابزارهای مانیتورینگ و رهگیری شبکه، برای کاربران مبتدی و افرادی که آشنایی جزئی با مباحت شبکه دارند؛ آسان است. ازاینرو، در ادامه مراحل رهگیری ترافیک شبکه با این نرمافزار را در محیط مک آموزش خواهیم داد.
ردیابی ترافیک شبکه با نرم افزار Wireshark
نرمافزار Wireshark یکی از پیشرفتهترین نرمافزارهای مانیتورینگ شبکه است که علاوه بر ردیابی ترافیک شبکه، در زمینههای دیگری مانند عیبیابی اتصالات و بررسی روند حملات هکری برای ارتقای امنیت سایت یا برنامه نیز کاربرد دارد. برای ردیابی ترافیک شبکه در مک با استفاده از این نرمافزار، مراحل زیر را دنبال کنید:
۱- از آدرس زیر، جدیدترین نسخهی نرمافزار را دانلود و روی مک بوک خود نصب کنید.
۲- مرورگر خود را باز کنید و برای ردیابی تبادل ترافیک یک سایت خاص، با فشردن همزمان کلیدهای Command + Shift + G، کش مرورگر را بهطور کامل پاک کنید.
در صورت تمایل میتوانید بهجای این روش، در پنجرهی pop-up مرورگر، دستور زیر را تایپ و روی Go کلیک کنید:
پس از آن، کلیدهای Command + A و Command + DEL را فشار دهید تا کش مرورگر پاک شود.
۳- نرمافزار Wireshark را باز کنید و از قسمت Capture روی Interfaces از منوی کشویی ضربه بزنید.
۴- پس از انتخاب هر تعداد Interfaces دلخواهی که مدنظر دارید، روی گزینهی Start کلیک کنید.
۵- در مرورگری که کش آن پاک شده است، آدرس سایتی را که میخواهید تمام ترافیک شبکهی آن ردگیری شود، باز کنید.
۶- پس از جمعآوری ترافیک مورد نظر در نرمافزار Wireshark، کلیدهای Command + E را فشار دهید تا روند دریافت دادهها متوقف شود.
۷- از بالای صفحه روی یکی از دو گزینهی Save یا Save as کلیک کنید.
۸- مکان مورد نظر برای ذخیرهی سند را انتخاب و آن را بهعنوان یک فایل pcap. ذخیره کنید.
ردیابی ترافیک شبکه در اندروید
در سیستمعامل اندروید، تنوع روشها و ابزارهای رهگیری ترافیک شبکه در مقایسه با ویندوز و مک بیشتر است، باوجوداین، نصب برخی از اپلیکیشنها روی دستگاههای اندرویدی بهدلیل احتمال ناامن بودن آنها، چندان توصیه نمیشود. از میان روشها و ابزارهای اختصاصی اندروید، نرمافزار Android Studio، کارایی آسانتری دارد و بدون نیاز به نصب هیچ اپلیکیشن خاصی روی دستگاه اندرویدی شما، میتواند ترافیک شبکه را ردیابی و بررسی کند.
ردیابی ترافیک شبکه با استفاده از نرم افزار Android Studio
نسخهی مناسب نرمافزار Android Studio را بر اساس سیستمعامل کامپیوتر خود (مک، ویندوز یا لینوکس) از لینک زیر دانلود کنید. دقت داشته باشید که برای دانلود این نرمافزار به ابزار تغییر IP نیاز دارید:
۱- پس از نصب نرمافزار Android Studio روی کامپیوتر، آن را باز و مسیر زیر را دنبال کنید:
View > Tool Windows > App Inspection
۲- دستگاه اندرویدی خود را از طریق کابل USB به کامپیوتر متصل کنید. پس از اتصال، دستگاه شما و برنامههای نصبشده روی آن بهطور خودکار توسط نرمافزار Android Studio شناخته میشوند.
۳- از زبانههای بالای صفحه، روی گزینهی Network Inspector کلیک کنید.
۴- از پنجرهی App Inspection، دستگاه و برنامهای را که میخواهید ترافیک آن بررسی شود، انتخاب کنید. در این پنجره، میتوانید ترافیک برنامهی مورد نظر را از جدول زمانی بالای صفحه بررسی کنید.
بخشهای مختلف این پنجره، اطلاعات زیر را در اختیار شما قرار میدهند:
- بخش Connection View: فهرستی از جزئیات دادههای ارسال یا دریافتشده (شامل اندازه، نوع، وضعیت، مدت زمان ارسال) در بازهی زمانی انتخابشده توسط شما
- بخش Thread View: نمایش فعالیت شبکه در هر یک از رشتههای CPU در برنامهی مورد نظر شما
۵- با کلیک روی بخش Rules در پنجرهی Network Inspector میتوانید قوانین مورد نظر خود را برای رهگیری مبدأ یا مقصد ترافیک تبادلشده ایجاد کنید. ازآنجاکه قوانین ایجادشده توسط شما، به ترتیبی که فهرست شدهاند اعمال میشوند؛ باید کادر مربوط به گزینهی Active را برای فعال یا غیرفعالکردن تیک بزنید یا تیک آن را بردارید.
۶- برای بررسی جزئیات دقیقتری از دادههای ارسالشده یا دریافتشده، از بخش Connection View یا Thread View روی درخواست مورد نظر خود کلیک کنید. پس از انتخاب درخواست، در تب Response و Request، با کلیک روی گزینههای View Parsed و View Source بهترتیب، کدهای درخواست در دو قالب متن فرمتشده و متن خام نمایش داده میشود.
در حال حاضر، بخش Network Inspector در نرمافزار Android Studio تنها از کتابخانههای HttpsURLConnection و OkHttp برای اتصالات شبکه پشتیبانی میکند. اگر برنامهی مورد نظر شما از کتابخانههای دیگری به غیر از این دو مورد برای اتصال به شبکه استفاده میکند، ردیابی ترافیک شبکهی برنامه با Network Inspector امکانپذیر نیست.
ردیابی ترافیک شبکه در مواقعی که به حجم دادههای ردوبدلشده بین یک برنامه یا سایت با سرور مشکوک هستید، میتواند از بروز خسارتهای مالی ناشی از هدررفتن حجم اینترنت یا مشکلات جدی مانند سرقت اطلاعات شما جلوگیری کند. در این مقاله، تلاش کردیم تا روشها و ابزارهایی را که نیاز چندانی به دانش تخصصی در حوزهی شبکه ندارند، معرفی کنیم.
خوشحال میشویم که اگر شما نیز، با ابزارهای مفیدی در این زمینه کار کردهاید؛ نام آن ابزار را با ما و سایر کاربران به اشتراک بگذارید.