| STRATOSHARK(1) | STRATOSHARK(1) |
نام (NAME)
stratoshark - تحلیلگر گرافیکی فراخوانهای سیستم و لاگ رویدادها
خلاصه دستور (SYNOPSIS)
stratoshark [ -i <capture source>|- ] [ -f <capture filter> ] [ -Y <display filter> ] [ -w <outfile> ] [ options ] [ <infile> ]
stratoshark -h|--help
stratoshark -v|--version
توضیحات (DESCRIPTION)
برنامهٔ Stratoshark یک تحلیلگر گرافیکی (GUI) برای فراخوانهای سیستم (system calls) و لاگ است. این ابزار به شما امکان میدهد تا فراخوانهای سیستم و پیامهای لاگ را به صورت تعاملی از یک سیستم زنده یا از یک فایل ضبطشده از پیش ذخیرهشده بررسی و پیمایش کنید. قالب بومی فایلهای ضبط در Stratoshark قالب scap است که توسط ابزار خط فرمانی sysdig و Falco استفاده میشود.
پنجرهٔ اصلی Stratoshark سه نمای مختلف از هر رویداد (event) را نمایش میدهد. این پنجره یک خط خلاصه را نشان میدهد که رویداد را به طور مختصر شرح میدهد. یک نمای جزئیات رویداد نیز نمایش داده میشود که به شما اجازه میدهد فیلد دقیق مورد نظرتان را با جزئیات کاوش کنید. در نهایت، یک تخلیهٔ هگزادسیمال (hex dump) دقیقاً نشان میدهد که دادههای رویداد روی دیسک یا در بستر ارتباطی به چه شکلی هستند.
علاوه بر این، Stratoshark ویژگیهایی دارد که آن را متمایز میکند. این ابزار میتواند تمام فراخوانهای سیستم را در یک جریان توصیفگر فایل (file descriptor) سرهمبندی کند و دادههای ASCII (یا EBCDIC یا هگزادسیمال) را در آن گفتگو نمایش دهد. فیلترهای نمایشی در Stratoshark بسیار قدرتمند هستند؛ فیلدهای بیشتری نسبت به سایر ابزارها در Stratoshark قابل فیلتر شدن هستند و نحو مورد استفاده برای ایجاد فیلترها غنیتر است. با پیشرفت و توسعهٔ Stratoshark، پشتیبانی از فیلدهای بیشتری نیز اضافه خواهد شد.
عملیات ضبط رویدادها توسط کتابخانههای libscap و libsinsp انجام میشود. نحو فیلتر ضبط از قواعد libscap پیروی میکند. این نحو با نحو فیلترهای نمایشی تفاوت دارد.
پشتیبانی از فایلهای فشرده از کتابخانهٔ zlib بهره میبرد (و به آن وابسته است). اگر کتابخانهٔ zlib موجود نباشد، Stratoshark کامپایل خواهد شد، اما قادر به خواندن فایلهای فشرده نخواهد بود.
مسیر فایل ضبطی که باید خوانده شود را میتوان با گزینهٔ -r یا به عنوان یک آرگومان خط فرمان مشخص کرد.
گزینهها (OPTIONS)
برنامهٔ Stratoshark از گزینههای متنوعی در خط فرمان پشتیبانی میکند. بیشتر کاربران ترجیح میدهند آن را بدون هیچ گزینهای اجرا کرده و از طریق منوهای برنامه آن را پیکربندی کنند. این دسته از کاربران میتوانند از مطالعهٔ این بخش صرفنظر کنند.
-a|--autostop <capture autostop condition>
معیاری را مشخص میکند که بر اساس آن Stratoshark باید نوشتن در فایل ضبط را متوقف کند. این معیار به صورت test:value است، که در آن test یکی از موارد زیر است:
duration:value متوقف کردن نوشتن در فایل ضبط پس از سپری شدن value ثانیه. مقادیر ممیز شناور (مانند 0.5) مجاز هستند.
files:value متوقف کردن نوشتن در فایلهای ضبط پس از ایجاد تعداد value فایل.
filesize:value متوقف کردن نوشتن در یک فایل ضبط پس از رسیدن حجم آن به value کیلوبایت (kB). اگر این گزینه همراه با گزینهٔ -b استفاده شود، Stratoshark در صورت رسیدن به این اندازه، نوشتن در فایل جاری را متوقف کرده و به فایل بعدی منتقل میشود. توجه داشته باشید که اندازهٔ فایل به حداکثر مقدار 2 ترابایت محدود است، اگرچه ممکن است قبل از رسیدن به این حد، در صورتی که تعداد رویدادها از 2^31 (2147483648) فراتر رود، برای مشاهدهٔ فایل در رابط کاربری گرافیکی با مشکل مواجه شوید.
events:value متوقف کردن نوشتن در فایل ضبط پس از اینکه شامل value رویداد شد. همانند -c<capture event count> عمل میکند.
-b|--ring-buffer <capture ring buffer option>
باعث اجرای Stratoshark در حالت «چندین فایل» (multiple files) میشود. در این حالت، Stratoshark در چندین فایل ضبط مینویسد. هنگامی که نخستین فایل ضبط پر شد، Stratoshark نوشتن را به فایل بعدی منتقل میکند و به همین ترتیب ادامه میدهد.
نام فایلهای ایجاد شده بر اساس نام فایل ارائهشده با پرچم -w، شمارهٔ فایل و تاریخ و زمان ایجاد آنها تعیین میشود، مانند outfile_00001_20260714120117.pcap، outfile_00002_20260714120523.pcap، ...
با گزینهٔ files همچنین امکان تشکیل یک «بافر حلقهای» (ring buffer) وجود دارد. این کار فایلهای جدید را تا رسیدن به تعداد فایلهای مشخصشده پر میکند، و در آن نقطه Stratoshark دادههای فایل نخست را دور ریخته و شروع به نوشتن مجدد در آن فایل میکند و روند تکرار میشود. اگر گزینهٔ files تنظیم نشده باشد، فایلهای جدید تا زمانی که یکی از شرایط توقف ضبط برآورده شود (یا دیسک پر شود) پر میشوند.
این معیار به صورت key:value است، که در آن key یکی از موارد زیر است:
duration:value رفتن به فایل بعدی پس از گذشت value ثانیه، حتی اگر فایل فعلی به طور کامل پر نشده باشد. مقادیر ممیز شناور (مانند 0.5) مجاز هستند.
files:value شروع مجدد از فایل نخست پس از نوشته شدن تعداد value فایل (تشکیل بافر حلقهای). این مقدار باید کمتر از ۱۰۰۰۰۰ باشد. هنگام استفاده از تعداد زیادی فایل باید احتیاط کرد: برخی از سیستمهای فایل کارایی مناسبی با فایلهای بسیار زیاد در یک پوشهٔ واحد ندارند. معیار files نیازمند تعیین یکی دیگر از معیارها برای کنترل زمان رفتن به فایل بعدی است. باید توجه داشت که هر پارامتر -b دقیقاً یک معیار دریافت میکند؛ برای تعیین دو معیار، هر یک باید با گزینهٔ -b مقدم شوند.
filesize:value رفتن به فایل بعدی پس از رسیدن حجم آن به value کیلوبایت. توجه داشته باشید که اندازهٔ فایل به حداکثر مقدار ۲ ترابایت محدود است، اگرچه ممکن است قبل از رسیدن به این حد، در صورتی که تعداد رویدادها از 2^31 (2147483648) فراتر رود، برای مشاهدهٔ فایل در رابط گرافیکی با مشکل مواجه شوید.
interval:value رفتن به فایل بعدی هنگامی که زمان، مضرب دقیقی از value ثانیه باشد.
events:value رفتن به فایل بعدی پس از این که شامل value رویداد شد.
مثال: -b filesize:1000 -b files:5 منجر به ایجاد یک بافر حلقهای شامل پنج فایل، هر کدام به اندازهٔ یک مگابایت میشود.
-c <capture event count>
-C <configuration profile>
--capture-comment <comment>
هنگام انجام عملیات ضبط از خط فرمان به همراه پرچم -k، در صورت پشتیبانی قالب پرونده، یک نظر (comment) به فایل خروجی اضافه میکند.
این گزینه را میتوان چندین بار مشخص کرد. توجه داشته باشید که Stratoshark در حال حاضر تنها نخستین نظر یک فایل ضبط را نمایش میدهد.
-D|--list-sources
--display <X display to use>
عبارت فیلتر ضبط را تعیین میکند.
این گزینه میتواند چندین بار تکرار شود. اگر پیش از نخستین رخداد گزینه -i استفاده شود، عبارت فیلتر ضبط پیشفرض را تنظیم میکند. اگر پس از یک گزینه -i استفاده شود، عبارت فیلتر ضبط را برای منبع مشخصشده توسط آخرین گزینه -i که پیش از این گزینه آمده است تنظیم میکند. اگر عبارت فیلتر ضبط بهصورت مشخص تعیین نشده باشد، در صورت وجود از عبارت فیلتر ضبط پیشفرض استفاده میشود.
نامهای فیلتر ضبط ازپیشتعریفشده، همانطور که در مورد منوی رابط گرافیکی Capture→Capture Filters نشان داده شده است، میتوانند با افزودن پیشوند "predef:" به ابتدای آرگومان استفاده شوند. مثال: -f "predef:MyPredefinedHostOnlyFilter"
--fullscreen
اجرای Stratoshark در حالت تمامصفحه (حالت کیوسک). برای خروج از حالت تمامصفحه، منوی View را باز کرده و گزینه Full Screen را انتخاب کنید. همچنین میتوانید کلید F11 (یا Ctrl + Cmd + F برای macOS) را فشار دهید.
-g <event number>
-h|--help
-H
-i|--source <capture source>|-
تنظیم نام منبع ضبط یا پایپ مورد استفاده برای ضبط زنده.
نامهای منبع ضبط باید با یکی از نامها یا شمارههای فهرستشده در "stratoshark -D" (توضیحدادهشده در بالا) مطابقت داشته باشند.
اگر هیچ منبعی مشخص نشود، Stratoshark فهرست منابع را جستجو کرده و اولین منبع را انتخاب میکند. اگر اصلاً هیچ منبعی وجود نداشته باشد، Stratoshark خطایی گزارش کرده و ضبط را آغاز نمیکند.
نامهای پایپ باید یا نام یک FIFO (پایپ نامگذاریشده) باشند یا "-" برای خواندن دادهها از ورودی استاندارد. در سیستمهای Windows، نامهای پایپ باید به شکل "\\.\pipe\pipename" باشند. دادههای خواندهشده از پایپها باید در قالب استاندارد scap باشند. دادههای scap باید دارای همان ترتیب بایتی (endianness) میزبان ضبطکننده باشند.
این گزینه میتواند چندین بار تکرار شود.
-j
-J <jump filter>
پس از خواندن یک فایل ضبط با استفاده از پرچم -r، به رویداد منطبق با فیلتر پرش میکند (با نحو فیلتر نمایش). در صورتی که هیچ تطابق دقیقی یافت نشود، اولین رویداد پس از آن انتخاب میشود.
-k
نشست ضبط را بلافاصله آغاز میکند. اگر پرچم -i مشخص شده باشد، ضبط از منبع تعیینشده استفاده میکند. در غیر این صورت، Stratoshark فهرست منابع را جستجو کرده و از اولین منبع استفاده میکند. اگر هیچ منبعی وجود نداشته باشد، Stratoshark خطایی گزارش کرده و ضبط را آغاز نمیکند.
-l
-L|--list-data-link-types
--list-time-stamp-types
-o <preference/recent setting>
یک مقدار ترجیحات یا تنظیمات اخیر را تنظیم میکند، که مقدار پیشفرض و هر مقداری را که از یک فایل preference/recent خوانده شده است بازنویسی میکند. آرگومان این پرچم رشتهای به فرم prefname:value است، که در آن prefname نام مقدار preference/recent است (همان نامی که در فایل preference/recent ظاهر میشود)، و value مقداری است که باید روی آن تنظیم شود.
اگر prefname برابر "uat" باشد، میتوانید تنظیمات را در جدولهای مختلف دسترسی کاربر با استفاده از ساختار "uat:uat filename:uat record" بازنویسی کنید. uat filename باید نام یک فایل UAT باشد، مانند user_dlts. uat_record باید به شکل یک رکورد معتبر برای آن فایل باشد، از جمله علامتهای نقلقول. برای نمونه، جهت مشخص کردن یک DLT کاربر از طریق خط فرمان، میتوانید از عبارت زیر استفاده کنید:
-o "uat:user_dlts:\"User 0 (DLT=147)\",\"cops\",\"0\",\"\",\"0\",\"\""
-P <path setting>
تنظیمات مسیر ویژه که معمولاً بهطور خودکار شناسایی میشوند. این گزینه برای موارد خاص استفاده میشود، مانند اجرای Stratoshark از یک مکان مشخص روی یک حافظه USB.
معیار به شکل key:path است، که در آن key یکی از موارد زیر است:
persconf:path مسیر فایلهای پیکربندی شخصی، مانند فایلهای ترجیحات (preferences).
persdata:path مسیر فایلهای داده شخصی؛ این همان پوشهای است که در ابتدا باز میشود. پس از اولین راهاندازی اولیه، فایل recent آخرین پوشه استفادهشده را نگهداری خواهد کرد.
-r|--read-file <infile>
-R|--read-filter <read (display) filter>
-S
--temp-dir <directory>
پوشهای را که فایلهای موقت (شامل فایلهای ضبط) باید در آن نوشته شوند مشخص میکند. رفتار پیشفرض در سیستمهای سازگار با UNIX، مانند Linux، macOS، \*BSD، Solaris و AIX، استفاده از متغیر محیطی $TMPDIR در صورت تنظیم بودن، و در غیر این صورت پیشفرض سیستم، معمولاً /tmp است. در Windows، از متغیر محیطی %TEMP% استفاده میشود که معمولاً پیشفرض آن %USERPROFILE%\AppData\Local\Temp است.
--time-stamp-type <type>
--update-interval <interval>
-w <outfile>
-X <eXtension options>
مشخص کردن گزینهای برای ارسال به یک ماژول Stratoshark. گزینهٔ افزونه (eXtension) به صورت extension_key:value است، که در آن extension_key میتواند موارد زیر باشد:
lua_script:lua_script_filename به Stratoshark اعلام میکند که اسکریپت مشخصشده را علاوه بر اسکریپتهای پیشفرض Lua بارگذاری کند.
lua_scriptnum:argument به Stratoshark اعلام میکند که آرگومان مشخصشده را به اسکریپت 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' ارسال میکند.
stdin_descr:description به Stratoshark اعلام میکند که هنگام ضبط از ورودی استاندارد (-i -) از توضیحات دادهشده استفاده کند.
-Y|--display-filter <displaY filter>
-z <statistics>
واداشتن Stratoshark به جمعآوری انواع مختلف آمار و نمایش نتیجه در پنجرهای که به صورت شبهبلادرنگ (semi-real time) بهروزرسانی میشود.
برخی از آمارهای پیادهسازیشده در حال حاضر عبارتند از:
-z help
گزینههای کالبدشکافی (DISSECTION OPTIONS)
-d <layer type>==<selector>,<decode-as protocol>
همانند قابلیت Decode As... در Wireshark، این گزینه به شما امکان میدهد مشخص کنید که یک نوع لایه چگونه باید کالبدشکافی شود. اگر نوع لایه مورد نظر (برای مثال، tcp.port یا udp.port برای شماره درگاه TCP یا UDP) دارای مقدار برگزیننده (selector) مشخصشده باشد، بستهها باید به عنوان پروتکل تعیینشده کالبدشکافی شوند.
مثال ۱.
کالبدشکافی
به عنوان
پورت (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 مطلق (absolute): زمان مطلق، به عنوان زمان محلی در منطقه زمانی شما، زمان واقعی ضبط بسته است بدون اینکه تاریخی نمایش داده شود
ad مطلق همراه با تاریخ (absolute with date): تاریخ مطلق، نمایشیافته به صورت YYYY-MM-DD، و زمان به عنوان زمان محلی در منطقه زمانی شما، زمان و تاریخ واقعی ضبط بسته است
adoy مطلق همراه با تاریخ با استفاده از روز سال (absolute with date using day of year): تاریخ مطلق، نمایشیافته به صورت YYYY/DOY، و زمان به عنوان زمان محلی در منطقه زمانی شما، زمان و تاریخ واقعی ضبط بسته است
d دلتا (delta): زمان دلتا، زمان سپریشده پس از ضبط بستهٔ قبلی است
dd دلتای نمایشی (delta_displayed): زمان delta_displayed، زمان سپریشده پس از ضبط بستهٔ نمایشیافتهٔ قبلی است.sp e epoch: زمان بر حسب ثانیه از مبدأ زمانی مبنا یا epoch (Jan 1, 1970 00:00:00)
r relative: زمان نسبی، زمان سپریشده میان نخستین بسته و بستهٔ جاری است
rc relative to capture start: زمان نسبی نسبت به آغاز ضبط، زمان سپریشده میان شروع ضبط و بستهٔ جاری است
u UTC: زمان مطلق بر پایهٔ UTC با پسوند "Z"، زمان واقعی ضبط بسته بدون نمایش تاریخ است
ud UTC with date: تاریخ مطلق، نمایشیافته بهصورت YYYY-MM-DD، و زمان بهصورت UTC با پسوند "Z"، زمان و تاریخ واقعی ضبط بسته است
udoy UTC with date using day of year: تاریخ مطلق، نمایشیافته بهصورت YYYY/DOY، و زمان بهصورت UTC با پسوند "Z"، زمان و تاریخ واقعی ضبط بسته است
.[N] تنظیم دقت: N تعداد ارقام اعشار (۰ تا ۹) است. در صورت استفاده از "." بدون N، دقت بهطور خودکار از فایل ردگیری (trace) تعیین میشود.
قالب پیشفرض، بهصورت نسبی با دقتی بر پایهٔ قالب ضبط است.
-u <s|hms>
مشخص میکند که قالبهای برچسب زمانی بسته در -t که زمانهای نسبی هستند (یعنی relative، delta و delta_displayed) چگونه نمایش داده شوند. گزینههای معتبر عبارتند از:
s برای ثانیه
hms برای ساعت، دقیقه و ثانیه
قالب پیشفرض، ثانیه است.
گزینههای عیبیابی (DIAGNOSTIC OPTIONS)
--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>
این فایلها شامل تنظیمات گوناگون پیکربندی 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 شامل تنظیمات شخصی (عمدتاً مربوط به واسط گرافیکی) مانند اندازهٔ فعلی پنجرهٔ Wireshark است. این فایل هنگام خروج از برنامه ذخیره شده و در شروع برنامه بهطور خودکار خوانده میشود. نکته: از پرچم خط فرمان -o میتوان برای بازنویسی تنظیمات این فایل استفاده کرد.
تنظیمات موجود در این فایل قالب مشابهی با فایلهای preferences دارند، و از همان دایرکتوری فایل تنظیمات ترجیحی شخصی استفاده میشود.
نکته: هر زمان که Wireshark بسته شود، فایل recent شما با تنظیمات جدید بازنویسی خواهد شد، و هرگونه توضیح و تنظیمات ناشناخته/منسوخ موجود در فایل از بین خواهد رفت.
پروتکلهای غیرفعال (فعال) شده (Disabled (Enabled) Protocols)
فایلهای disabled_protos شامل فهرستهای سراسری و شخصی از پروتکلهایی هستند که غیرفعال شدهاند، به طوری که تجزیهکنندههای (dissectors) آنها هرگز فراخوانی نمیشوند. این فایلها شامل نامهای پروتکل، در هر خط یکی، هستند؛ به طوری که نام پروتکل همان نامی است که در یک فیلتر نمایش (display filter) برای آن پروتکل استفاده میشود:
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 برای فعال قرار میگیرد:
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، برای تحلیل آنها استفاده میشوند. این فایل نحو (syntax) استاندارد فایل hosts را دارد؛ هر خط شامل یک نشانی IP و نام است که با فاصله از هم جدا شدهاند. فایل شخصی hosts، در صورت وجود، فایل موجود در دایرکتوری سراسری را بازنویسی میکند.
تحلیل نام فیلتر ضبط توسط 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 سراسری در دایرکتوری /etc در سیستمهای سازگار با یونیکس، مانند Linux، macOS، \*BSD، Solaris و AIX، و در دایرکتوری اصلی نصب (به عنوان مثال، C:\Program Files\Wireshark) در سیستمهای Windows جستجو میشود.
فایل ethers شخصی در همان دایرکتوری فایل ترجیحات (preferences) شخصی جستجو میشود.
تفکیک نام فیلتر ضبط توسط libpcap در سیستمهای سازگار با یونیکس و Npcap در Windows انجام میشود. به همین دلیل، برای تفکیک نام فیلتر ضبط، به فایل ethers شخصی Wireshark رجوع نخواهد شد.
تفکیک نام (manuf)
فایل manuf برای تطبیق بخش ۳-بایتی سازنده در یک آدرس سختافزاری ۶-بایتی با نام تولیدکننده به کار میرود؛ این فایل همچنین میتواند شامل آدرسهای شناختهشده 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 در این قالب به عنوان فایل 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 در این قالب به عنوان فایل services سراسری توزیع میشد. این اطلاعات اکنون برای افزایش سرعت راهاندازی برنامه درون آن کامپایل شده است، اما اطلاعات داخلی را میتوان با tshark -G services در این قالب استخراج کرد.
تفکیک نام (ipxnets)
فایلهای ipxnets برای مرتبط ساختن شماره شبکههای ۴-بایتی IPX با نامها استفاده میشوند. ابتدا فایل ipxnets سراسری بررسی میشود و اگر آن آدرس در آنجا یافت نشد، سپس فایل شخصی بررسی میگردد.
قالب آن همانند فایل ethers است، با این تفاوت که هر آدرس به جای شش بایت، چهار بایت است. علاوه بر این، آدرس میتواند به صورت یک عدد هگزادسیمال واحد نمایش داده شود، همانطور که در دنیای IPX رایجتر است، تا به صورت چهار اکتت هگزادسیمال. برای مثال، این چهار خط، خطوط معتبری از یک فایل ipxnets هستند:
C0.A8.2C.00 HR c0-a8-1c-00 CEO 00:00:BE:EF IT_Server1 110f FileServer3
فایل ipxnets سراسری در دایرکتوری /etc در سیستمهای سازگار با یونیکس، مانند Linux، macOS، \*BSD، Solaris و AIX، و در دایرکتوری اصلی نصب (به عنوان مثال، C:\Program Files\Wireshark) در سیستمهای Windows جستجو میشود.
فایل ipxnets شخصی در همان دایرکتوری فایل ترجیحات شخصی جستجو میشود.
تفکیک نام (ss7pcs)
فایل ss7pcs برای ترجمه point codeهای SS7 به نامها به کار میرود. این فایل از دایرکتوری پیکربندی شخصی خوانده میشود.
هر خط در این فایل از یک شناسه شبکه تشکیل شده است که به دنبال آن یک خط تیره، سپس یک point code در مبنای دهدهی و یک نام گره قرار دارد که با نویسههای فاصلهساز از هم جدا شدهاند. یک مثال به صورت زیر است:
2-1234 MyPointCode1
تفکیک نام (vlans)
فایل vlans برای ترجمه شناسههای برچسب VLAN (یا VLAN tag ID) به نامها استفاده میشود. این فایل از دایرکتوری پیکربندی شخصی خوانده میشود.
هر خط در این فایل شامل یک شناسه برچسب VLAN است که با نویسههای فاصلهساز از یک نام جدا شده است. یک مثال به صورت زیر است:
123 Server-Lan 2049 HR-Client-LAN
فایلهای cfilters حاوی فیلترهای ضبط سراسری سیستم و شخصی هستند. هر خط شامل یک فیلتر است که با رشته نمایشدادهشده در جعبه گفتگو درون علامت نقلقول آغاز میشود و بهدنبال آن خود رشته فیلتر میآید:
"HTTP" port 80 "DCERPC" port 135
فایل سراسری cfilters از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی cfilters از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند. این فایل از طریق گفتگوی Capture:Capture Filters نوشته میشود.
اگر فایل سراسری cfilters وجود داشته باشد، تنها در صورتی استفاده میشود که فایل شخصی cfilters وجود نداشته باشد؛ فیلترهای ضبط سراسری و شخصی ادغام نمیشوند.
فیلترهای نمایش
فایلهای dfilters حاوی فیلترهای نمایش سراسری سیستم و شخصی هستند. هر خط شامل یک فیلتر است که با رشته نمایشدادهشده در جعبه گفتگو درون علامت نقلقول آغاز میشود و بهدنبال آن خود رشته فیلتر میآید:
"HTTP" http "DCERPC" dcerpc
فایل سراسری dfilters از همان دایرکتوری فایل ترجیحات سراسری استفاده میکند.
فایل شخصی dfilters از همان دایرکتوری فایل ترجیحات شخصی استفاده میکند. این فایل از طریق گفتگوی Analyze:Display Filters نوشته میشود.
اگر فایل سراسری dfilters وجود داشته باشد، تنها در صورتی استفاده میشود که فایل شخصی dfilters وجود نداشته باشد؛ فیلترهای نمایش سراسری و شخصی ادغام نمیشوند.
ماکروهای فیلتر نمایش
فایلهای 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 هنگام راهاندازی، این فایل جستجو شده و برای مهاجرت به قالب جدید استفاده میشود.
فیلترهای رنگی (قواعد رنگآمیزی)
فایلهای 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 به عنوان یک بسته برنامهای نصب شده باشد، پوشه سراسری افزونه در عوض %APPDIR%/Contents/PlugIns/wireshark خواهد بود.
در Windows، پوشه سراسری افزونه plugins/ زیر دایرکتوری نصب اصلی است (برای مثال، C:\Program Files\Wireshark\plugins\). پوشه شخصی افزونه %APPDATA%\Wireshark\plugins است (یا اگر %APPDATA% تعریف نشده باشد، %USERPROFILE%\Application Data\Wireshark\plugins).
افزونههای Lua در پوشههای افزونه ذخیره میشوند؛ افزونههای کامپایلشده در زیرپوشههای پوشههای افزونه ذخیره میشوند، به گونهای که نام زیرپوشه شماره نسخه فرعی Wireshark (X.Y) است. یک سطح سلسلهمراتبی دیگر برای هر نوع افزونه Wireshark وجود دارد (libwireshark، libwiretap و codecs). برای مثال، مکان یک افزونه libwireshark به نام foo.so (foo.dll در Windows) برابر با 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 فعال و غیرفعال میشوند.
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
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_DEBUG
WIRESHARK_LOG_NOISY
برنامهٔ Stratoshark بدون مشارکتهای سخاوتمندانهٔ صدها توسعهدهنده، نمیتوانست به نرمافزار قدرتمند و پر از قابلیتی که امروز هست تبدیل شود.
فهرست کامل نویسندگان را میتوان در فایل AUTHORS در مخزن کد منبع Wireshark یافت.
همچنین ببینید (SEE ALSO)
wireshark-filter(4), strato(1), editcap(1), dumpcap(1), mergecap(1)
نکات (NOTES)
این صفحهٔ راهنما مربوط به Stratoshark نسخهٔ 0.10.3 است. جدیدترین نسخهٔ Stratoshark را میتوان در نشانی زیر یافت: https://stratoshark.org.
نسخههای HTML صفحههای راهنمای پروژهٔ Wireshark در نشانی زیر در دسترس هستند: https://www.wireshark.org/docs/man-pages.
| 2026-09-03 |