تجزیه و تحلیل ترافیک شبکه با Wireshark

Summarize this content to 400 words in Persian Lang
Wireshark یک تحلیلگر پروتکل شبکه رایگان و منبع باز است که برای ضبط و تجزیه و تحلیل ترافیک شبکه استفاده می شود.
تجزیه و تحلیل میزان ترافیکی که بازی شبکه ای شما در طول گیم پلی ایجاد می کند، دیدن نقاط پایانی و غیره بسیار مفید است.
این در Mac، Windows و توزیعهای مختلف لینوکس در دسترس است. می توانید آن را از اینجا دانلود کنید https://www.wireshark.org/download.html
همچنین برای گرفتن بسته ها باید ChmodBPF را که در جلد دانلود شده موجود است نصب کنید. همچنین می توانید به صورت اختیاری tshark، capinfos، editcap و سایر ابزارهای خط فرمان را با اجرای بسته “Add Wireshark to the system path” به سیستم PATH اضافه کنید.
اولین کاری که باید انجام دهید این است که رابط شبکه ای را که می خواهید برای تجزیه و تحلیل ترافیک شبکه استفاده کنید، انتخاب کنید. هنگامی که Wireshark را باز می کنید، تمام رابط های موجود در دستگاه فعلی شما را شناسایی کرده و آنها را در صفحه اصلی فهرست می کند.
Wireshark یک پیشنمایش سریع از ترافیکی که از هر رابط عبور میکند در حالی که ضبط نمیشود نشان میدهد، همانطور که در زیر نشان داده شده است.
میتوانید بهصورت اختیاری از منوی کشویی سمت راست برای فیلتر کردن رابطهای سیمی، بیسیم و خارجی (آنهایی که در پایین میبینید و به ابزار اضافی نیاز دارند) استفاده کنید.
اگر می خواهید ترافیک بین برنامه های در حال اجرا در یک دستگاه را تجزیه و تحلیل کنید، می توانید رابط حلقه بک (که معمولاً lo0 یا چیزی مشابه نامیده می شود) را انتخاب کنید.
میتوانید روی یک رابط دوبار کلیک کنید تا عکسبرداری را شروع کنید، اما قبل از انجام این کار، اجازه دهید مطمئن شویم که فیلترهای مناسبی داریم.
دو نوع فیلتر وجود دارد، Capture و Display. همانطور که از نام ها پیداست، از فیلترهای Capture برای کاهش تعداد بسته های ضبط شده توسط Wireshark استفاده می شود. آنها قبل از شروع جلسه ضبط تنظیم می شوند و بعد از آن نمی توان آنها را تغییر داد. از سوی دیگر، فیلترهای نمایش برای فیلتر کردن دادههای نشاندادهشده در رابط استفاده میشوند و میتوانند در حین و پس از ضبط نیز تغییر کنند.
Wireshark لیستی از فیلترهای از پیش تعریف شده ذخیره شده در نشانک ها را ارائه می دهد. آنها هم برای شروع با برخی از رایج ترین سناریوها و هم برای آشنایی با نحو فیلترها مفید هستند.
برای فیلترهای نمایشگر، می توانید آنها را از Analyze – Display Filters بررسی کنید.
در حالی که برای فیلترهای Capture، آنها در زیر Capture – Capture Filters قرار دارند.
همانطور که می بینید، نحو بین دو نوع فیلتر کمی متفاوت است. به عنوان مثال، اگر می خواهید ترافیک HTTP را تجزیه و تحلیل کنید، از این به عنوان فیلتر ضبط استفاده می کنید:
tcp port 80
یا فیلتر نمایش معادل:
tcp.port == 80
همچنین می توانید بر اساس محدوده پورت فیلتر کنید، به عنوان مثال:
portrange 5055-5058 or portrange 27000-27003
لیست عبارات ممکن بسیار طولانی است. میتوانید برای فهرست کاملی از گزینههای فیلترهای نمایش، به قسمت Analyze – Display Filter Expression نگاهی بیاندازید، که به شما امکان میدهد فیلتر بسازید.
به خاطر این آموزش و برای مثال واقعی، فرض می کنیم که من در حال حاضر روی یک بازی چند نفره آنلاین کار می کنم. یک کلاینت که روی دستگاه محلی من اجرا می شود، به یک سرور اختصاصی راه دور که میزبان مسابقه است، متصل است. علاوه بر این، مشتری تماسهای RESTful را با یک باطن راه دور برقرار میکند و یک اتصال وب سوکت برای دریافت بهروزرسانیهای زنده از پشت دارد. من می خواهم تمام ترافیک ایجاد شده از بازی خود را در یک جلسه معمولی ضبط کنم تا بعداً آن را تجزیه و تحلیل کنم و با بقیه اعضای تیم به اشتراک بگذارم.
برای انجام این کار، یک فیلتر ضبط جدید به نام «داده بازی» با عبارت زیر تعریف کردم:
udp port [GAME_SERVER_PORT] and host [GAME_SERVER_IP_ADDR] || tcp port 443 and host [BACKEND_URL] || tcp port 443 and host [WEBSOCKET_URL]
بیت اول تمام ترافیک UDP را که از یک درگاه خاص GAME_SERVER_PORT عبور می کند، می گیرد، جایی که آدرس IP میزبان GAME_SERVER_IP_ADDR است. بخش دوم تمام ترافیک HTTPS را می گیرد (هم HTTPS 1.x و هم 2 از TCP استفاده می کنند)، که از BACKEND_URL می آید و می رود. در نهایت، آخرین بخش از فیلتر، ترافیک Websocket فوق الذکر را ضبط می کند.
پس از تنظیم فیلتر ضبط، Capture – Start را انتخاب کنید تا ضبط بسته ها شروع شود.
پس از انجام یک جلسه کامل بازی، می توانم استفاده از Capture – Stop را متوقف کنم و نتایج را تجزیه و تحلیل کنم. از آنجایی که مقدار داده قابل توجه خواهد بود، اعمال فیلترهای نمایش برای کاهش داده های نمایش داده شده به یکباره مفید است.
سپس می توانید با رفتن به File – Save as… عکس را برای بازیابی بعدی و برای تجزیه و تحلیل تاریخی ذخیره کنید.
به طور پیشفرض، Wireshark بستهها را در حالت Promiscuous ضبط میکند، مگر اینکه رابط شبکه یا سیستمعامل اجازه آن را ندهد، یا آن را از Preferences – Capture – «Capture packets in Promiscuous Mode» غیرفعال کنید. وقتی فعال باشد، همه بستههایی که رابط شبکه میتواند ببیند، به جای بستههایی که برای دستگاه شما در نظر گرفته شدهاند، در ضبط گنجانده میشوند.
مکالمات به شما امکان میدهد ترافیکی را که از/به آدرسهای خاص میرود گروهبندی کنید و به شما کمک میکند دادههای ضبط شده خود را درک کنید.
هنگام باز کردن پنجره، می توانید آداپتور یا پروتکل را در بالا انتخاب کنید، سپس لیستی از مکالمات را مشاهده خواهید کرد که شامل مقدار داده ها و بسته ها در هر جهت، میزان بیت، مدت زمان مکالمه و غیره است.
به عنوان مثال، وقتی یک فایل را دانلود میکنم، به نظر میرسد:
از تنظیمات مکالمه در سمت چپ، میتوانید «Resolution نام» را برای مشاهده نامهای حلشده، برخلاف آدرسهای خام انتخاب کنید.
اگر روی یک مکالمه کلیک راست کنید، Wireshark به شما امکان میدهد فیلتری را آماده کنید که مکالمه را در پنجره اصلی ضبط، در هر جهتی که میخواهید تجزیه و تحلیل کنید، نشان میدهد.
پس از اعمال فیلتر، می توانید تمام بسته ها را از پنجره اصلی انتخاب کنید، سپس File – Export Packets Dissections را انتخاب کنید. این به شما امکان می دهد لیست بسته، جزئیات و داده های ساده را در قالب های مختلف مانند JSON، XML، متن ساده یا آرایه C صادر کنید. سپس می توانید داده های دانلود شده را از آنجا بازسازی کنید. همچنین میتوانید از File – Export Objects – HTTP استفاده کنید، سپس Wireshark دادههای ضبط شده را اسکن کرده و به دنبال فایلهایی میگردد که قابل بازسازی و دانلود هستند.
یک راه جایگزین برای دنبال کردن مکالمه این است که یک بسته را از پنجره اصلی انتخاب کنید، سپس کلیک راست کرده و دنبال کردن را انتخاب کنید. بسته به بسته، لیستی از گزینه های پروتکل مانند TCP Stream یا TLS Stream را به شما نشان می دهد. با این کار یک پنجره محاوره ای باز می شود که داده های منتقل شده به عنوان بخشی از آن مکالمه را نشان می دهد (قرمز برای مشتری به سرور، آبی در جهت مخالف).
شما می توانید به صورت اختیاری قالب تجسم داده ها را در پایین تغییر دهید. همچنین یک فیلتر نمایش در پنجره اصلی برای بسته های مربوطه اعمال می کند.
در نهایت، راه دیگری برای جستجوی شروع مکالمات، اعمال یک فیلتر برای بسته های ARP (پروتکل وضوح آدرس) است. آنها برای ایجاد نگاشت یک آدرس IP به آدرس اترنت زیربنایی استفاده می شوند، به همین دلیل اغلب در ابتدای مکالمه یافت می شوند.
همانطور که ممکن است متوجه شده باشید، بسیاری از ترافیک HTTP شما قابل خواندن نخواهد بود. این به این دلیل است که بیشتر ترافیک وب از طریق TLS (امنیت لایه حمل و نقل) انجام می شود. به منظور درک آن، باید آن را رمزگشایی کنید.
روش دقیق انجام این کار بسته به نحوه انتقال داده ها تغییر می کند. اگر از curl استفاده میکنید (همانطور که اکثر موتورهای بازی انجام میدهند)، و برای اکثر مرورگرها، شامل تنظیم متغیر محیطی SSLKEYLOGFILE، سپس اختصاص آن در Preferences – Protocols – TLS، در قسمت (Pre)-Master-Secret log filename است. .
در اینجا میتوانید درباره نحوه مدیریت کرل بیشتر بدانید: https://everything.curl.dev/usingcurl/tls/sslkeylogfile.html
به خاطر داشته باشید که رمزگشایی برخی از داده ها ممکن است مجاز نباشد. به همین دلیل، مطمئن شوید که این کار را فقط در هنگام کار با برنامه ها یا بازی های خود انجام دهید.
در برخی موارد، تلاش Wireshark برای حل آدرسها برای خواناییتر کردن عکسبرداری میتواند مفید باشد. می توانید این کار را از پنجره Preferences – Name Resolution انجام دهید.
علاوه بر روشهای وضوح پیشفرض، میتوانید با استفاده از دکمه ویرایش نشان داده شده، سرورهای DNS اضافی را تعریف کنید. توجه داشته باشید که هنگام حل آدرسهای IP، کوئریهای DNS واقعی ممکن است به ضبط اضافه شوند.
برای درک ترافیک بازی خود، اغلب مفید است که آن را در طول جلسه تجسم کنید و سپس آن را با آنچه در بازی اتفاق می افتد مرتبط کنید.
شما به راحتی می توانید با انتخاب Statistics – I/O Graphs این کار را انجام دهید.
در پایین چند فیلتر از پیش تعیین شده وجود دارد که بر اساس پروتکل ها و داده های موجود در عکسبرداری شما تعریف شده اند. می توانید فیلترهای بیشتری را با استفاده از دکمه Plus تعریف کنید و فاصله زمانی مورد استفاده برای رسم نمودار را تغییر دهید.
این به ویژه هنگام آماده کردن یک بررسی بازی مفید است، و یک نمایش بصری از ترافیک، از جمله افزایشهای احتمالی ارائه میکند. میتوانید با استفاده از دکمه ذخیره بهعنوان… زیر، آن را به صورت PDF صادر کنید.
در حالی که استفاده از رابط کاربری راحت است، مواردی وجود دارد که گرفتن عکس از طریق خط فرمان عملی تر است، به عنوان مثال اگر می خواهید تجزیه و تحلیل شبکه را در خط لوله آزمایش خودکار خود ادغام کنید یا آن را روی یک سرور اختصاصی بدون هد اجرا می کنید.
برای انجام این کار، می توانید از tshark استفاده کنید که با Wireshark نصب شده است. برای راحتی، مطمئن شوید که آن را در حین نصب به PATH خود اضافه کنید.
هنگام اجرای آن بدون پارامتر، tshark ترافیک را از اولین رابط شبکه موجود می گیرد و خلاصه ای از هر بسته را در خروجی استاندارد چاپ می کند.
tshark
میتوانیم یک رابط شبکه را با استفاده از گزینه -i انتخاب کنیم، یک فیلتر ضبط را با استفاده از گزینه -f اعمال کنیم و خروجی را با گزینه -w در یک فیلتر ضبط ذخیره کنیم، همانطور که در زیر نشان داده شده است:
tshark -i en0 -f “tcp port 80” -w ./captures/game_capture.pcap -a duration:600
آخرین پارامتر، -a، مدت زمان (بر حسب ثانیه) را مشخص می کند که پس از آن ضبط متوقف می شود. همچنین می توانید پس از رسیدن اندازه به حد معینی، ضبط را متوقف کنید، برای مثال -a fileize:1000 (در کیلوبایت).
اگر مطمئن نیستید که کدام رابط های شبکه در دسترس هستند، می توانید فهرستی را با انجام زیر چاپ کنید:
tshark -D
در نهایت، می توانید محتوای یک فایل کپچر را با انجام زیر بخوانید:
tshark -r /captures/game_capture.pcap
اینها فقط چند نمونه عملی هستند، اما تقریباً هر ویژگی ارائه شده توسط Wireshark از طریق tshark در دسترس است. لیست کامل پارامترها و ویژگی ها را می توانید در اینجا بیابید: https://www.wireshark.org/docs/man-pages/tshark.html
Wireshark یک تحلیلگر پروتکل شبکه رایگان و منبع باز است که برای ضبط و تجزیه و تحلیل ترافیک شبکه استفاده می شود.
تجزیه و تحلیل میزان ترافیکی که بازی شبکه ای شما در طول گیم پلی ایجاد می کند، دیدن نقاط پایانی و غیره بسیار مفید است.
این در Mac، Windows و توزیعهای مختلف لینوکس در دسترس است. می توانید آن را از اینجا دانلود کنید https://www.wireshark.org/download.html
همچنین برای گرفتن بسته ها باید ChmodBPF را که در جلد دانلود شده موجود است نصب کنید. همچنین می توانید به صورت اختیاری tshark، capinfos، editcap و سایر ابزارهای خط فرمان را با اجرای بسته “Add Wireshark to the system path” به سیستم PATH اضافه کنید.
اولین کاری که باید انجام دهید این است که رابط شبکه ای را که می خواهید برای تجزیه و تحلیل ترافیک شبکه استفاده کنید، انتخاب کنید.
هنگامی که Wireshark را باز می کنید، تمام رابط های موجود در دستگاه فعلی شما را شناسایی کرده و آنها را در صفحه اصلی فهرست می کند.
Wireshark یک پیشنمایش سریع از ترافیکی که از هر رابط عبور میکند در حالی که ضبط نمیشود نشان میدهد، همانطور که در زیر نشان داده شده است.
میتوانید بهصورت اختیاری از منوی کشویی سمت راست برای فیلتر کردن رابطهای سیمی، بیسیم و خارجی (آنهایی که در پایین میبینید و به ابزار اضافی نیاز دارند) استفاده کنید.
اگر می خواهید ترافیک بین برنامه های در حال اجرا در یک دستگاه را تجزیه و تحلیل کنید، می توانید رابط حلقه بک (که معمولاً lo0 یا چیزی مشابه نامیده می شود) را انتخاب کنید.
میتوانید روی یک رابط دوبار کلیک کنید تا عکسبرداری را شروع کنید، اما قبل از انجام این کار، اجازه دهید مطمئن شویم که فیلترهای مناسبی داریم.
دو نوع فیلتر وجود دارد، Capture و Display. همانطور که از نام ها پیداست، از فیلترهای Capture برای کاهش تعداد بسته های ضبط شده توسط Wireshark استفاده می شود. آنها قبل از شروع جلسه ضبط تنظیم می شوند و بعد از آن نمی توان آنها را تغییر داد. از سوی دیگر، فیلترهای نمایش برای فیلتر کردن دادههای نشاندادهشده در رابط استفاده میشوند و میتوانند در حین و پس از ضبط نیز تغییر کنند.
Wireshark لیستی از فیلترهای از پیش تعریف شده ذخیره شده در نشانک ها را ارائه می دهد. آنها هم برای شروع با برخی از رایج ترین سناریوها و هم برای آشنایی با نحو فیلترها مفید هستند.
برای فیلترهای نمایشگر، می توانید آنها را از Analyze – Display Filters بررسی کنید.
در حالی که برای فیلترهای Capture، آنها در زیر Capture – Capture Filters قرار دارند.
همانطور که می بینید، نحو بین دو نوع فیلتر کمی متفاوت است. به عنوان مثال، اگر می خواهید ترافیک HTTP را تجزیه و تحلیل کنید، از این به عنوان فیلتر ضبط استفاده می کنید:
tcp port 80
یا فیلتر نمایش معادل:
tcp.port == 80
همچنین می توانید بر اساس محدوده پورت فیلتر کنید، به عنوان مثال:
portrange 5055-5058 or portrange 27000-27003
لیست عبارات ممکن بسیار طولانی است. میتوانید برای فهرست کاملی از گزینههای فیلترهای نمایش، به قسمت Analyze – Display Filter Expression نگاهی بیاندازید، که به شما امکان میدهد فیلتر بسازید.
به خاطر این آموزش و برای مثال واقعی، فرض می کنیم که من در حال حاضر روی یک بازی چند نفره آنلاین کار می کنم. یک کلاینت که روی دستگاه محلی من اجرا می شود، به یک سرور اختصاصی راه دور که میزبان مسابقه است، متصل است. علاوه بر این، مشتری تماسهای RESTful را با یک باطن راه دور برقرار میکند و یک اتصال وب سوکت برای دریافت بهروزرسانیهای زنده از پشت دارد. من می خواهم تمام ترافیک ایجاد شده از بازی خود را در یک جلسه معمولی ضبط کنم تا بعداً آن را تجزیه و تحلیل کنم و با بقیه اعضای تیم به اشتراک بگذارم.
برای انجام این کار، یک فیلتر ضبط جدید به نام «داده بازی» با عبارت زیر تعریف کردم:
udp port [GAME_SERVER_PORT] and host [GAME_SERVER_IP_ADDR] || tcp port 443 and host [BACKEND_URL] || tcp port 443 and host [WEBSOCKET_URL]
بیت اول تمام ترافیک UDP را که از یک درگاه خاص GAME_SERVER_PORT عبور می کند، می گیرد، جایی که آدرس IP میزبان GAME_SERVER_IP_ADDR است. بخش دوم تمام ترافیک HTTPS را می گیرد (هم HTTPS 1.x و هم 2 از TCP استفاده می کنند)، که از BACKEND_URL می آید و می رود. در نهایت، آخرین بخش از فیلتر، ترافیک Websocket فوق الذکر را ضبط می کند.
پس از تنظیم فیلتر ضبط، Capture – Start را انتخاب کنید تا ضبط بسته ها شروع شود.
پس از انجام یک جلسه کامل بازی، می توانم استفاده از Capture – Stop را متوقف کنم و نتایج را تجزیه و تحلیل کنم. از آنجایی که مقدار داده قابل توجه خواهد بود، اعمال فیلترهای نمایش برای کاهش داده های نمایش داده شده به یکباره مفید است.
سپس می توانید با رفتن به File – Save as… عکس را برای بازیابی بعدی و برای تجزیه و تحلیل تاریخی ذخیره کنید.
به طور پیشفرض، Wireshark بستهها را در حالت Promiscuous ضبط میکند، مگر اینکه رابط شبکه یا سیستمعامل اجازه آن را ندهد، یا آن را از Preferences – Capture – «Capture packets in Promiscuous Mode» غیرفعال کنید. وقتی فعال باشد، همه بستههایی که رابط شبکه میتواند ببیند، به جای بستههایی که برای دستگاه شما در نظر گرفته شدهاند، در ضبط گنجانده میشوند.
مکالمات به شما امکان میدهد ترافیکی را که از/به آدرسهای خاص میرود گروهبندی کنید و به شما کمک میکند دادههای ضبط شده خود را درک کنید.
هنگام باز کردن پنجره، می توانید آداپتور یا پروتکل را در بالا انتخاب کنید، سپس لیستی از مکالمات را مشاهده خواهید کرد که شامل مقدار داده ها و بسته ها در هر جهت، میزان بیت، مدت زمان مکالمه و غیره است.
به عنوان مثال، وقتی یک فایل را دانلود میکنم، به نظر میرسد:
از تنظیمات مکالمه در سمت چپ، میتوانید «Resolution نام» را برای مشاهده نامهای حلشده، برخلاف آدرسهای خام انتخاب کنید.
اگر روی یک مکالمه کلیک راست کنید، Wireshark به شما امکان میدهد فیلتری را آماده کنید که مکالمه را در پنجره اصلی ضبط، در هر جهتی که میخواهید تجزیه و تحلیل کنید، نشان میدهد.
پس از اعمال فیلتر، می توانید تمام بسته ها را از پنجره اصلی انتخاب کنید، سپس File – Export Packets Dissections را انتخاب کنید. این به شما امکان می دهد لیست بسته، جزئیات و داده های ساده را در قالب های مختلف مانند JSON، XML، متن ساده یا آرایه C صادر کنید. سپس می توانید داده های دانلود شده را از آنجا بازسازی کنید. همچنین میتوانید از File – Export Objects – HTTP استفاده کنید، سپس Wireshark دادههای ضبط شده را اسکن کرده و به دنبال فایلهایی میگردد که قابل بازسازی و دانلود هستند.
یک راه جایگزین برای دنبال کردن مکالمه این است که یک بسته را از پنجره اصلی انتخاب کنید، سپس کلیک راست کرده و دنبال کردن را انتخاب کنید. بسته به بسته، لیستی از گزینه های پروتکل مانند TCP Stream یا TLS Stream را به شما نشان می دهد. با این کار یک پنجره محاوره ای باز می شود که داده های منتقل شده به عنوان بخشی از آن مکالمه را نشان می دهد (قرمز برای مشتری به سرور، آبی در جهت مخالف).
شما می توانید به صورت اختیاری قالب تجسم داده ها را در پایین تغییر دهید. همچنین یک فیلتر نمایش در پنجره اصلی برای بسته های مربوطه اعمال می کند.
در نهایت، راه دیگری برای جستجوی شروع مکالمات، اعمال یک فیلتر برای بسته های ARP (پروتکل وضوح آدرس) است. آنها برای ایجاد نگاشت یک آدرس IP به آدرس اترنت زیربنایی استفاده می شوند، به همین دلیل اغلب در ابتدای مکالمه یافت می شوند.
همانطور که ممکن است متوجه شده باشید، بسیاری از ترافیک HTTP شما قابل خواندن نخواهد بود. این به این دلیل است که بیشتر ترافیک وب از طریق TLS (امنیت لایه حمل و نقل) انجام می شود. به منظور درک آن، باید آن را رمزگشایی کنید.
روش دقیق انجام این کار بسته به نحوه انتقال داده ها تغییر می کند. اگر از curl استفاده میکنید (همانطور که اکثر موتورهای بازی انجام میدهند)، و برای اکثر مرورگرها، شامل تنظیم متغیر محیطی SSLKEYLOGFILE، سپس اختصاص آن در Preferences – Protocols – TLS، در قسمت (Pre)-Master-Secret log filename است. .
در اینجا میتوانید درباره نحوه مدیریت کرل بیشتر بدانید: https://everything.curl.dev/usingcurl/tls/sslkeylogfile.html
به خاطر داشته باشید که رمزگشایی برخی از داده ها ممکن است مجاز نباشد. به همین دلیل، مطمئن شوید که این کار را فقط در هنگام کار با برنامه ها یا بازی های خود انجام دهید.
در برخی موارد، تلاش Wireshark برای حل آدرسها برای خواناییتر کردن عکسبرداری میتواند مفید باشد. می توانید این کار را از پنجره Preferences – Name Resolution انجام دهید.
علاوه بر روشهای وضوح پیشفرض، میتوانید با استفاده از دکمه ویرایش نشان داده شده، سرورهای DNS اضافی را تعریف کنید. توجه داشته باشید که هنگام حل آدرسهای IP، کوئریهای DNS واقعی ممکن است به ضبط اضافه شوند.
برای درک ترافیک بازی خود، اغلب مفید است که آن را در طول جلسه تجسم کنید و سپس آن را با آنچه در بازی اتفاق می افتد مرتبط کنید.
شما به راحتی می توانید با انتخاب Statistics – I/O Graphs این کار را انجام دهید.
در پایین چند فیلتر از پیش تعیین شده وجود دارد که بر اساس پروتکل ها و داده های موجود در عکسبرداری شما تعریف شده اند. می توانید فیلترهای بیشتری را با استفاده از دکمه Plus تعریف کنید و فاصله زمانی مورد استفاده برای رسم نمودار را تغییر دهید.
این به ویژه هنگام آماده کردن یک بررسی بازی مفید است، و یک نمایش بصری از ترافیک، از جمله افزایشهای احتمالی ارائه میکند. میتوانید با استفاده از دکمه ذخیره بهعنوان… زیر، آن را به صورت PDF صادر کنید.
در حالی که استفاده از رابط کاربری راحت است، مواردی وجود دارد که گرفتن عکس از طریق خط فرمان عملی تر است، به عنوان مثال اگر می خواهید تجزیه و تحلیل شبکه را در خط لوله آزمایش خودکار خود ادغام کنید یا آن را روی یک سرور اختصاصی بدون هد اجرا می کنید.
برای انجام این کار، می توانید از tshark استفاده کنید که با Wireshark نصب شده است. برای راحتی، مطمئن شوید که آن را در حین نصب به PATH خود اضافه کنید.
هنگام اجرای آن بدون پارامتر، tshark ترافیک را از اولین رابط شبکه موجود می گیرد و خلاصه ای از هر بسته را در خروجی استاندارد چاپ می کند.
tshark
میتوانیم یک رابط شبکه را با استفاده از گزینه -i انتخاب کنیم، یک فیلتر ضبط را با استفاده از گزینه -f اعمال کنیم و خروجی را با گزینه -w در یک فیلتر ضبط ذخیره کنیم، همانطور که در زیر نشان داده شده است:
tshark -i en0 -f "tcp port 80" -w ./captures/game_capture.pcap -a duration:600
آخرین پارامتر، -a، مدت زمان (بر حسب ثانیه) را مشخص می کند که پس از آن ضبط متوقف می شود. همچنین می توانید پس از رسیدن اندازه به حد معینی، ضبط را متوقف کنید، برای مثال -a fileize:1000 (در کیلوبایت).
اگر مطمئن نیستید که کدام رابط های شبکه در دسترس هستند، می توانید فهرستی را با انجام زیر چاپ کنید:
tshark -D
در نهایت، می توانید محتوای یک فایل کپچر را با انجام زیر بخوانید:
tshark -r /captures/game_capture.pcap
اینها فقط چند نمونه عملی هستند، اما تقریباً هر ویژگی ارائه شده توسط Wireshark از طریق tshark در دسترس است. لیست کامل پارامترها و ویژگی ها را می توانید در اینجا بیابید: https://www.wireshark.org/docs/man-pages/tshark.html