| WIRESHARK(1) | WIRESHARK(1) |
نام (NAME)
wireshark - تخلیه و تحلیل تعاملی ترافیک شبکه
خلاصه دستور (SYNOPSIS)
wireshark [ -i <رابط ضبط>|- ] [ -f <فیلتر ضبط> ] [ -Y <فیلتر نمایش> ] [ -w <فایل خروجی> ] [ گزینهها ] [ <فایل ورودی> ]
wireshark -h|--help
wireshark -v|--version
توضیحات (DESCRIPTION)
Wireshark یک تحلیلگر گرافیکی پروتکلهای شبکه است. این ابزار به شما امکان میدهد دادههای بستهها را به صورت تعاملی از یک شبکهٔ زنده یا از یک فایل ضبطشدهٔ قبلی مرور و بررسی کنید. قالبهای بومی فایل ضبط در Wireshark قالبهای pcapng و pcap هستند؛ این ابزار میتواند هر دو قالب را بخواند و بنویسد. قالب pcap همچنین قالبی است که توسط tcpdump و ابزارهای گوناگون دیگر استفاده میشود؛ tcpdump هنگام استفاده از نسخههای جدیدتر کتابخانهٔ libpcap، میتواند برخی از فایلهای pcapng را نیز بخواند، و در نسخههای جدیدتر macOS میتواند همهٔ فایلهای pcapng را بخواند و همچنین در آنها بنویسد.
Wireshark همچنین میتواند قالبهای فایل زیر را بخواند / وارد کند:
نیازی نیست به Wireshark بگویید چه نوع فایلی را میخوانید؛ این برنامه نوع فایل را خودبهخود تشخیص خواهد داد. Wireshark همچنین در صورتی که فایلها با gzip، LZ4 یا Zstandard فشرده شده باشند، مشروط بر اینکه با پشتیبانی مناسب کامپایل شده باشد، قادر به خواندن هر یک از این قالبهای فایلی است. Wireshark این موضوع را مستقیماً از روی فایل تشخیص میدهد؛ برای این منظور نیازی به پسوند '.gz' یا پسوندهای دیگر نیست.
همانند سایر تحلیلگرهای پروتکل، پنجره اصلی Wireshark ۳ نما از یک بسته را نشان میدهد. این پنجره یک خط خلاصه را نمایش میدهد که به اختصار توضیح میدهد بسته چیست. یک بخش جزئیات بسته نمایش داده میشود که به شما امکان میدهد تا پروتکل یا فیلد دقیق مورد نظرتان را به تفصیل بررسی کنید. در نهایت، یک تخلیه هگز (hex dump) دقیقاً به شما نشان میدهد که بسته هنگام عبور از سیم (ارسال در شبکه) چه شکلی دارد.
علاوه بر این، Wireshark ویژگیهایی دارد که آن را منحصربهفرد میسازد. این برنامه میتواند تمام بستههای یک مکالمه TCP را سرهم کرده و دادههای ASCII (یا EBCDIC یا هگز) آن مکالمه را به شما نشان دهد. فیلترهای نمایشی در Wireshark بسیار قدرتمند هستند؛ فیلدهای بیشتری در Wireshark نسبت به سایر تحلیلگرهای پروتکل قابل فیلتر شدن هستند و ساختار نحوی مورد استفاده برای ایجاد فیلترها غنیتر است. با پیشرفت Wireshark، انتظار میرود فیلدهای پروتکلی بیشتر و بیشتری در فیلترهای نمایشی مجاز شوند.
گرفتن بستهها با کتابخانه pcap انجام میشود. ساختار نحوی فیلتر دریافت، از قوانین کتابخانه pcap پیروی میکند. این ساختار نحوی با ساختار نحوی فیلتر نمایشی متفاوت است.
پشتیبانی از فایلهای فشرده از کتابخانه zlib استفاده میکند (و در نتیجه به آن نیاز دارد). اگر کتابخانه zlib وجود نداشته باشد، Wireshark کامپایل خواهد شد، اما قادر به خواندن فایلهای فشرده نخواهد بود.
مسیر فایل ضبطشدهای که باید خوانده شود را میتوان با گزینه -r یا به عنوان یک آرگومان خط فرمان مشخص کرد.
گزینهها (OPTIONS)
Wireshark از گزینههای خط فرمان متنوعی پشتیبانی میکند. بیشتر کاربران مایلند آن را بدون هیچ گزینهای اجرا کرده و در عوض آن را از طریق منوهای برنامه پیکربندی کنند. این دسته از کاربران ممکن است تمایل داشته باشند از این بخش صرفنظر کنند.
-a|--autostop <capture autostop condition>
معیاری را مشخص میکند که زمان توقف نوشتن Wireshark در فایل ضبط را تعیین میکند. این معیار به صورت test:value است، که در آن test یکی از موارد زیر است:
duration:value نوشتن در فایل ضبط را پس از گذشت value ثانیه متوقف میکند. مقادیر ممیز شناور (مانند 0.5) مجاز هستند.
files:value نوشتن در فایلهای ضبط را پس از نوشته شدن value فایل متوقف میکند.
filesize:value نوشتن در فایل ضبط را پس از رسیدن حجم آن به value کیلوبایت متوقف میکند. اگر این گزینه همراه با گزینه -b استفاده شود، با رسیدن به این اندازه، Wireshark نوشتن در فایل ضبط فعلی را متوقف کرده و به فایل بعدی منتقل میشود. توجه داشته باشید که حداکثر اندازه فایل به 2 ترابایت محدود است، اگرچه ممکن است قبل از رسیدن به این اندازه، در صورت فراتر رفتن تعداد بستهها از 231 (2147483648)، در مشاهده فایل در رابط گرافیکی با مشکل مواجه شوید.
packets:value نوشتن در فایل ضبط را پس از اینکه شامل value بسته شد متوقف میکند. عملکردی مشابه -c<capture packet count> دارد.
-b|--ring-buffer <capture ring buffer option>
باعث میشود Wireshark در حالت «چند فایلی» اجرا شود. در حالت «چند فایلی»، Wireshark در چندین فایل ضبط مینویسد. هنگامی که نخستین فایل ضبط پر شود، Wireshark نوشتن را به فایل بعدی منتقل میکند و به همین ترتیب ادامه میدهد.
نام فایلهای ایجادشده بر اساس نام فایل ارائهشده با پرچم -w، شماره فایل و تاریخ و زمان ایجاد است؛ مانند outfile_00001_20260714120117.pcap، outfile_00002_20260714120523.pcap، ...
با گزینه files همچنین امکان تشکیل یک «بافر حلقهای» وجود دارد. این کار فایلهای جدید را تا رسیدن به تعداد فایل مشخصشده پر میکند، که در آن نقطه Wireshark دادههای فایل اول را دور ریخته و شروع به نوشتن در آن فایل میکند و به همین ترتیب ادامه میدهد. اگر گزینه files تنظیم نشده باشد، فایلهای جدید تا زمانی که یکی از شرایط توقف ضبط برقرار شود (یا دیسک پر شود) پر خواهند شد.
این معیار به صورت key:value است، که در آن key یکی از موارد زیر است:
duration:value پس از سپری شدن value ثانیه، به فایل بعدی منتقل میشود، حتی اگر فایل فعلی کاملاً پر نشده باشد. مقادیر ممیز شناور (مانند 0.5) مجاز هستند.
files:value پس از اینکه تعداد value فایل نوشته شد، دوباره از فایل اول شروع میکند (یک بافر حلقهای تشکیل میدهد). این مقدار باید کمتر از ۱۰۰۰۰۰ باشد. در صورت استفاده از تعداد زیادی فایل باید احتیاط کرد: برخی از سیستمهای فایل، تعداد زیادی فایل را در یک پوشه واحد به خوبی مدیریت نمیکنند. معیار files نیازمند این است که یکی از معیارهای دیگر نیز برای کنترل زمان انتقال به فایل بعدی تعیین شود. لازم به ذکر است که هر پارامتر -b دقیقاً یک معیار میگیرد؛ برای تعیین دو معیار، هر کدام باید با یک گزینه -b همراه باشند.
filesize:value پس از رسیدن اندازه فایل به value کیلوبایت، به فایل بعدی منتقل میشود. توجه داشته باشید که اندازه فایل به حداکثر مقدار 2 ترابایت محدود است، اگرچه ممکن است قبل از آن، در صورتی که تعداد بستهها از 231 (2147483648) فراتر رود، در مشاهده فایل در رابط گرافیکی با مشکل روبهرو شوید.
interval:value هنگامی که زمان مضرب دقیقی از value ثانیه باشد، به فایل بعدی منتقل میشود.
packets:value پس از اینکه فایل شامل value بسته شد، به فایل بعدی منتقل میشود.
مثال: -b filesize:1000 -b files:5 منجر به ایجاد یک بافر حلقهای متشکل از پنج فایل با حجم هر یک یک مگابایت میشود.
-B|--buffer-size <capture buffer size>
اندازه بافر ضبط را تعیین میکند (به مبیبایت، پیشفرض ۲ مبیبایت است). این گزینه توسط درایور ضبط برای بافر کردن دادههای بسته استفاده میشود تا زمانی که بتوان دادهها را روی دیسک نوشت. اگر در حین ضبط با افت بسته (packet drop) مواجه شدید، این اندازه را افزایش دهید. توجه داشته باشید در حالی که Wireshark به طور پیشفرض تلاش میکند اندازه بافر را روی ۲ مبیبایت تنظیم کند و میتوان آن را روی مقداری بزرگتر تنظیم کرد، سیستم یا رابطی که روی آن در حال ضبط هستید ممکن است بدون اعلان، اندازه بافر ضبط را به مقدار کمتری محدود کرده یا به مقدار بالاتری افزایش دهد.
این قابلیت در سیستمهای سازگار با UNIX، مانند Linux، macOS، \*BSD، Solaris و AIX با libpcap نسخه 1.0.0 یا بالاتر، و همچنین در Windows در دسترس است. در سیستمهای سازگار با UNIX با نسخههای قدیمیتر libpcap در دسترس نیست.
این گزینه میتواند چندین بار تکرار شود. اگر قبل از اولین استفاده از گزینه -i به کار رود، اندازه پیشفرض بافر ضبط را تعیین میکند. اگر پس از یک گزینه -i استفاده شود، اندازه بافر ضبط را برای رابطی که توسط آخرین گزینه -i پیش از این گزینه مشخص شده است تعیین میکند. اگر اندازه بافر ضبط به صورت صریح تعیین نشده باشد، اندازه پیشفرض بافر ضبط به جای آن استفاده میشود.
-c <capture packet count>
حداکثر تعداد بستهها برای خواندن در هنگام ضبط زنده دادهها را تعیین میکند. عملکردی مشابه -a packets:<capture packet count> دارد.
-C <configuration profile>
برنامه را با پروفایل پیکربندی دادهشده اجرا میکند. --capture-comment <comment>
هنگام انجام ضبط در یک فایل از طریق خط فرمان، همراه با پرچم -k، در صورت پشتیبانی قالب ضبط، یک یادداشت ضبط به فایل خروجی اضافه میکند.
این گزینه میتواند چندین بار مشخص شود. توجه داشته باشید که Wireshark در حال حاضر تنها اولین یادداشت یک فایل ضبط را نمایش میدهد.
-D|--list-interfaces
فهرستی از رابطهایی که Wireshark میتواند روی آنها به ضبط بپردازد را چاپ کرده و خارج میشود. برای هر رابط شبکه، یک شماره و یک نام رابط، که احتمالاً با یک شرح متنی از رابط همراه است، چاپ میشود. نام رابط یا شماره را میتوان به پرچم -i داد تا رابطی که باید روی آن ضبط انجام شود مشخص گردد. استفاده از شماره در سیستمهای Windows میتواند مفید باشد، جایی که رابطها نامهای طولانی دارند که معمولاً حاوی یک GUID است.
--display <X display to use>
نمایشگر X مورد استفاده را مشخص میکند. یک نام میزبان و صفحه نمایش (otherhost:0.0) یا تنها یک صفحه نمایش (:0.0) میتواند مشخص شود. این گزینه در macOS یا Windows در دسترس نیست.
-f <capture filter>
عبارت فیلتر ضبط را تنظیم میکند.
این گزینه میتواند چندین بار به کار رود. اگر پیش از اولین استفاده از گزینه -i استفاده شود، عبارت فیلتر ضبط پیشفرض را تعیین میکند. اگر پس از یک گزینه -i به کار رود، عبارت فیلتر ضبط را برای رابطی که توسط آخرین گزینه -i پیش از این گزینه تعیین شده تنظیم میکند. اگر عبارت فیلتر ضبط به طور مشخص تعیین نشده باشد، در صورت وجود از عبارت فیلتر ضبط پیشفرض استفاده میشود.
نامهای از پیش تعریفشده فیلتر ضبط، همانطور که در مورد منوی گرافیکی Capture→Capture Filters نشان داده شدهاند، میتوانند با افزودن پیشوند "predef:" به آرگومان مورد استفاده قرار گیرند. مثال: -f "predef:MyPredefinedHostOnlyFilter"
-F <file format>
این گزینه از تمام قالبهایی که Wireshark میتواند یک فایل را به آنها تبدیل کند پشتیبانی نمیکند؛ این امر به دلایل امنیتی عامدانه است. در قالبی پشتیبانیشده ضبط کنید و سپس در صورت تمایل فایل را با قالبی دیگر ذخیره نمایید.
--fullscreen
اجرای Wireshark در حالت تمامصفحه (حالت کیوسک). برای خروج از حالت تمامصفحه، منوی View را باز کرده و گزینه Full Screen را انتخاب کنید. به عنوان راه دیگر، کلید F11 (یا Ctrl + Cmd + F برای macOS) را فشار دهید.
-g <packet number>
-h|--help
-H
-i|--interface <capture interface>|-
نام رابط شبکه یا پایپی را که برای ضبط زنده بستهها استفاده میشود تعیین میکند.
نامهای رابط شبکه باید با یکی از نامهای فهرستشده در «wireshark -D» (توضیح داده شده در بالا) مطابقت داشته باشند؛ همچنین یک شماره، همانطور که توسط «tshark -D» گزارش میشود، میتواند مورد استفاده قرار گیرد.
اگر هیچ رابطی مشخص نشود، Wireshark فهرست رابطها را جستجو میکند؛ در صورتی که هر رابط غیر loopback وجود داشته باشد اولین مورد را انتخاب میکند، و اگر هیچ رابط غیر loopback وجود نداشته باشد اولین رابط loopback را برمیگزیند. اگر اصلاً هیچ رابطی وجود نداشته باشد، Wireshark خطایی گزارش کرده و ضبط را آغاز نمیکند.
نامهای پایپ باید یا نام یک FIFO (پایپ نامگذاریشده) باشد یا «-» برای خواندن دادهها از ورودی استاندارد. در سیستمهای Windows، نامهای پایپ باید به صورت «\\.\pipe\pipename» باشند. دادههای خواندهشده از پایپها باید در قالب استاندارد pcapng یا pcap باشند. دادههای pcapng باید ترتیبی از بایتها (endianness) یکسان با میزبان ضبطکننده داشته باشند.
این گزینه میتواند چندین بار تکرار شود. هنگام ضبط از چندین رابط، فایل ضبط با قالب pcapng ذخیره خواهد شد.
-I|--monitor-mode
رابط را در «حالت پایش» (monitor mode) قرار میدهد؛ این قابلیت تنها روی رابطهای Wi-Fi با استاندارد IEEE 802.11 و تنها در برخی سیستمهای عامل پشتیبانی میشود.
توجه داشته باشید که در حالت پایش، آداپتور ممکن است اتصال خود را با شبکهای که به آن متصل است قطع کند، به طوری که قادر نخواهید بود با آن آداپتور از هیچ شبکه بیسیمی استفاده کنید. این امر در صورتی که در حالت پایش مشغول ضبط باشید و با آداپتور دیگری به شبکه متصل نباشید، میتواند از دسترسی به فایلهای روی یک سرور شبکه یا تحلیل نامهای میزبان یا نشانیهای شبکه جلوگیری کند.
این گزینه میتواند چندین بار تکرار شود. اگر پیش از اولین استفاده از گزینه -i به کار رود، حالت پایش را برای تمام رابطها فعال میکند. اگر پس از یک گزینه -i به کار رود، حالت پایش را برای رابطی که توسط آخرین گزینه -i پیش از این گزینه تعیین شده فعال میسازد.
-j
-J <jump filter>
پس از خواندن یک فایل ضبط با استفاده از پرچم -r، به بستهای که با فیلتر مطابقت دارد پرش میکند (نحوه نگارش فیلتر نمایش). اگر هیچ تطابق دقیقی یافت نشود، اولین بسته پس از آن انتخاب میشود.
-k
نشست ضبط را بلافاصله آغاز میکند. اگر پرچم -i مشخص شده باشد، ضبط از رابط مشخصشده استفاده میکند. در غیر این صورت، Wireshark فهرست رابطها را جستجو کرده و در صورت وجود هر رابط غیر loopback، اولین مورد را انتخاب میکند و در صورت نبود رابطهای غیر loopback، اولین رابط loopback را برمیگزیند؛ اگر هیچ رابطی نباشد، Wireshark خطایی گزارش داده و ضبط را آغاز نمیکند.
-l
-L|--list-data-link-types
--list-time-stamp-types
--no-optimize
-o <preference/recent setting>
یک مقدار ترجیحات (preference) یا تنظیمات اخیر (recent) را تنظیم میکند، که مقدار پیشفرض و هر مقداری که از فایل preference/recent خوانده شده است را بازنویسی مینماید. آرگومان این پرچم رشتهای به صورت prefname:value است، که در آن prefname نام مقدار preference/recent (همان نامی که در فایل preference/recent ظاهر میشود) و value مقداری است که باید روی آن تنظیم شود. از نسخهٔ Ethereal 0.10.12 به بعد، تنظیمات recent جایگزین پرچمهای پیشین -B، -P و -T برای تغییر ابعاد رابط کاربری گرافیکی (GUI) شده است.
اگر prefname برابر با "uat" باشد، میتوانید با استفاده از قالب "uat:uat filename:uat record" تنظیمات موجود در جدولهای مختلف دسترسی کاربر (UAT) را بازنویسی کنید. uat filename باید نام یک فایل UAT باشد، برای نمونه user_dlts. مقدار uat_record باید در قالب یک رکورد معتبر برای آن فایل باشد، از جمله علامتهای نقلقول. برای نمونه، جهت تعیین یک DLT کاربری از خط فرمان، میتوانید از دستور زیر استفاده کنید:
-o "uat:user_dlts:\"User 0 (DLT=147)\",\"cops\",\"0\",\"\",\"0\",\"\""
-p|--no-promiscuous-mode
رابط را در حالت بیقید (promiscuous mode) قرار ندهد. توجه داشته باشید که ممکن است رابط به دلیل دیگری در حالت promiscuous باشد؛ بنابراین، نمیتوان از -p برای اطمینان از اینکه تنها ترافیک ضبطشده ترافیک ارسالی به یا از ماشینی است که Wireshark روی آن اجرا میشود، ترافیک پخشی (broadcast) و ترافیک چندپخشی (multicast) به آدرسهای دریافت شده توسط آن ماشین است، استفاده کرد.
این گزینه میتواند چندین بار تکرار شود. اگر پیش از نخستین رخداد گزینهٔ -i استفاده شود، هیچ رابطی در حالت promiscuous قرار نخواهد گرفت. اگر پس از یک گزینهٔ -i استفاده شود، رابط مشخصشده توسط آخرین گزینهٔ -i پیش از این گزینه، در حالت promiscuous قرار نمیگیرد.
-P <path setting>
تنظیمات ویژهٔ مسیر که معمولاً به صورت خودکار شناسایی میشوند. این گزینه برای حالتهای خاص به کار میرود، مانند اجرای Wireshark از مکانی مشخص روی یک فلش مموری USB.
معیار به صورت key:path است، که در آن key یکی از موارد زیر است:
persconf:path مسیر فایلهای پیکربندی شخصی، مانند فایلهای ترجیحات (preferences).
persdata:path مسیر فایلهای دادههای شخصی؛ پوشهای است که در ابتدا باز میشود. پس از نخستین مقداردهی اولیه، فایل recent آخرین پوشهٔ استفادهشده را نگهداری خواهد کرد.
-r|--read-file <infile>
دادههای بستهها را از infile میخواند، که میتواند هر قالب فایل ضبط پشتیبانیشدهای باشد (شامل فایلهای فشردهشده). برخلاف TShark، در اینجا استفاده از لولههای نامگذاریشده (named pipes) یا stdin امکانپذیر نیست! برای ضبط از یک pipe یا از stdin، از -i - استفاده کنید.
-R|--read-filter <read (display) filter>
هنگام خواندن یک فایل ضبط مشخصشده با پرچم -r، باعث میشود که فیلتر مشخصشده (که به جای نحو فیلترهای ضبط، از نحو فیلترهای نمایش استفاده میکند) روی تمام بستههای خواندهشده از فایل ضبط اعمال شود؛ بستههایی که با فیلتر مطابقت ندارند دور ریخته میشوند.
-s|--snapshot-length <capture snaplen>
طول اسنپشات (snapshot length) پیشفرض را هنگام ضبط دادههای زنده تنظیم میکند. بیش از snaplen بایت از هر بستهٔ شبکه در حافظه خوانده نخواهد شد، یا روی دیسک ذخیره نمیگردد. مقدار 0 طول اسنپشات را برابر با 262144 مشخص میکند، تا بسته به طور کامل ضبط شود؛ این مقدار پیشفرض است.
این گزینه میتواند چندین بار تکرار شود. اگر پیش از نخستین رخداد گزینهٔ -i استفاده شود، طول اسنپشات پیشفرض را تنظیم میکند. اگر پس از یک گزینهٔ -i استفاده شود، طول اسنپشات را برای رابط مشخصشده توسط آخرین گزینهٔ -i پیش از این گزینه تنظیم میکند. اگر طول اسنپشات به طور مشخص تعیین نشده باشد، در صورت وجود طول اسنپشات پیشفرض، از آن استفاده میشود.
-S
--temp-dir <directory>
دایرکتوریای را مشخص میکند که فایلهای موقت (شامل فایلهای ضبط) باید در آن نوشته شوند. رفتار پیشفرض در سیستمهای سازگار با یونیکس، مانند Linux، macOS، \*BSD، Solaris و AIX، استفاده از متغیر محیطی $TMPDIR در صورت تنظیم بودن، و پیشفرض سیستم، معمولاً /tmp، در صورت عدم تنظیم است. در Windows، از متغیر محیطی %TEMP% استفاده میشود که معمولاً پیشفرض آن %USERPROFILE%\AppData\Local\Temp است.
--time-stamp-type <type>
--update-interval <interval>
-v|--version
-w <outfile>
-X <eXtension options>
گزینهای را برای ارسال به یک ماژول Wireshark مشخص میکند. گزینهٔ افزونه (eXtension) به صورت extension_key:value است، که در آن extension_key میتواند یکی از موارد زیر باشد:
lua_script:lua_script_filename به Wireshark اعلام میکند که اسکریپت دادهشده را علاوهبر اسکریپتهای پیشفرض Lua بارگیری کند.
lua_scriptnum:argument به Wireshark اعلام میکند که آرگومان دادهشده را به اسکریپت lua مشخصشده با 'num' ارسال کند، که شمارهٔ ترتیب نمایهای دستور 'lua_script' است. برای مثال، اگر فقط یک اسکریپت با '-X lua_script:my.lua' بارگیری شده باشد، آنگاه '-X lua_script1:foo' رشتهٔ 'foo' را به اسکریپت 'my.lua' ارسال میکند. اگر دو اسکریپت بارگیری شده باشند، مانند '-X lua_script:my.lua' و '-X lua_script:other.lua' به همان ترتیب، آنگاه '-X lua_script2:bar' رشتهٔ 'bar' را به اسکریپت دوم lua، یعنی 'other.lua'، ارسال خواهد کرد.
read_format:file_format به Wireshark اعلام میکند که از قالب فایل دادهشده برای خواندن فایل (فایل ارائهشده در گزینهٔ دستور -r) استفاده کند.
stdin_descr:description به Wireshark اعلام میکند که هنگام ضبط از ورودی استاندارد (-i -) از شرح دادهشده استفاده کند.
-y|--linktype <capture link type>
اگر یک ضبط از خط فرمان با -k آغاز شود، نوع پیوند داده (data link type) مورد استفاده در هنگام ضبط بستهها را تنظیم میکند. مقادیر گزارششده توسط -L مقادیری هستند که میتوان از آنها استفاده کرد.
این گزینه میتواند چندین بار تکرار شود. اگر پیش از نخستین رخداد گزینهٔ -i استفاده شود، نوع پیوند ضبط پیشفرض را تنظیم میکند. اگر پس از یک گزینهٔ -i استفاده شود، نوع پیوند ضبط را برای رابط مشخصشده توسط آخرین گزینهٔ -i پیش از این گزینه تنظیم میکند. اگر نوع پیوند ضبط به طور مشخص تعیین نشده باشد، در صورت ارائه، نوع پیوند ضبط پیشفرض به کار میرود.
-Y|--display-filter <displaY filter>
-z <statistics>
برخی از آمارهای پیادهسازیشدهٔ کنونی عبارتند از:
-z help
-z afp,srt[,filter]
نمایش آمارهای زمان پاسخگویی سرویس (SRT) پروتکل Apple Filing Protocol.
-z conv,type[,filter]
جدولی ایجاد میکند که تمام گفتگوهای مشاهدهشده در ترافیک ضبطشده را فهرست میکند. type نوع نقاط پایانی گفتگویی را که میخواهیم آمار برای آنها تولید شود مشخص میکند؛ مواردی که در حال حاضر پشتیبانی میشوند عبارتند از:
"eth" نشانیهای Ethernet "fc" نشانیهای Fibre Channel "fddi" نشانیهای FDDI "ip" نشانیهای IPv4 "ipv6" نشانیهای IPv6 "ipx" نشانیهای IPX "tcp" جفتسوکتهای TCP/IP از هر دو IPv4 و IPv6 پشتیبانی میشود "tr" نشانیهای Token Ring "udp" جفتسوکتهای UDP/IP از هر دو IPv4 و IPv6 پشتیبانی میشود
اگر filter اختیاری مشخص شده باشد، تنها بستههایی که با فیلتر مطابقت دارند در محاسبات استفاده خواهند شد.
این جدول با یک سطر برای هر گفتگو ارائه میشود و تعداد بستهها/بایتها را در هر جهت و همچنین تعداد کل بستهها/بایتها را نمایش میدهد. بهطور پیشفرض، جدول بر اساس تعداد کل بستهها مرتب میشود.
این جدولها را همچنین میتوان در زمان اجرا با انتخاب نوع گفتگوی مناسب از منوی «Tools/Statistics/Conversation List/» ایجاد کرد.
-z dcerpc,srt,name-or-uuid,major.minor[,filter]
جمعآوری دادههای SRT (زمان پاسخ سرویس) فراخوانی/پاسخ برای رابط DCERPC با نام name یا شناسهٔ uuid، نسخهٔ major.minor. دادههای جمعآوریشده شامل تعداد فراخوانیها برای هر رویه، MinSRT، MaxSRT و AvgSRT است. نام رابط (name) و uuid به بزرگی و کوچکی حروف حساس نیستند.
مثال: دستور -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0 دادهها را برای رابط CIFS SAMR جمعآوری خواهد کرد.
این گزینه را میتوان چندین بار در خط فرمان استفاده کرد.
اگر filter اختیاری مشخص شود، آمارها تنها برای فراخوانیهایی محاسبه میشوند که با آن فیلتر مطابقت داشته باشند.
مثال: دستور -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0,ip.addr==1.2.3.4 آمارهای SRT پروتکل SAMR را برای یک میزبان مشخص جمعآوری میکند.
-z dhcp,stat[,filter]
-z expert
-z fc,srt[,filter]
جمعآوری دادههای SRT (زمان پاسخ سرویس) فراخوانی/پاسخ برای FC. دادههای جمعآوریشده شامل تعداد فراخوانیها برای هر دستور Fibre Channel، و همچنین MinSRT، MaxSRT و AvgSRT است.
مثال: -z fc,srt زمان پاسخ سرویس را بهعنوان اختلاف زمانی بین نخستین بستهٔ تبادل و آخرین بستهٔ تبادل محاسبه خواهد کرد.
دادهها بهصورت جدولهای جداگانه برای تمام دستورهای عادی FC ارائه خواهند شد؛ تنها دستورهایی که در دادههای ضبطشده دیده شوند آمارشان نمایش داده میشود.
این گزینه را میتوان چندین بار در خط فرمان استفاده کرد.
اگر filter اختیاری مشخص شود، آمارها تنها برای فراخوانیهایی محاسبه میشوند که با آن فیلتر مطابقت داشته باشند.
مثال: دستور -z "fc,srt,fc.id==01.02.03" آمار را تنها برای بستههای FC مبادلهشده توسط میزبان با نشانی FC به شمارهٔ 01.02.03 جمعآوری میکند.
-z h225,counter[,filter]
شمارش پیامهای ITU-T H.225 و دلایل آنها. در ستون اول، فهرستی از پیامهای H.225 و دلایل پیام H.225 که در فایل ضبط کنونی رخ دادهاند نمایش مییابد. تعداد رخدادهای هر پیام یا دلیل در ستون دوم نشان داده میشود.
مثال: -z h225,counter
این گزینه را میتوان چندین بار در خط فرمان استفاده کرد.
اگر filter اختیاری مشخص شود، آمارها تنها برای فراخوانیهایی محاسبه میشوند که با آن فیلتر مطابقت داشته باشند.
مثال: دستور -z "h225,counter,ip.addr==1.2.3.4" آمار را تنها برای بستههای H.225 مبادلهشده توسط میزبان با نشانی IP به شمارهٔ 1.2.3.4 جمعآوری میکند.
-z h225,srt[,filter]
جمعآوری دادههای SRT (زمان پاسخ سرویس) درخواست/پاسخ برای ITU-T H.225 RAS. دادههای جمعآوریشده شامل تعداد فراخوانیهای هر نوع پیام ITU-T H.225 RAS، کمترین زمان پاسخ (Minimum SRT)، بیشترین زمان پاسخ (Maximum SRT)، میانگین زمان پاسخ (Average SRT)، حداقل در بسته (Minimum in Packet) و حداکثر در بسته (Maximum in Packet) است. همچنین تعداد درخواستهای باز (درخواستهای بدون پاسخ)، پاسخهای دور انداختهشده (پاسخهای بدون درخواست منطبق) و پیامهای تکراری را نمایش میدهد.
مثال: -z h225,srt
این گزینه را میتوان چندین بار در خط فرمان استفاده کرد.
اگر filter اختیاری مشخص شود، آمارها تنها برای فراخوانیهایی محاسبه میشوند که با آن فیلتر مطابقت داشته باشند.
مثال: دستور -z "h225,srt,ip.addr==1.2.3.4" آمار را تنها برای بستههای ITU-T H.225 RAS مبادلهشده توسط میزبان با نشانی IP به شمارهٔ 1.2.3.4 جمعآوری میکند.
-z io,stat
جمعآوری آمارهای بسته/بایت برای ترافیک ضبطشده در بازههای زمانی ۱ ثانیهای. این گزینه پنجرهای با حداکثر ۵ نمودار رنگی باز میکند که در آن آمارهای تعداد بستهها در ثانیه یا تعداد بایتها در ثانیه قابل محاسبه و نمایش هستند.
این گزینه را میتوان چندین بار در خط فرمان استفاده کرد.
این پنجرهٔ نمودار را همچنین میتوان از طریق آیتم منوی Analyze:Statistics:Traffic:IO-Stat باز کرد.
-z ldap,srt[,filter]
جمعآوری دادههای SRT (زمان پاسخ سرویس) فراخوانی/پاسخ برای LDAP. دادههای جمعآوریشده شامل تعداد فراخوانیها برای هر دستور پیادهسازیشدهٔ LDAP، و همچنین MinSRT، MaxSRT و AvgSRT است.
مثال: -z ldap,srt زمان پاسخ سرویس را بهعنوان اختلاف زمانی بین درخواست و پاسخ محاسبه خواهد کرد.
دادهها بهصورت جدولهای جداگانه برای تمام دستورهای پیادهسازیشدهٔ LDAP ارائه خواهند شد؛ تنها دستورهایی که در ترافیک ضبطشده دیده شوند آمارشان نمایش داده میشود.
این گزینه را میتوان چندین بار در خط فرمان استفاده کرد.
اگر filter اختیاری مشخص شود، آمارها تنها برای فراخوانیهایی محاسبه میشوند که با آن فیلتر مطابقت داشته باشند.
مثال: استفاده از -z "ldap,srt,ip.addr==10.1.1.1" آمار را تنها برای بستههای LDAP مبادلهشده توسط میزبان با نشانی IP به شمارهٔ 10.1.1.1 جمعآوری میکند..sp تنها دستورات LDAP که در حال حاضر پیادهسازی شدهاند و آمار آنها در دسترس خواهد بود عبارتند از: BIND SEARCH MODIFY ADD DELETE MODRDN COMPARE EXTENDED
-z megaco,srt[,filter]
جمعآوری دادههای SRT (زمان پاسخدهی به سرویس یا Service Response Time) درخواست/پاسخ برای MEGACO. (این مورد مشابه -z smb,srt است). دادههای جمعآوریشده عبارتند از تعداد فراخوانیها برای هر دستور شناختهشدهٔ MEGACO، حداقل SRT، حداکثر SRT و میانگین SRT.
مثال: -z megaco,srt
این گزینه میتواند چندین بار در خط فرمان استفاده شود.
اگر فیلتر اختیاری filter مشخص شود، آمار تنها برای فراخوانیهایی محاسبه خواهد شد که با آن فیلتر مطابقت دارند.
مثال: -z "megaco,srt,ip.addr==1.2.3.4" آمار را تنها برای بستههای MEGACO مبادلهشده توسط میزبان با نشانی IP برابر 1.2.3.4 جمعآوری میکند.
-z mgcp,srt[,filter]
جمعآوری دادههای SRT (زمان پاسخدهی به سرویس یا Service Response Time) درخواست/پاسخ برای MGCP. (این مورد مشابه -z smb,srt است). دادههای جمعآوریشده عبارتند از تعداد فراخوانیها برای هر نوع شناختهشدهٔ MGCP، حداقل SRT، حداکثر SRT و میانگین SRT.
مثال: -z mgcp,srt
این گزینه میتواند چندین بار در خط فرمان استفاده شود.
اگر فیلتر اختیاری filter مشخص شود، آمار تنها برای فراخوانیهایی محاسبه خواهد شد که با آن فیلتر مطابقت دارند.
مثال: -z "mgcp,srt,ip.addr==1.2.3.4" آمار را تنها برای بستههای MGCP مبادلهشده توسط میزبان با نشانی IP برابر 1.2.3.4 جمعآوری میکند.
-z mtp3,msus[,<filter>]
-z multicast,stat[,<filter>]
-z rpc,programs
جمعآوری دادههای SRT فراخوانی/پاسخ برای تمامی برنامهها/نسخههای شناختهشدهٔ ONC-RPC. دادههای جمعآوریشده عبارتند از تعداد فراخوانیها برای هر پروتکل/نسخه، MinSRT، MaxSRT و AvgSRT.
-z rpc,srt,name-or-number,version[,<filter>]
جمعآوری دادههای SRT (زمان پاسخدهی به سرویس یا Service Response Time) فراخوانی/پاسخ برای برنامهٔ name/version یا number/version. دادههای جمعآوریشده عبارتند از تعداد فراخوانیها برای هر رویه، MinSRT، MaxSRT و AvgSRT. نام برنامه (name) به بزرگی یا کوچکی حروف حساس نیست.
مثال: -z rpc,srt,100003,3 دادهها را برای NFS v3 جمعآوری خواهد کرد.
این گزینه میتواند چندین بار در خط فرمان استفاده شود.
اگر فیلتر اختیاری filter مشخص شود، آمار تنها برای فراخوانیهایی محاسبه خواهد شد که با آن فیلتر مطابقت دارند.
مثال: -z rpc,srt,nfs,3,nfs.fh.hash==0x12345678 آمار SRT پروتکل NFS v3 را برای فایلی مشخص جمعآوری میکند.
-z scsi,srt,cmdset[,<filter>]
جمعآوری دادههای SRT (زمان پاسخدهی به سرویس یا Service Response Time) فراخوانی/پاسخ برای مجموعه دستورات SCSI با شناسهٔ <cmdset>.
مجموعه دستورات عبارتند از 0:SBC و 1:SSC و 5:MMC
دادههای جمعآوریشده عبارتند از تعداد فراخوانیها برای هر رویه، MinSRT، MaxSRT و AvgSRT.
مثال: -z scsi,srt,0 دادهها را برای دستورات بلوکی اسکازی (SCSI BLOCK COMMANDS یا SBC) جمعآوری خواهد کرد.
این گزینه میتواند چندین بار در خط فرمان استفاده شود.
اگر فیلتر اختیاری filter مشخص شود، آمار تنها برای فراخوانیهایی محاسبه خواهد شد که با آن فیلتر مطابقت دارند.
مثال: -z scsi,srt,0,ip.addr==1.2.3.4 آمار SRT دستورات SCSI SBC را برای میزبان مشخص iscsi/ifcp/fcip جمعآوری خواهد کرد.
-z sip,stat[,filter]
این گزینه شمارندهای را برای پیامهای SIP فعال میکند. شما تعداد رخدادهای هر متد SIP و هر کد وضعیت SIP را دریافت خواهید کرد. علاوه بر این، تعداد پیامهای SIP بازفرستادهشده (تنها برای SIP بر روی UDP) را نیز دریافت خواهید کرد.
مثال: -z sip,stat
این گزینه میتواند چندین بار در خط فرمان استفاده شود.
اگر فیلتر اختیاری filter مشخص شود، آمار تنها برای فراخوانیهایی محاسبه خواهد شد که با آن فیلتر مطابقت دارند.
مثال: -z "sip,stat,ip.addr==1.2.3.4" آمار را تنها برای بستههای SIP مبادلهشده توسط میزبان با نشانی IP برابر 1.2.3.4 جمعآوری میکند.
-z smb,srt[,filter]
جمعآوری دادههای SRT (زمان پاسخدهی به سرویس یا Service Response Time) فراخوانی/پاسخ برای SMB. دادههای جمعآوریشده عبارتند از تعداد فراخوانیها برای هر دستور SMB، MinSRT، MaxSRT و AvgSRT.
مثال: -z smb,srt
دادهها در قالب جدولهای جداگانه برای تمامی دستورات عادی SMB، تمامی دستورات Transaction2 و تمامی دستورات NT Transaction ارائه خواهند شد. تنها دستوراتی که در جریان ضبط بسته دیده شوند، آمارشان نمایش داده خواهد شد. تنها دستور نخست در یک زنجیرهٔ دستورات xAndX در محاسبه لحاظ خواهد شد. بنابراین برای زنجیرههای متداول SessionSetupAndX + TreeConnectAndX، تنها فراخوانی SessionSetupAndX در آمار لحاظ میشود. این یک نقص است که ممکن است در آینده برطرف گردد.
این گزینه میتواند چندین بار در خط فرمان استفاده شود.
اگر فیلتر اختیاری filter مشخص شود، آمار تنها برای فراخوانیهایی محاسبه خواهد شد که با آن فیلتر مطابقت دارند.
مثال: -z "smb,srt,ip.addr==1.2.3.4" آمار را تنها برای بستههای SMB مبادلهشده توسط میزبان با نشانی IP برابر 1.2.3.4 جمعآوری میکند.
-z voip,calls
این گزینه پنجرهای را برای نمایش تماسهای VoIP یافتشده در فایل ضبط بسته باز میکند. این پنجره همان پنجرهای است که با رفتن به منوی Statistics و انتخاب VoIP Calls نمایش داده میشود.
مثال: -z voip,calls
-z wlan,stat[,<filter>]
-z wsp,stat[,<filter>]
-d <layer type>==<selector>,<decode-as protocol>
مشابه قابلیت Decode As... در Wireshark، این گزینه به شما امکان میدهد نحوهٔ تجزیهٔ یک نوع لایه را مشخص کنید. اگر نوع لایهٔ مورد نظر (برای مثال tcp.port یا udp.port برای شماره پورت TCP یا UDP) مقدار انتخابگر مشخصشده را داشته باشد، بستهها باید به عنوان پروتکل مشخصشده تجزیه شوند.
مثال ۱. Decode As Port
دستور -d tcp.port==8888,http هر ترافیکی را که روی پورت TCP شمارهٔ 8888 در جریان است به عنوان HTTP رمزگشایی و تجزیه میکند.
برای مثالهای بیشتر صفحهٔ راهنمای tshark(1) را ببینید.
--disable-all-protocols
--disable-protocol <proto_name>[,<proto_name>,...]
--disable-heuristic <short_name>
--enable-protocol <proto_name>[,<proto_name>,...]
فعالسازی تجزیهٔ proto_name. از مقدار ALL برای proto_name استفاده کنید تا فهرست پروتکلهای غیرفعالِ پیشفرض نمایهٔ انتخابی لغو شده و موقتاً تمامی پروتکلهایی که بهطور پیشفرض فعال هستند، فعال شوند.
اگر پروتکلی هم در --disable-protocol و هم در --enable-protocol قید شده باشد، آن پروتکل فعال خواهد شد. این ویژگی به شما امکان میدهد موقتاً تمامی پروتکلها را به جز فهرستی از استثناها غیرفعال کنید. مثال: --disable-protocol ALL --enable-protocol eth,ip
--enable-heuristic <short_name>
-K <keytab>
بارگذاری کلیدهای رمزنگاری Kerberos از فایل keytab مشخصشده. از این گزینه میتوان چندین بار برای بارگذاری کلیدها از چندین فایل مختلف استفاده کرد.
مثال: -K krb5.keytab
-n
-N <name resolving flags>
فعالسازی تفکیک نام تنها برای انواع خاصی از آدرسها و شماره پورتها، در حالی که تفکیک نام برای سایر انواع آدرسها و شماره پورتها خاموش است. این گزینه (به همراه -n) میتواند چندین بار مشخص شود؛ آخرین مقدار دادهشده مقادیر قبلی را نادیده میگیرد. این گزینه و -n گزینههای تنظیمشده در ترجیحات (preferences) را، از جمله مواردی که با -o تعیین شدهاند، لغو میکنند. اگر هیچیک از گزینههای -N و -n وجود نداشته باشند، مقادیر پیشفرض ترجیحات استفاده میشوند که بهطور پیشفرض -N dmN است.
آرگومان رشتهای است که میتواند شامل این حروف باشد:
d برای فعالسازی تفکیک نام از بستههای ضبطشدهٔ DNS
g برای فعالسازی جستجوی اطلاعات موقعیت جغرافیایی آدرس IP از پایگاههای دادهٔ پیکربندیشدهٔ MaxMind
m برای فعالسازی تفکیک آدرس MAC
n برای فعالسازی تفکیک آدرس شبکه
N برای فعالسازی استفاده از تفکیککنندههای خارجی (مانند DNS) جهت تفکیک آدرس شبکه؛ بدون فعال بودن n اثری ندارد.
s برای فعالسازی تفکیک آدرس با استفاده از اطلاعات SNI موجود در بستههای دستتکانی (handshake) ضبطشده
t برای فعالسازی تفکیک شماره پورت لایهٔ انتقال
v برای فعالسازی تفکیک شناسههای VLAN به نامها
--only-protocols <protocols>
-t (a|ad|adoy|d|dd|e|r|rc|u|ud|udoy)[.[N]]|.[N]
تنظیم قالب برچسب زمانی بسته (timestamp) که در ستون زمان پیشفرض نمایش داده میشود. قالب میتواند یکی از موارد زیر باشد:
a زمان مطلق: زمان مطلق، به عنوان زمان محلی در منطقهٔ زمانی شما؛ زمان واقعی ضبط بسته بدون نمایش تاریخ است
ad زمان مطلق با تاریخ: تاریخ مطلق بهصورت YYYY-MM-DD و زمان بهصورت زمان محلی در منطقهٔ زمانی شما؛ زمان و تاریخ واقعی ضبط بسته است
adoy زمان مطلق با تاریخ بر اساس روز سال: تاریخ مطلق بهصورت YYYY/DOY و زمان بهصورت زمان محلی در منطقهٔ زمانی شما؛ زمان و تاریخ واقعی ضبط بسته است
d دلتا: زمان دلتا، زمان سپریشده از هنگام ضبط بستهٔ قبلی است
dd دلتای نمایشی (delta_displayed): زمان سپریشده از هنگام ضبط بستهٔ نمایشدادهشدهٔ قبلی است
e مبدأ زمانی (epoch): زمان بر حسب ثانیه از مبدأ زمانی یونیکس (Jan 1, 1970 00:00:00)
r نسبی: زمان نسبی، زمان سپریشده بین بستهٔ اول و بستهٔ فعلی است
rc نسبی نسبت به شروع ضبط: زمان سپریشده بین آغاز ضبط و بستهٔ فعلی است
u زمان UTC: زمان مطلق بهصورت UTC با پسوند "Z"؛ زمان واقعی ضبط بسته بدون نمایش تاریخ است
ud زمان UTC با تاریخ: تاریخ مطلق بهصورت YYYY-MM-DD و زمان بهصورت UTC با پسوند "Z"؛ زمان و تاریخ واقعی ضبط بسته است
udoy زمان UTC با تاریخ بر اساس روز سال: تاریخ مطلق بهصورت YYYY/DOY و زمان بهصورت UTC با پسوند "Z"؛ زمان و تاریخ واقعی ضبط بسته است
.[N] تنظیم دقت: N تعداد ارقام اعشار است (۰ تا ۹). در صورت استفاده از "." بدون N، دقت بهطور خودکار از ردگیری (trace) تعیین میشود.
قالب پیشفرض، نسبی با دقت مبتنی بر قالب ضبط است.
-u <s|hms>
مشخص میکند که قالبهای برچسب زمانی بسته در -t که زمانهای نسبی هستند (یعنی relative، delta و delta_displayed) چگونه نمایش داده شوند. گزینههای معتبر عبارتند از:
s برای ثانیه
hms برای ساعت، دقیقه و ثانیه
قالب پیشفرض ثانیه است.
--log-level <level>
--log-fatal <level>
--log-fatal-count <count>
--log-domains <list>
--log-debug <list>
--log-noisy <list>
--log-fatal-domains <list>
--log-file <path>
رابط کاربری (INTERFACE)
سند راهنمای کاربری Wireshark (Wireshark User’s Guide) https://www.wireshark.org/docs/wsug_html_chunked شامل توضیحاتی دربارهٔ رابط کاربری است. این راهنما همچنین ممکن است بهصورت محلی همراه با Wireshark نصب شده باشد. فشردن کلید F1 تلاش میکند در صورت موجود بودن، راهنما را بهصورت محلی باز کند، و در غیر این صورت به راهنمای برخط رجوع خواهد کرد.
ساختار فیلتر ضبط (CAPTURE FILTER SYNTAX)
صفحهٔ راهنمای pcap-filter(7) یا در صورت عدم وجود آن، tcpdump(8)، یا در صورت عدم وجود آن، https://wiki.wireshark.org/CaptureFilters را ببینید.
ساختار فیلتر نمایش (DISPLAY FILTER SYNTAX)
برای جدول کاملی از پروتکلها و فیلدهای پروتکلی که در Wireshark قابل فیلتر شدن هستند، صفحهٔ راهنمای wireshark-filter(4) را ببینید.
فایلها (FILES)
این فایلها شامل تنظیمات پیکربندی گوناگون Wireshark هستند.
ترجیحات (Preferences)
فایلهای preferences شامل تنظیمات ترجیحات سراسری (در سطح سیستم) و شخصی هستند. اگر فایل ترجیحات سراسری سیستم وجود داشته باشد، ابتدا خوانده میشود و تنظیمات پیشفرض را بازنویسی میکند. اگر فایل ترجیحات شخصی وجود داشته باشد، در مرحله بعد خوانده میشود و هر مقدار قبلی را بازنویسی میکند. نکته: اگر از پرچم خط فرمان -o (احتمالاً بیش از یک بار) استفاده شود، به نوبه خود مقادیر فایلهای ترجیحات را بازنویسی خواهد کرد.
تنظیمات ترجیحات به صورت prefname:value هستند، یک مورد در هر خط، که در آن prefname نام ترجیح و value مقداری است که باید به آن اختصاص داده شود؛ فاصله (white space) میان : و value مجاز است. یک تنظیم ترجیح میتواند با دندانهدار کردن خطوط ادامه با نویسههای فاصله، در خطوط بعدی امتداد یابد. نویسه # آغازگر یادداشتی است که تا انتهای خط ادامه مییابد:
# Vertical scrollbars should be on right side? # TRUE or FALSE (case-insensitive). gui.scrollbar_on_right: TRUE
فایل ترجیحات سراسری در دایرکتوری wireshark زیر دایرکتوری فرعی share در دایرکتوری اصلی نصب جستجو میشود. در macOS، این مسیر معمولاً /Application/Wireshark.app/Contents/Resources/share خواهد بود؛ در سایر سیستمهای سازگار با UNIX، مانند Linux، \*BSD، Solaris و AIX، این مسیر برای بستههای نصبشده سیستمی معمولاً /usr/share/wireshark/preferences و برای بستههای نصبشده محلی /usr/local/share/wireshark/preferences خواهد بود؛ در Windows، معمولاً C:\Program Files\Wireshark\preferences است.
در سیستمهای سازگار با UNIX، فایل ترجیحات شخصی در $XDG_CONFIG_HOME/wireshark/preferences جستجو میشود (یا اگر $XDG_CONFIG_HOME/wireshark وجود نداشته باشد در حالی که $HOME/.wireshark موجود است، در $HOME/.wireshark/preferences)؛ این مسیر معمولاً $HOME/.config/wireshark/preferences است. در Windows، فایل ترجیحات شخصی در %APPDATA%\Wireshark\preferences (یا اگر %APPDATA% تعریف نشده باشد، در %USERPROFILE%\Application Data\Wireshark\preferences) جستجو میشود.
نکته: هر زمان که ترجیحات با استفاده از دکمه Save در کادر محاورهای Edit:Preferences ذخیره شوند، فایل ترجیحات شخصی شما با تنظیمات جدید بازنویسی خواهد شد و هرگونه یادداشت و تنظیمات ناشناخته/منسوخی که در فایل وجود داشتهاند، از بین میروند.
موارد اخیر (Recent)
فایل recent شامل تنظیمات شخصی (عمدتاً مربوط به واسط گرافیکی - GUI) مانند اندازه فعلی پنجره Wireshark است. این فایل هنگام خروج از برنامه ذخیره شده و در زمان شروع برنامه بهطور خودکار خوانده میشود. نکته: پرچم خط فرمان -o ممکن است برای بازنویسی تنظیمات این فایل استفاده شود.
تنظیمات در این فایل قالبی مشابه با فایلهای preferences دارند، و از همان دایرکتوری فایل ترجیحات شخصی استفاده میشود.
نکته: هر زمان که Wireshark بسته شود، فایل recent شما با تنظیمات جدید بازنویسی خواهد شد و هرگونه یادداشت و تنظیمات ناشناخته/منسوخی که در فایل وجود داشتهاند، از بین خواهند رفت.
پروتکلهای غیرفعال (فعال) (Disabled (Enabled) Protocols)
فایلهای disabled_protos شامل فهرستهای سراسری و شخصی از پروتکلهایی هستند که غیرفعال شدهاند، بهطوری که تشریحکنندههای (dissectors) آنها هرگز فراخوانی نمیشوند. این فایلها شامل نام پروتکلها در هر خط هستند؛ بهگونهای که نام پروتکل همان نامی است که در فیلتر نمایش برای آن پروتکل به کار میرود:
http tcp # a comment
اگر پروتکلی در فایل سراسری disabled_protos فهرست شده باشد، توسط کاربر قابل فعالسازی نیست. بنابراین در کادر محاورهای Analyze::Enabled Protocols نمایش داده نمیشود.
فایل سراسری disabled_protos از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی disabled_protos از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند.
فایلهای disabled_protos تنها پروتکلهایی را فهرست میکنند که بهطور پیشفرض فعال بودهاند اما غیرفعال شدهاند؛ پروتکلهایی که بهطور پیشفرض غیرفعال هستند (مانند برخی postdissectorها) فهرست نمیشوند. فایلهای مشابه enabled_protos برای پروتکلهایی که بهطور پیشفرض غیرفعال هستند اما فعال شدهاند وجود دارد.
نکته: هر زمان که فهرست پروتکلهای غیرفعال با استفاده از دکمه Save در کادر محاورهای Analyze:Enabled Protocols ذخیره شود، فایل شخصی پروتکلهای غیرفعال شما با تنظیمات جدید بازنویسی خواهد شد و هرگونه یادداشتی که در فایل وجود داشته از بین میرود.
تشریحکنندههای اکتشافی (Heuristic Dissectors)
فایلهای heuristic_protos شامل فهرستهای سراسری و شخصی از تشریحکنندههای اکتشافی (heuristic dissectors) هستند و وضعیت فعال یا غیرفعال بودن آنها را مشخص میکنند. این فایلها شامل نامهای کوتاه یکتای تشریحکنندههای اکتشافی، در هر خط یک مورد هستند که پس از آن یک ویرگول، و 0 برای غیرفعال یا 1 برای فعال قرار میگیرد:.sp
quic,1 rtcp_stun,1 rtcp_udp,1 rtp_stun,0 rtp_udp,0 tls_tcp,1
فایل سراسری heuristic_protos از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی heuristic_protos از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند.
تفکیک نام (hosts)
مدخلهای موجود در فایلهای hosts در دایرکتوری ترجیحات سراسری و شخصی، پیش از هرگونه تلاش دیگری برای تفکیک نشانیهای IPv4 و IPv6، برای تفکیک آنها به کار میروند. این فایل از نحو استاندارد فایل hosts پیروی میکند؛ هر خط شامل یک نشانی IP و نام است که با نویسهٔ خالی (whitespace) از یکدیگر جدا شدهاند. در صورت وجود، فایل شخصی hosts بر فایل موجود در دایرکتوری سراسری اولویت دارد.
تفکیک نام فیلتر ضبط (capture filter) توسط libpcap در سیستمهای سازگار با UNIX مانند Linux، macOS، \*BSD، Solaris و AIX، و توسط Npcap در Windows مدیریت میشود. بدین ترتیب، برای تفکیک نام فیلتر ضبط، به فایل شخصی hosts در Wireshark رجوع نخواهد شد.
تفکیک نام (subnets)
اگر یک نشانی IPv4 از طریق تفکیک نام قابل ترجمه نباشد (هیچ تطابق دقیقی یافت نشود)، آنگاه یک تطابق جزئی از طریق فایل subnets امتحان میشود. در صورت وجود، هر دو فایل سراسری subnets و فایلهای شخصی subnets مورد استفاده قرار میگیرند.
هر خط از این فایل شامل یک نشانی IPv4، طول ماسک زیرشبکه که تنها با یک / جدا شده است، و یک نام جدا شده با نویسهٔ خالی است. در حالی که نشانی باید یک نشانی کامل IPv4 باشد، هر مقداری فراتر از طول ماسک در ادامه نادیده گرفته میشود.
یک نمونه:
# Comments must be prepended by the # sign! 192.168.0.0/24 ws_test_network
یک نام تا حدی تطبیقیافته بهصورت "subnet-name.remaining-address" چاپ خواهد شد. برای مثال، "192.168.0.1" تحت زیرشبکهٔ بالا بهصورت "ws_test_network.1" چاپ میشود؛ اگر طول ماسک بالا بهجای 24 برابر با 16 بود، نشانی چاپشده "ws_test_network.0.1" میبود.
تفکیک نام (ethers)
فایلهای ethers برای مرتبط ساختن نشانیهای سختافزاری ۶ بایتی EUI-48 و ۸ بایتی EUI-64 با نامها بررسی میشوند. ابتدا فایل شخصی ethers بررسی میشود و اگر نشانی در آنجا پیدا نشود، فایل سراسری ethers بررسی خواهد شد.
این فایل ساختاری مشابه با ساختار تعریفشده توسط ethers(5) در برخی سیستمهای شبهیونیکس دارد. هر خط شامل یک نشانی سختافزاری و نام است که با نویسهٔ خالی (فاصلهها یا تبها) از یکدیگر جدا شدهاند. ارقام هگزادسیمال نشانی سختافزاری با دونقطه (:)، خط تیره (-) یا نقطه (.) از هم جدا میشوند. در یک نشانی باید از نویسهٔ جداکنندهٔ یکسانی استفاده شود. نویسهٔ # نشاندهندهٔ توضیحی است که تا انتهای خط ادامه دارد. هر دو نشانی ۶ بایتی MAC و ۸ بایتی EUI-64 پشتیبانی میشوند. چهار خط زیر خطوط معتبری از یک فایل ethers هستند:
ff:ff:ff:ff:ff:ff Broadcast c0-00-ff-ff-ff-ff TR_broadcast 00.00.00.00.00.00 Zero_broadcast 00:00:00:00:00:00:00:00 EUI64_zero_broadcast
توجه داشته باشید که این فایل تنوع قالب بیشتری را نسبت به فایل تعریفشده توسط ethers(5) در بیشتر سیستمهای UN*X میپذیرد.
فایل سراسری ethers در سیستمهای سازگار با UNIX مانند Linux، macOS، \*BSD، Solaris و AIX در دایرکتوری /etc، و در سیستمهای Windows در دایرکتوری اصلی نصب (برای مثال، C:\Program Files\Wireshark) جستجو میشود.
فایل شخصی ethers در همان دایرکتوری فایل ترجیحات شخصی جستجو میشود.
تفکیک نام در فیلتر ضبط توسط libpcap در سیستمهای سازگار با UNIX و Npcap در Windows مدیریت میشود. بدین ترتیب، برای تفکیک نام فیلتر ضبط، به فایل شخصی ethers در Wireshark رجوع نخواهد شد.
تفکیک نام (manuf)
فایل manuf برای تطبیق بخش ۳ بایتی سازنده (vendor) از یک نشانی سختافزاری ۶ بایتی با نام سازنده به کار میرود؛ این فایل همچنین میتواند حاوی نشانیهای شناختهشدهٔ MAC و محدودههای نشانی مشخصشده با یک ماسک شبکه (netmask) باشد. قالب این فایل شبیه فایلهای ethers است، با این تفاوت که ورودیهایی مانند:
00:00:0C Cisco Cisco Systems, Inc
میتواند ارائه شود، همراه با OUI سهبایتی و هر دو نام اختصاری و کامل یک سازنده، و مدخلهایی مانند:
00-00-0C-07-AC/40 All-HSRP-routers
میتواند مشخص شود، همراه با یک نشانی MAC و ماسکی که مشخص میکند چه تعداد بیت از نشانی باید مطابقت داشته باشد. برای مثال مدخل بالا دارای ۴۰ بیت پرارزش یا ۵ بایت است و با نشانیهای بین 00-00-0C-07-AC-00 تا 00-00-0C-07-AC-FF مطابقت دارد. نیازی نیست که ماسک حتماً مضربی از ۸ باشد.
یک فایل سراسری manuf در همان دایرکتوری فایل ترجیحات سراسری، و یک فایل شخصی manuf در همان دایرکتوری فایل ترجیحات شخصی جستجو میشود.
در نسخههای پیشین Wireshark، اطلاعات رسمی از IEEE Registration Authority در این قالب به عنوان فایل سراسری manuf توزیع میشد. اکنون این اطلاعات برای افزایش سرعت راهاندازی برنامه درون آن کامپایل شده است، اما اطلاعات داخلی را میتوان با دستور tshark -G manuf در این قالب استخراج کرد.
علاوه بر فایل manuf، فایل دیگری با همین قالب به نام wka در دایرکتوری سراسری جستجو میشود. این فایل همراه با Wireshark توزیع شده و شامل دادههایی دربارهٔ نشانیهای شناختهشدهٔ MAC و محدودههای نشانی است که از منابع گوناگون غیر از IEEE اما معتبر جمعآوری شدهاند.
تفکیک نام (services)
فایل services برای ترجمهٔ شماره درگاهها به نامها به کار میرود. در صورت وجود، هر دو فایل سراسری services و فایلهای شخصی services مورد استفاده قرار میگیرند.
این فایل از نحو استاندارد فایل services پیروی میکند؛ هر خط شامل یک نام (سرویس) و یک شناسهٔ انتقال است که با نویسهٔ خالی جدا شدهاند. شناسهٔ انتقال شامل یک شماره درگاه و یک نام پروتکل انتقال (معمولاً tcp، udp یا sctp) است که با یک / جدا میشوند.
یک نمونه:
mydns 5045/udp # My own Domain Name Server mydns 5045/tcp # My own Domain Name Server
در نسخههای پیشین Wireshark، اطلاعات رسمی از پایگاه IANA Registry در این قالب به عنوان فایل سراسری services توزیع میشد. اکنون این اطلاعات برای تسریع در راهاندازی برنامه درون آن کامپایل شده است، اما اطلاعات داخلی را میتوان با دستور tshark -G services در این قالب استخراج کرد.
تفکیک نام (ipxnets)
فایلهای ipxnets برای مرتبط ساختن شمارههای شبکهٔ ۴ بایتی IPX با نامها استفاده میشوند. ابتدا فایل سراسری ipxnets بررسی میشود و اگر نشانی در آنجا پیدا نشود، فایل شخصی بررسی خواهد شد..sp قالب این فایل مشابه فایل ethers است، با این تفاوت که هر نشانی بهجای شش بایت، چهار بایت است. علاوه بر این، نشانی میتواند بهجای چهار اکتت هگزادسیمال، به صورت یک عدد هگزادسیمال منفرد که در دنیای IPX معمولتر است نیز نمایش داده شود. برای نمونه، این چهار خط، خطوطی معتبر از یک فایل ipxnets هستند:
C0.A8.2C.00 HR c0-a8-1c-00 CEO 00:00:BE:EF IT_Server1 110f FileServer3
فایل سراسری ipxnets در سیستمهای سازگار با UNIX، مانند Linux، macOS، \*BSD، Solaris و AIX در دایرکتوری /etc، و در سیستمهای Windows در دایرکتوری اصلی نصب (برای نمونه، C:\Program Files\Wireshark) جستجو میشود.
فایل شخصی ipxnets در همان دایرکتوری فایل ترجیحات شخصی جستجو میشود.
تفکیک نام (ss7pcs)
فایل ss7pcs برای ترجمه point codeهای SS7 به نامها به کار میرود. این فایل از دایرکتوری پیکربندی شخصی خوانده میشود.
هر خط در این فایل از یک نشانگر شبکه تشکیل شده که پس از آن یک خط تیره، سپس یک point code در مبنای ده و یک نام گره که با فاصله خالی جدا شدهاند قرار میگیرد. یک نمونه عبارت است از:
2-1234 MyPointCode1
تفکیک نام (vlans)
فایل vlans برای ترجمه شناسه برچسبهای VLAN به نامها به کار میرود. این فایل از دایرکتوری پیکربندی شخصی خوانده میشود.
هر خط در این فایل شامل یک شناسه برچسب VLAN است که با فاصله خالی از یک نام جدا شده است. برای نمونه:
123 Server-Lan 2049 HR-Client-LAN
فیلترهای ضبط (Capture Filters)
فایلهای cfilters شامل فیلترهای ضبط سراسری سیستم و شخصی هستند. هر خط شامل یک فیلتر است که با رشته نمایشیافته در کادر محاورهای درون علامت نقلقول آغاز شده و به دنبال آن رشته خود فیلتر میآید:
"HTTP" port 80 "DCERPC" port 135
فایل سراسری cfilters از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی cfilters از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند. این فایل از طریق کادر محاورهای Capture:Capture Filters نوشته میشود.
اگر فایل سراسری cfilters وجود داشته باشد، تنها در صورتی استفاده میشود که فایل شخصی cfilters وجود نداشته باشد؛ فیلترهای ضبط سراسری و شخصی با یکدیگر ادغام نمیشوند.
فیلترهای نمایش (Display Filters)
فایلهای dfilters شامل فیلترهای نمایش سراسری سیستم و شخصی هستند. هر خط شامل یک فیلتر است که با رشته نمایشیافته در کادر محاورهای درون علامت نقلقول آغاز شده و به دنبال آن رشته خود فیلتر میآید:
"HTTP" http "DCERPC" dcerpc
فایل سراسری dfilters از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی dfilters از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند. این فایل از طریق کادر محاورهای Analyze:Display Filters نوشته میشود.
اگر فایل سراسری dfilters وجود داشته باشد، تنها در صورتی استفاده میشود که فایل شخصی dfilters وجود نداشته باشد؛ فیلترهای نمایش سراسری و شخصی با یکدیگر ادغام نمیشوند.
ماکروهای فیلتر نمایش (Display Filter Macros)
فایلهای dmacros شامل ماکروهای فیلتر نمایش سراسری سیستم و شخصی هستند. هر خط شامل یک فیلتر است که با رشته نمایشیافته در کادر محاورهای درون علامت نقلقول آغاز شده و به دنبال آن عبارت خود ماکرو میآید:
"private_ipv6" ipv6 && $1 == fc00::/7 "private_ethernet" $1[0] & 0x0F == 2 "private_ipv4" $1 == 192.168.0.0/16 or $1 == 172.16.0.0/12 or $1 == 10.0.0.0/8
فایل سراسری dmacros از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی dmacros از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند. این فایل از طریق کادر محاورهای Analyze:Display Filter Macros نوشته میشود.
اگر فایل سراسری dmacros وجود داشته باشد، تنها در صورتی استفاده میشود که فایل شخصی dmacros وجود نداشته باشد؛ فیلترهای نمایش سراسری و شخصی با یکدیگر ادغام نمیشوند.
پیش از Wireshark 4.4، فایل dfilter_macros با ساختار نحوی تا حدی متفاوت به کار میرفت. در صورت پیدا نشدن فایل dmacros هنگام راهاندازی، به دنبال آن فایل گشته شده و برای مهاجرت به قالب جدید استفاده میشود.
فیلترهای رنگی (Color Filters (Coloring Rules))
فایلهای colorfilters شامل فیلترهای رنگی سراسری سیستم و شخصی هستند. هر خط شامل یک فیلتر است که با رشته نمایشیافته در کادر محاورهای آغاز شده، سپس فیلتر نمایش مربوطه میآید. در ادامه، رنگهای پسزمینه و پیشزمینه افزوده میشوند:
# a comment @tcp@tcp@[59345,58980,65534][0,0,0] @udp@udp@[28834,57427,65533][0,0,0]
فایل سراسری colorfilters از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی colorfilters از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند. این فایل از طریق کادر محاورهای View:Coloring Rules نوشته میشود.
اگر فایل سراسری colorfilters وجود داشته باشد، تنها در صورتی استفاده میشود که فایل شخصی colorfilters وجود نداشته باشد؛ فیلترهای رنگی سراسری و شخصی با یکدیگر ادغام نمیشوند. پلاگینها
برنامهٔ Wireshark پلاگینها را هم در یک پوشهٔ پلاگین شخصی و هم در یک پوشهٔ پلاگین سراسری جستجو میکند.
در سیستمهای سازگار با UNIX، مانند Linux، macOS، \*BSD، Solaris و AIX، دایرکتوری سراسری پلاگینها مسیر lib/wireshark/plugins/ (در برخی سیستمها lib64 به جای lib قرار میگیرد) زیر دایرکتوری اصلی محل نصب است (برای مثال، /usr/local/lib/wireshark/plugins/). دایرکتوری شخصی پلاگینها $HOME/.local/lib/wireshark/plugins است.
در macOS، چنانچه Wireshark به صورت یک بستهٔ برنامهای (application bundle) نصب شده باشد، پوشهٔ سراسری پلاگین در عوض %APPDIR%/Contents/PlugIns/wireshark خواهد بود.
در Windows، پوشهٔ سراسری پلاگین مسیر plugins/ در زیر دایرکتوری اصلی نصب است (برای مثال، C:\Program Files\Wireshark\plugins\). پوشهٔ شخصی پلاگین %APPDATA%\Wireshark\plugins است (یا در صورتی که %APPDATA% تعریف نشده باشد، %USERPROFILE%\Application Data\Wireshark\plugins).
پلاگینهای Lua در پوشههای پلاگین ذخیره میشوند؛ پلاگینهای کامپایلشده در زیرپوشههایی از پوشههای پلاگین ذخیره میگردند که نام زیرپوشه، شمارهٔ نسخهٔ فرعی (minor version) نرمافزار Wireshark به صورت (X.Y) است. یک سطح سلسلهمراتبی دیگر برای هر نوع از پلاگینهای Wireshark وجود دارد (libwireshark، libwiretap و codecs). برای نمونه، مکان یک پلاگین libwireshark به نام foo.so (در ویندوز foo.dll) مسیر PLUGINDIR/X.Y/epan خواهد بود (libwireshark پیشتر libepan نامیده میشد؛ نام دیگر پوشهها codecs و wiretap است).
نکته
در سیستمهای سازگار با UNIX، پلاگینهای Lua (اما نه پلاگینهای باینری) میتوانند در مسیر $XDG_CONFIG_HOME/wireshark/plugins نیز قرار گیرند (یا چنانچه $XDG_CONFIG_HOME/wireshark وجود نداشته باشد در حالی که $HOME/.wireshark وجود دارد، در $HOME/.wireshark/plugins).
توجه داشته باشید که یک ماژول پلاگین شکافنده (dissector) ممکن است از بیش از یک پروتکل پشتیبانی کند؛ لزوماً یک تناظر یکبهیک میان ماژولهای پلاگین dissector و پروتکلها وجود ندارد. پروتکلهای پشتیبانیشده توسط یک ماژول پلاگین dissector به همان روش پروتکلهای توکار Wireshark فعال و غیرفعال میشوند.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
WIRESHARK_CONFIG_DIR
این متغیر محیطی مسیر فایلهای پیکربندی شخصی را بازنویسی میکند. در سیستمهای سازگار با UNIX، مانند Linux، macOS، \*BSD، Solaris و AIX، مقدار پیشفرض آن $XDG_CONFIG_HOME/wireshark است (یا اگر آن دایرکتوری وجود نداشته باشد اما $HOME/.wireshark وجود داشته باشد، $HOME/.wireshark)؛ که معمولاً $HOME/.config/wireshark است. در Windows، مقدار پیشفرض آن %APPDATA%\Wireshark است (یا در صورتی که %APPDATA% تعریف نشده باشد، %USERPROFILE%\Application Data\Wireshark). از نسخهٔ Wireshark 3.0 در دسترس است.
WIRESHARK_DEBUG_WMEM_OVERRIDE
WIRESHARK_RUN_FROM_BUILD_DIRECTORY
WIRESHARK_DATA_DIR
WIRESHARK_EXTCAP_DIR
WIRESHARK_PLUGIN_DIR
ERF_RECORDS_TO_CHECK
IPFIX_RECORDS_TO_CHECK
WIRESHARK_ABORT_ON_DISSECTOR_BUG
WIRESHARK_ABORT_ON_TOO_MANY_ITEMS
WIRESHARK_QUIT_AFTER_CAPTURE
WIRESHARK_LOG_LEVEL
WIRESHARK_LOG_FATAL
WIRESHARK_LOG_DOMAINS
WIRESHARK_LOG_NOISY
نویسندگان (AUTHORS)
Wireshark بدون مشارکتهای سخاوتمندانهٔ صدها توسعهدهنده، به نرمافزار قدرتمند و پرامکاناتی که اکنون هست تبدیل نمیشد.
فهرست کاملی از نویسندگان را میتوان در فایل AUTHORS در مخزن کد منبع Wireshark یافت.
همچنین ببینید (SEE ALSO)
wireshark-filter(4), tshark(1), editcap(1), pcap(3), dumpcap(1), mergecap(1), text2pcap(1), pcap-filter(7) یا tcpdump(8)
نکات (NOTES)
این صفحهٔ راهنما مربوط به Wireshark 4.7.3 است. جدیدترین نسخهٔ Wireshark در نشانی زیر قابل دریافت است: https://www.wireshark.org.
نسخههای HTML صفحات راهنمای پروژهٔ Wireshark در نشانی زیر موجود هستند: https://www.wireshark.org/docs/man-pages.
راهنمای کاربری Wireshark در نشانی زیر در دسترس است: https://www.wireshark.org/docs/wsug_html_chunked.
| 2026-09-03 |