TSHARK(1)   TSHARK(1)

tshark - تخلیه و تحلیل ترافیک شبکه

tshark [ -i <capture interface>|- ] [ -f <capture filter> ] [ -2 ] [ -r <infile> ] [ -w <outfile>|- ] [ options ] [ <filter> ]

tshark -h|--help

tshark -v|--version

TShark یک تحلیل‌گر پروتکل شبکه است. این ابزار به شما امکان می‌دهد تا داده‌های بسته‌ها را از یک شبکهٔ زنده ضبط کنید، یا بسته‌ها را از یک فایل ضبط ذخیره‌شده از قبل بخوانید، و سپس شکل رمزگشایی‌شدهٔ آن بسته‌ها را در خروجی استاندارد چاپ کرده یا آن‌ها را در یک فایل ذخیره کنید. قالب بومی فایل‌های ضبط در TShark، قالب pcapng است که همان قالب مورد استفاده توسط Wireshark و ابزارهای گوناگون دیگر نیز می‌باشد.

بدون تنظیم هیچ گزینه‌ای، TShark عملکردی بسیار شبیه به tcpdump خواهد داشت. این برنامه از کتابخانهٔ pcap برای ضبط ترافیک از اولین رابط شبکهٔ دردسترس استفاده کرده و برای هر بستهٔ دریافتی، یک خط خلاصه در خروجی استاندارد نمایش می‌دهد.

هنگام اجرا با گزینهٔ -r، که یک فایل ضبط را برای خواندن مشخص می‌کند، TShark مجدداً بسیار شبیه به tcpdump عمل خواهد کرد، بسته‌ها را از فایل خوانده و برای هر بستهٔ خوانده‌شده یک خط خلاصه در خروجی استاندارد نمایش می‌دهد. TShark قادر است همان فایل‌های ضبطی را که توسط Wireshark پشتیبانی می‌شوند شناسایی کرده، بخواند و بنویسد. فایل ورودی نیازی به پسوند نام فایل خاصی ندارد؛ قالب فایل و فشرده‌سازی اختیاری gzip، Zstandard یا LZ4 به‌طور خودکار شناسایی خواهند شد. نزدیک به ابتدای بخش توضیحات (DESCRIPTION) در wireshark(1) یا https://www.wireshark.org/docs/man-pages/wireshark.html شرح مفصلی از نحوهٔ مدیریت این موضوع توسط Wireshark آورده شده است، که دقیقاً همان روشی است که TShark به کار می‌گیرد.

پشتیبانی از فایل‌های فشرده از کتابخانهٔ zlib استفاده می‌کند (و در نتیجه به آن نیاز دارد). اگر کتابخانهٔ zlib هنگام کامپایل TShark موجود نباشد، کامپایل برنامه ممکن خواهد بود، اما برنامهٔ حاصل قادر به خواندن فایل‌های فشرده نخواهد بود. به همین ترتیب، LZ4 و ZStandard نیز به کتابخانه‌های مربوط به خود نیاز دارند.

هنگام نمایش بسته‌ها در خروجی استاندارد، TShark به‌طور پیش‌فرض یک خط خلاصه شامل فیلدهای مشخص‌شده در فایل ترجیحات (preferences) را می‌نویسد (که همان فیلدهای نمایش‌یافته در قاب فهرست بسته‌ها در Wireshark نیز هستند)، اگرچه اگر بسته‌ها را هم‌زمان با ضبط آن‌ها بنویسد، به جای نوشتن بسته‌ها از یک فایل ضبط ذخیره‌شده، فیلد "frame number" (شماره فریم) را نشان نخواهد داد. اگر گزینهٔ -V مشخص شده باشد، در عوض نمایی از جزئیات بسته را می‌نویسد و تمام فیلدهای همهٔ پروتکل‌های موجود در بسته را نشان می‌دهد. اگر گزینهٔ -O مشخص شده باشد، تنها جزئیات کامل پروتکل‌های مشخص‌شده را نشان می‌دهد و برای سایر پروتکل‌ها تنها خط جزئیات سطح بالا (top-level) را نمایش خواهد داد. برای یافتن نام‌های اختصاری پروتکل‌هایی که می‌توانید مشخص کنید، از خروجی "tshark -G protocols" استفاده کنید. اگر گزینهٔ -P همراه با گزینه‌های -V یا -O مشخص شود، هم خط خلاصه برای کل بسته و هم جزئیات آن نمایش داده خواهند شد.

ضبط بسته‌ها با استفاده از کتابخانهٔ pcap انجام می‌شود. این کتابخانه از تعیین یک عبارت فیلتر پشتیبانی می‌کند؛ بسته‌هایی که با آن فیلتر مطابقت نداشته باشند دور ریخته می‌شوند. گزینهٔ -f برای مشخص کردن یک فیلتر ضبط به کار می‌رود. نحو یک فیلتر ضبط توسط کتابخانهٔ pcap تعریف می‌شود؛ این نحو با نحو فیلتر نمایش که در ادامه توضیح داده شده متفاوت است، و سازوکار فیلترسازی آن در توانایی‌های خود محدودتر است.

فیلترهای نمایش در TShark، که به شما امکان می‌دهند مشخص کنید کدام بسته‌ها رمزگشایی شده یا در یک فایل نوشته شوند، بسیار قدرتمند هستند؛ فیلدهای قابل فیلتر شدن در TShark نسبت به سایر تحلیل‌گرهای پروتکل بیشتر است و نحوی که می‌توانید برای ساخت فیلترهای خود استفاده کنید غنی‌تر است. با پیشرفت TShark، انتظار می‌رود فیلدهای پروتکلی بیشتر و بیشتری در فیلترهای نمایش مجاز شوند. فیلترهای نمایش از همان نحو فیلترهای نمایش و رنگ‌بندی در Wireshark استفاده می‌کنند؛ یک فیلتر نمایش با گزینهٔ -Y مشخص می‌شود.

فیلترهای نمایش را می‌توان هنگام ضبط یا هنگام خواندن از یک فایل ضبط مشخص کرد. توجه داشته باشید که فیلترهای ضبط بسیار کارآمدتر از فیلترهای نمایش هستند، و در صورتی که یک فیلتر نمایش برای ضبط زنده مشخص شود، ممکن است همگام ماندن با یک شبکهٔ شلوغ برای TShark دشوارتر باشد، بنابراین اگر از فیلتر نمایش استفاده می‌کنید، احتمال از دست رفتن بسته‌ها بیشتر خواهد بود.

یک فیلتر ضبط یا نمایش را می‌توان به ترتیب با گزینهٔ -f یا -Y مشخص کرد؛ در این حالت کل عبارت فیلتر باید به عنوان یک آرگومان واحد مشخص شود (به این معنی که اگر شامل فاصله باشد، باید درون علامت نقل‌قول قرار گیرد)، یا می‌توان آن را با آرگومان‌های خط فرمان پس از آرگومان‌های گزینه‌ها مشخص کرد که در این صورت تمام آرگومان‌های پس از آرگومان‌های فیلتر به عنوان یک عبارت فیلتر در نظر گرفته می‌شوند. اگر فیلتر با آرگومان‌های خط فرمان پس از آرگومان‌های گزینه‌ها مشخص شود، در صورتی که ضبط زنده در حال انجام باشد (یعنی گزینهٔ -r مشخص نشده باشد) به عنوان فیلتر ضبط، و در صورتی که یک فایل ضبط در حال خوانده شدن باشد (یعنی گزینهٔ -r مشخص شده باشد) به عنوان فیلتر نمایش در نظر گرفته می‌شود.

اگر هنگام ضبط بسته‌ها یا خواندن از یک فایل ضبط، گزینهٔ -w مشخص شده باشد، TShark بسته‌ها را در خروجی استاندارد نمایش نمی‌دهد. در عوض، بسته‌ها را در یک فایل ضبط با نام مشخص‌شده توسط گزینهٔ -w می‌نویسد. توجه داشته باشید که فیلترهای نمایش در حال حاضر هنگام ضبط و ذخیرهٔ بسته‌های ضبط‌شده پشتیبانی نمی‌شوند.

اگر می‌خواهید شکل رمزگشایی‌شدهٔ بسته‌ها را در یک فایل بنویسید، TShark را بدون گزینهٔ -w اجرا کرده و خروجی استاندارد آن را به فایل هدایت کنید (از گزینهٔ -w استفاده نکنید).

اگر می‌خواهید بسته‌ها در خروجی استاندارد نمایش داده شوند و هم‌زمان در یک فایل نیز ذخیره گردند، علاوه بر گزینهٔ -w گزینهٔ -P را مشخص کنید تا خط خلاصه نمایش داده شود، علاوه بر گزینهٔ -w گزینهٔ -V را مشخص کنید تا جزئیات بسته نمایش یابد، و گزینهٔ -O را همراه با فهرستی از پروتکل‌ها مشخص کنید تا جزئیات کامل پروتکل‌های مشخص‌شده و خط جزئیات سطح بالا برای تمام پروتکل‌های دیگر نمایش داده شود. اگر گزینهٔ -P همراه با گزینهٔ -V یا -O استفاده شود، خط خلاصه به همراه خطوط جزئیات نمایش داده خواهد شد.

هنگام نوشتن بسته‌ها در یک فایل، TShark به‌طور پیش‌فرض فایل را در قالب pcapng می‌نویسد، و تمام بسته‌هایی را که مشاهده می‌کند در فایل خروجی ذخیره می‌نماید. از گزینهٔ -F می‌توان برای مشخص کردن قالبی که فایل با آن نوشته می‌شود استفاده کرد. فهرست قالب‌های فایل موجود با اجرای گزینهٔ -F بدون مقدار نمایش داده می‌شود. با این حال، برای ضبط زنده، تنها می‌توانید قالب فایلی را مشخص کنید که توسط dumpcap(1) پشتیبانی می‌شود، یعنی pcapng یا pcap. از گزینهٔ --compress نیز می‌توان برای مشخص کردن روش فشرده‌سازی استفاده کرد؛ فهرست روش‌های فشرده‌سازی پشتیبانی‌شده برای نوشتن را می‌توان با اجرای گزینهٔ --compress بدون آرگومان مشاهده کرد. اگر گزینهٔ --compress داده نشود، روش فشرده‌سازی مورد نظر (در صورت وجود) از پسوند نام فایل ارائه‌شده به عنوان آرگومان به گزینهٔ -w استنباط می‌شود.

هنگام ضبط بسته‌ها، TShark یک خط اولیه در خطای استاندارد می‌نویسد که رابط‌هایی را که بسته‌ها از آن‌ها در حال ضبط هستند فهرست می‌کند و در صورتی که اطلاعات بسته‌ها در ترمینال نمایش داده نشود، شمارش مداومی از بسته‌های ضبط‌شده را در خروجی استاندارد می‌نویسد. اگر گزینهٔ -q مشخص شده باشد، نه شمارش مداوم و نه اطلاعات بسته‌ها نمایش داده نخواهند شد؛ در عوض، در پایان ضبط، تعداد بسته‌های ضبط‌شده نمایش داده خواهد شد. اگر گزینهٔ -Q مشخص شده باشد، نه خط اولیه، نه اطلاعات بسته‌ها، و نه هیچ شمارشی از بسته‌ها نمایش داده نخواهد شد. در صورت استفاده از گزینهٔ -q یا -Q، می‌توان از گزینه‌های -P، -V یا -O برای نمایش خروجی متناظر استفاده کرد، حتی اگر سایر خروجی‌ها سرکوب شده باشند.

هنگام خواندن بسته‌ها، گزینه‌های -q و -Q نمایش خلاصه یا جزئیات بسته را سرکوب می‌کنند؛ این کار زمانی استفاده می‌شود که گزینه‌های -z به منظور نمایش آمار مشخص شده باشند، به طوری که تنها آمار و نه اطلاعات بسته نمایش داده شود.

گزینهٔ -G یک حالت ویژه است که صرفاً باعث می‌شود TShark یکی از چندین نوع واژه‌نامهٔ داخلی را تخلیه کرده و سپس خارج شود..SH "گزینه‌ها (OPTIONS)"

-2

یک تحلیل دو-گذره (two-pass) انجام می‌دهد. این کار باعث می‌شود TShark خروجی را تا پایان گذر اول بافر کند، اما به آن اجازه می‌دهد فیلدهایی که نیازمند آگاهی از آینده هستند، مانند فیلدهای 'response in frame #' را پر کند. همچنین امکان محاسبه صحیح وابستگی‌های فریم‌های بازسرهم‌بندی (reassembly) را فراهم می‌سازد. این کار نیازمند توانایی جستجو به عقب (seek backwards) روی ورودی است و بنابراین نمی‌توان از آن برای ضبط‌های زنده یا هنگام خواندن از یک pipe یا FIFO استفاده کرد.

-a|--autostop <capture autostop condition>

معیاری را مشخص می‌کند که تعیین می‌کند TShark چه زمانی نوشتن در فایل ضبط را متوقف کند. این معیار به شکل test:value است که در آن test یکی از موارد زیر است:

duration:value توقف نوشتن در فایل ضبط پس از سپری شدن value ثانیه. مقادیر ممیز شناور (مانند 0.5) مجاز هستند.

files:value توقف نوشتن در فایل‌های ضبط پس از نوشته شدن تعداد value فایل.

filesize:value توقف نوشتن در فایل ضبط پس از رسیدن اندازه آن به value کیلوبایت. اگر این گزینه همراه با گزینه -b استفاده شود، TShark در صورت رسیدن به این اندازه، نوشتن در فایل ضبط جاری را متوقف کرده و به فایل بعدی منتقل می‌شود. هنگام خواندن یک فایل ضبط، TShark پس از اینکه تعداد بایت‌های خوانده‌شده از این عدد فراتر رفت، خواندن فایل را متوقف می‌کند (بسته به‌طور کامل خوانده می‌شود، بنابراین ممکن است بایت‌های بیشتری نسبت به این عدد خوانده شود). توجه داشته باشید که اندازه فایل به حداکثر مقدار ۲ ترابایت محدود است، هرچند اگر تعداد بسته‌ها از 232 (۴۲۹۴۹۶۷۲۹۶) بیشتر شود ممکن است پیش از آن با مشکل مواجه شوید.

packets:value جابه‌جایی به فایل بعدی پس از اینکه حاوی value بسته شد. این مورد شامل بسته‌هایی که از فیلتر نمایش عبور نمی‌کنند نمی‌شود، بنابراین ممکن است با -c<capture packet count> متفاوت باشد.

-A <user>:<password>

مشخص کردن یک کاربر و گذرواژه هنگامی که TShark از یک رابط rpcap:// که نیازمند احراز هویت است، بسته‌ها را ضبط می‌کند.

این گزینه همراه با libpcap با پشتیبانی راه‌دور فعال در دسترس است.

-b|--ring-buffer <capture ring buffer option>

باعث می‌شود TShark در حالت «چند فایلی» (multiple files) اجرا شود. در این حالت، TShark در چندین فایل ضبط خواهد نوشت. هنگامی که نخستین فایل ضبط پر شد، TShark نوشتن را به فایل بعدی تغییر می‌دهد و به همین ترتیب ادامه می‌یابد.

نام‌های فایل ایجاد شده بر اساس نام فایل ارائه‌شده با گزینه -w، شماره فایل و تاریخ و زمان ایجاد هستند؛ مانند outfile_00001_20260714120117.pcap، outfile_00002_20260714120523.pcap، ...

با گزینه files همچنین امکان ایجاد یک «بافر حلقه‌ای» (ring buffer) وجود دارد. این کار فایل‌های جدید را تا رسیدن به تعداد فایل‌های مشخص‌شده پر می‌کند، و در آن نقطه TShark داده‌های اولین فایل را دور ریخته و شروع به نوشتن در آن فایل می‌کند و به همین ترتیب ادامه می‌دهد. اگر گزینه files تنظیم نشده باشد، فایل‌های جدید تا زمانی پر می‌شوند که یکی از شرایط توقف ضبط برقرار شود (یا دیسک پر شود).

این معیار به شکل key:value است، که در آن key یکی از موارد زیر است:

duration:value جابه‌جایی به فایل بعدی پس از سپری شدن value ثانیه، حتی اگر فایل جاری کاملاً پر نشده باشد. مقادیر ممیز شناور (مانند 0.5) مجاز هستند.

files:value شروع مجدد از فایل اول پس از نوشته شدن تعداد value فایل (ایجاد یک بافر حلقه‌ای). این مقدار باید کمتر از ۱۰۰۰۰۰ باشد. هنگام استفاده از تعداد زیادی فایل باید احتیاط کرد: برخی سیستم‌های فایل با فایل‌های زیاد در یک دایرکتوری به‌خوبی کار نمی‌کنند. معیار files برای کنترل زمان رفتن به فایل بعدی، نیازمند مشخص شدن یکی از موارد duration، interval یا filesize است. باید توجه داشت که هر پارامتر -b دقیقاً یک معیار می‌گیرد؛ برای تعیین دو معیار، هر یک باید با گزینه -b مشخص شوند.

filesize:value جابه‌جایی به فایل بعدی پس از رسیدن اندازه آن به value کیلوبایت. توجه داشته باشید که اندازه فایل به حداکثر مقدار ۲ ترابایت محدود است، هرچند اگر تعداد بسته‌ها از 232 (۴۲۹۴۹۶۷۲۹۶) بیشتر شود ممکن است پیش از آن با مشکل مواجه شوید.

interval:value جابه‌جایی به فایل بعدی زمانی که زمان مضرب دقیقی از value ثانیه باشد. برای مثال، از 3600 برای جابه‌جایی به فایل جدید در هر ساعت رأس ساعت استفاده کنید.

packets:value جابه‌جایی به فایل بعدی پس از اینکه حاوی value بسته شد.

printname:filename چاپ نام آخرین فایل نوشته‌شده در filename پس از بسته شدن فایل. filename می‌تواند stdout یا - برای خروجی استاندارد، یا stderr برای خطای استاندارد باشد.

nametimenum:value انتخاب بین دو الگوی نام فایل ذخیره. اگر value برابر ۱ باشد، بخش شماره فایل قبل از بخش زمان شروع قرار می‌گیرد؛ این رفتار اصلی و پیش‌فرض است (مانند log_00001_20260714164426.pcap). اگر value بزرگتر از ۱ باشد، بخش زمان شروع قبل از شماره فایل قرار می‌گیرد (مانند log_20210828164426_00001.pcap). حالت دوم باعث می‌شود ترتیب الفبایی معادل با ترتیب زمان ایجاد باشد، و مجموعه‌های مرتبط چندفایلی را در یک دایرکتوری در کنار یکدیگر نگه می‌دارد.

مثال: tshark -b filesize:1000 -b files:5 یک بافر حلقه‌ای با پنج فایل که اندازه هر یک یک مگابایت است ایجاد می‌کند.

-B|--buffer-size <capture buffer size>

تنظیم اندازه بافر ضبط (به MiB، مقدار پیش‌فرض 2 MiB است). این گزینه توسط درایور ضبط برای ذخیره موقت داده‌های بسته تا زمان نوشتن آن‌ها روی دیسک استفاده می‌شود. اگر هنگام ضبط با بسته‌های از دست رفته (drop) مواجه شدید، سعی کنید این اندازه را افزایش دهید. توجه داشته باشید که اگرچه TShark به‌طور پیش‌فرض تلاش می‌کند اندازه بافر را روی 2 MiB تنظیم کند و می‌توان آن را روی مقادیر بزرگتری تنظیم کرد، سیستم یا رابطی که روی آن ضبط می‌کنید ممکن است بدون اطلاع اندازه بافر ضبط را به مقدار کمتری محدود کند یا آن را به مقدار بالاتری افزایش دهد.

این گزینه در سیستم‌های سازگار با 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>

اجرا با پروفایل پیکربندی داده‌شده.

اگر همراه با --global-profile استفاده شود، پروفایل مشخص‌شده به جای دایرکتوری پیکربندی شخصی کاربر، از دایرکتوری پیکربندی سراسری بارگیری می‌شود. (معمولاً در UN*X برابر '/usr/share/wireshark/profiles' است؛ در Windows، این دایرکتوری یک زیردایرکتوری profiles از دایرکتوری محل نصب Wireshark است، مثلاً C:\Program Files\Wireshark\profiles. در macOS، هنگام اجرا از یک بسته نرم‌افزاری (app bundle)، زیردایرکتوری Contents/Resources/share/wireshark/profiles درون بسته برنامه است.)

این گزینه در محیط‌های اشتراکی یا تنظیمات آزمون‌های خودکار که به پیکربندی‌های یکپارچه نیاز است و باید از تنظیمات ویژه کاربر اجتناب شود، مفید است.

-D|--list-interfaces

چاپ فهرستی از رابط‌هایی که TShark می‌تواند روی آن‌ها بسته‌ها را ضبط کند، و سپس خروج. برای هر رابط شبکه، یک شماره و یک نام رابط، و در صورت وجود یک توضیح متنی از رابط چاپ می‌شود. نام یا شماره رابط را می‌توان به پرچم -i برای مشخص کردن رابط ضبط داد. استفاده از شماره می‌تواند در سیستم‌های Windows که رابط‌ها نام‌های طولانی و معمولاً حاوی یک GUID دارند، بسیار مفید باشد.

-e <field>

افزودن یک فیلد به فهرست فیلدهای نمایشی در صورتی که -T ek|fields|json|pdml انتخاب شده باشد. این گزینه می‌تواند چندین بار در خط فرمان استفاده شود. اگر گزینه -T fields انتخاب شده باشد، باید حداقل یک فیلد تعیین شود. می‌توان از انواع ستون‌ها با پیشوند "_ws.col." استفاده کرد. قرار دادن نماد at (@) قبل از نام فیلد، داده‌ها را به صورت بایت‌های هگزادسیمال نمایش می‌دهد.

مثال: tshark -T fields -e frame.number -e ip.addr -e udp -e _ws.col.info

فیلدها به‌طور پیش‌فرض با نویسه‌های تب (tab) جدا می‌شوند. -E قالب فیلدهای چاپ‌شده را کنترل می‌کند. ارائه یک پروتکل به جای یک فیلد واحد، خلاصه پروتکل (برچسب زیردرخت) را از جزئیات بسته به صورت یک فیلد واحد چاپ خواهد کرد. اگر خلاصه پروتکل تنها حاوی نام پروتکل باشد (مانند "Hypertext Transfer Protocol")، آن‌گاه نام فیلتر پروتکل ("http") چاپ خواهد شد.

-E <field print option>

تنظیم یک گزینه برای کنترل چاپ فیلدها هنگامی که -T fields انتخاب شده است.

گزینه‌ها عبارتند از:

bom=y|n اگر y باشد، خروجی را با نشانگر ترتیب بایت UTF-8 (هگزادسیمال ef, bb, bf) پیشوندگذاری می‌کند. پیش‌فرض n است.

header=y|n اگر y باشد، فهرستی از نام فیلدهای تعیین‌شده با -e را به عنوان خط اول خروجی چاپ می‌کند؛ نام فیلدها با همان نویسه مقادیر فیلد جدا می‌شوند. پیش‌فرض n است.

separator=/t|/s|<character> تنظیم نویسه جداکننده برای استفاده در فیلدها. اگر /t باشد از نویسه تب استفاده می‌شود (این حالت پیش‌فرض است)، و اگر /s باشد، از یک فاصله تک استفاده خواهد شد. در غیر این صورت، هر نویسه‌ای که بتواند توسط خط فرمان به عنوان بخشی از گزینه پذیرفته شود، می‌تواند استفاده شود.

occurrence=f|l|a انتخاب اینکه برای فیلدهایی با چند رخداد از کدام رخداد استفاده شود. اگر f باشد اولین رخداد، اگر l باشد آخرین رخداد، و اگر a باشد همه رخدادها استفاده خواهند شد (این حالت پیش‌فرض است).

aggregator=,|/s|<character> تنظیم نویسه تجمیع‌کننده برای استفاده در فیلدهایی که چند رخداد دارند. اگر , باشد از کاما استفاده می‌شود (این حالت پیش‌فرض است)، و اگر /s باشد، از یک فاصله تک استفاده خواهد شد. در غیر این صورت، هر نویسه‌ای که بتواند توسط خط فرمان به عنوان بخشی از گزینه پذیرفته شود، قابل استفاده است.

quote=d|s|n تنظیم نویسه نقل‌قول برای احاطه کردن فیلدها. d از نقل‌قول دوتایی (double-quotes)، s از نقل‌قول تکی (single-quotes)، و n از بدون نقل‌قول (پیش‌فرض) استفاده می‌کند. اگر نویسه نقل‌قول در مقدار یک فیلد ظاهر شود، با تکرار شدن گریز داده می‌شود (escaped).

escape=y|n اگر y باشد، نویسه‌های کنترلی فضای خالی (تب، سطر جدید، بازگشت به ابتدای سطر، پرش صفحه، و تب عمودی)، پس‌بر (backspace)، و بک‌اسلش در مقادیر فیلد با توالی‌های گریز سبک C جایگزین می‌شوند؛ مانند "\n" برای سطر جدید. اگر n باشد، رشته‌های مقدار فیلد همان‌طور که هستند چاپ می‌شوند. پیش‌فرض y است.

escape_formulas=y|n اگر y باشد، به ابتدای هر مقدار فیلدی که ممکن است یک برنامه صفحه‌گسترده آن را به عنوان فرمول ارزیابی کند یک آپوستروف اضافه می‌کند تا داده‌های بسته نتوانند فرمولی را به یک فایل CSV که بعداً در یک صفحه‌گسترده باز می‌شود تزریق کنند. مقادیری که با =، +، - یا @ شروع شوند (احتمالاً با فاصله‌های خالی در ابتدا) تحت تأثیر قرار می‌گیرند. توجه داشته باشید که این کار مقادیر صادرشده را تغییر می‌دهد و به‌ویژه برای اعداد منفی معتبر نیز اعمال می‌شود، بنابراین به‌طور پیش‌فرض غیرفعال است؛ زمانی آن را فعال کنید که خروجی به جای پردازش ماشینی بیشتر، برای یک برنامه صفحه‌گسترده در نظر گرفته شده باشد. پیش‌فرض n است.

split=<proto> تقسیم خروجی به یک سطر به ازای هر نمونه پیام از پروتکل <proto> در یک بسته. این قابلیت زمانی مفید است که یک بسته منفرد حاوی چندین پیام پروتکل باشد (مانند چندین پیام Diameter که در یک بسته SCTP بسته‌بندی شده‌اند). فیلدهایی که متعلق به یک نمونه پیام خاص هستند تنها در سطر همان نمونه خروجی داده می‌شوند، در حالی که فیلدهایی که تحت هیچ نمونه‌ای نیستند (مانند فیلدهای سطح فریم) در هر سطر تکرار می‌شوند. این گزینه تنها بر خروجی CSV مربوط به -T fields اعمال می‌شود. به‌طور پیش‌فرض، هیچ تقسیمی انجام نمی‌شود.

-f <capture filter>

تنظیم عبارت فیلتر ضبط.

این گزینه می‌تواند چندین بار تکرار شود. اگر قبل از اولین وقوع گزینه -i استفاده شود، عبارت فیلتر ضبط پیش‌فرض را تنظیم می‌کند. اگر بعد از یک گزینه -i استفاده شود، عبارت فیلتر ضبط را برای رابطی که توسط آخرین گزینه -i پیش از این گزینه مشخص شده تنظیم می‌کند. اگر عبارت فیلتر ضبط به‌طور اختصاصی تنظیم نشود، عبارت فیلتر ضبط پیش‌فرض در صورت ارائه استفاده می‌شود.

نام‌های فیلتر ضبط از پیش تعریف‌شده، همان‌طور که در مورد منوی گرافیکی Capture→Capture Filters نشان داده شده است، می‌تواند با قرار دادن پیشوند "predef:" به عنوان آرگومان استفاده شود. مثال: tshark -f "predef:MyPredefinedHostOnlyFilter"

-F <file format>

تنظیم قالب فایل برای فایل ضبط خروجی که با گزینه -w نوشته می‌شود. خروجی نوشته‌شده با گزینه -w داده‌های خام بسته است نه متن، بنابراین هیچ گزینه -F برای درخواست خروجی متنی وجود ندارد. گزینه -F بدون مقدار، قالب‌های موجود را فهرست می‌کند. پیش‌فرض قالب pcapng است (مگر اینکه این پیش‌فرض در ترجیحات تغییر کرده باشد). .

-g

این گزینه باعث می‌شود فایل(های) خروجی با مجوز خواندن گروهی (group-read) ایجاد شوند (به این معنی که فایل(های) خروجی توسط سایر اعضای گروه کاربر فراخواننده قابل خواندن است).

-G <report type>

گزینه -G باعث می‌شود TShark یکی از چندین نوع واژه‌نامه (glossary) را تخلیه (dump) کرده و سپس خارج شود. تعیین نوع واژه‌نامه اکنون اجباری است؛ نسخه‌های قبلی در صورت عدم ارائه نوع، گزارش fields را به‌طور پیش‌فرض تولید می‌کردند. به استثنای یک مورد، گزارش‌ها پیکربندی فعلی را منعکس می‌کنند، از جمله آنچه توسط گزینه -C داده شده یا توسط گزینه‌های دیگر خط فرمان اصلاح شده است. استفاده از نوع گزارش help تمام انواع گزارش‌های موجود را فهرست می‌کند.

انواع گزارش‌های موجود عبارتند از:

column-formats قالب‌های ستونی قابل درک برای TShark را تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

رشته قالب (مانند "%rD")

فیلد ۲

توضیحات متنی رشته قالب (مانند "Dest port (resolved)")

فیلد ۳

نام اختصاری فیلد استفاده‌شده برای متن ستون (مانند "_ws.col.res_dst_port")

این گزارش با یک مثال کاربردی دنبال می‌شود که نشان می‌دهد چگونه می‌توان ستون‌ها را با لغو کردن مقدار ترجیحی gui.column.format با -o تغییر داد.

currentprefs نسخه‌ای از فایل ترجیحات جاری را در stdout تخلیه می‌کند.

decodes ارتباطات «نوع لایه»/«رمزگشایی به عنوان» را در stdout تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

نوع لایه، مانند "tcp.port"

فیلد ۲

انتخاب‌گر در مبنا برای نمایش

فیلد ۳

نام «رمزگشایی به عنوان»، مانند "http"

defaultprefs یک فایل ترجیحات پیش‌فرض را در stdout تخلیه می‌کند. این گزارش تحت تأثیر سایر آرگومان‌های خط فرمان قرار نمی‌گیرد.

dissectors فهرستی از تشریح‌کننده‌های ثبت‌شده را در stdout تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

نام تشریح‌کننده

فیلد ۲

توضیحات تشریح‌کننده

dissector-tables فهرستی از جدول‌های تشریح‌کننده را در stdout تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

نام جدول تشریح‌کننده، مانند "tcp.port"

فیلد ۲

نام مورد استفاده برای جدول تشریح‌کننده در واسط گرافیکی (GUI)

فیلد ۳

نوع (نمایش متنی از نوع ftenum، یا "heuristic")

فیلد ۴

مبنای نمایش (برای انواع عدد صحیح)

فیلد ۵

نام پروتکل

فیلد ۶

پشتیبانی از «رمزگشایی به عنوان» (برای جدول‌های غیر اکتشافی)

elastic-mapping[,filter] فایل نگاشت ElasticSearch را در stdout تخلیه می‌کند. فیلدهایی که در حالت پیش‌فرض (رشته) قرار می‌گیرند نگاشت نخواهند شد.

filter یک فهرست اختیاری از نام‌های فیلتر پروتکل جداشده با کاما است که فایل نگاشت تولیدشده را به پروتکل‌های مشخص‌شده محدود می‌کند، تا از ایجاد یک فایل نگاشت حجیم که ممکن است برخی نرم‌افزارها (مانند Kibana) را دچار اختلال کند جلوگیری شود؛ مانند:

tshark -G elastic-mapping,ip,udp,dns

enterprises جدول شماره شرکت‌های خصوصی (PEN) متعلق به IANA را تخلیه می‌کند.

fieldcount تعداد فیلدهای سرآیند را در stdout تخلیه می‌کند.

fields[,prefix] محتوای پایگاه داده ثبت را در stdout تخلیه می‌کند. یک برنامه مستقل می‌تواند این خروجی را گرفته و آن را به جدول‌های مناسب، HTML یا موارد دیگر قالب‌بندی کند. در هر سطر یک رکورد وجود دارد. هر رکورد یا یک پروتکل است یا یک فیلد سرآیند که با فیلد اول از یکدیگر متمایز می‌شوند. فیلدها با تب جدا شده‌اند.

پروتکل‌ها (Protocols)

فیلد ۱

'P'

فیلد ۲

نام توصیفی پروتکل

فیلد ۳

نام اختصاری پروتکل

فیلدهای سرآیند (Header Fields)

فیلد ۱

'F'

فیلد ۲

نام توصیفی فیلد

فیلد ۳

نام اختصاری فیلد

فیلد ۴

نوع (نمایش متنی از نوع ftenum)

فیلد ۵

نام اختصاری پروتکل والد

فیلد ۶

مبنا برای نمایش (برای انواع عدد صحیح)؛ "عرض میدان بیتی والد" برای FT_BOOLEAN

فیلد ۷

ماسک بیتی: قالب: هگز: 0x....

فیلد ۸

متن توصیف‌کننده فیلد

یک آرگومان پیشوند جستجوی اختیاری را می‌توان به fields داد، که در این صورت خروجی به پروتکل‌ها و فیلدهایی محدود می‌شود که نام اختصاری آن‌ها با پیشوند جستجو آغاز شود.

خروجی جستجو (Search Output)

فیلد ۱

نام اختصاری پروتکل یا فیلد

فیلد ۲

نام توصیفی پروتکل یا فیلد

folders پوشه‌های مختلف مورد استفاده توسط TShark را تخلیه می‌کند. این اساساً همان داده‌هایی است که در برگه About | Folders وایرشارک گزارش می‌شود. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

نوع پوشه (مانند "Personal configuration:")

فیلد ۲

مکان پوشه (مانند "/home/vagrant/.config/wireshark/")

ftypes مقادیر "ftypes" (انواع پایه یا fundamental types) که برای TShark قابل درک هستند را تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

مقدار FTYPE (مانند "FT_IPv6")

فیلد ۲

توضیحات متنی نوع (مانند "IPv6 address")

heuristic-decodes رمزگشایی‌های اکتشافی (heuristic decodes) نصب‌شده در حال حاضر را تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

نام جدول تشریح‌کننده اکتشافی (مانند "tcp")

فیلد ۲

نام رمزگشای اکتشافی (مانند "ucp")

فیلد ۳

اکتشاف فعال است (مانند "T" یا "F")

فیلد ۴

اکتشاف به‌طور پیش‌فرض فعال است (مانند "T" یا "F")

فیلد ۵

نام کوتاه اکتشافی (مانند "ucp_tcp")

فیلد ۶

نام نمایشی اکتشافی (مانند "UCP over TCP")

help انواع گزارش‌های موجود را نمایش می‌دهد.

manuf جدول جستجوی آدرس MAC را در قالب manuf تخلیه می‌کند.

plugins افزونه‌های نصب‌شده کنونی را تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

کتابخانه افزونه/اسکریپت Lua/فایل اجرایی extcap (مانند "gryphon.so")

فیلد ۲

نسخه افزونه (مانند 0.0.4)

فیلد ۳

نوع افزونه ("dissector", "tap", "file type", و غیره)

فیلد ۴

مسیر کامل فایل افزونه

profiles[,filter] فهرستی از پروفایل‌ها را تخلیه می‌کند. انواع خاصی از پروفایل‌ها را می‌توان با فیلترهای "global"، "personal" یا "all" فهرست کرد. به‌طور پیش‌فرض، "all" نمایش داده می‌شود.

فیلد ۱

نام پروفایل

فیلد ۲

نوع پروفایل (شخصی، سراسری، پیش‌فرض)

protocols پروتکل‌های موجود در پایگاه داده ثبت را در stdout تخلیه می‌کند. یک برنامه مستقل می‌تواند این خروجی را گرفته و آن را به جدول‌های مناسب یا HTML یا هر قالب دیگری تبدیل کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند.

فیلد ۱

نام پروتکل

فیلد ۲

نام کوتاه پروتکل

فیلد ۳

نام فیلتر پروتکل

فیلد ۴

پروتکل فعال است (مانند "T" یا "F")

فیلد ۵

پروتکل به‌طور پیش‌فرض فعال است (مانند "T" یا "F")

فیلد ۶

پروتکل قابل تغییر وضعیت است (مانند "T" یا "F")

services جدول سرویس‌های انتقال (پورت) TCP، UDP و SCTP را تخلیه می‌کند.

values مقادیر value_strings، range_strings یا رشته‌های درستی/نادرستی (true/false) را برای فیلدهایی که آن‌ها را دارند تخلیه می‌کند. در هر سطر یک رکورد وجود دارد. فیلدها با تب جدا شده‌اند. سه نوع رکورد وجود دارد: رشته مقدار (Value String)، رشته بازه (Range String) و رشته درستی/نادرستی (True/False String). فیلد اول، یعنی 'V'، 'R' یا 'T'، نوع رکورد را مشخص می‌کند.

رشته‌های مقدار (Value Strings)

فیلد ۱

'V'

فیلد ۲

نام اختصاری فیلدی که این رشته مقدار مربوط به آن است

فیلد ۳

مقدار عدد صحیح

فیلد ۴

رشته

رشته‌های بازه (Range Strings)

فیلد ۱

'R'

فیلد ۲

نام اختصاری فیلدی که این رشته بازه مربوط به آن است

فیلد ۳

مقدار عدد صحیح: کران پایین

فیلد ۴

مقدار عدد صحیح: کران بالا

فیلد ۵

رشته

رشته‌های درستی/نادرستی (True/False Strings)

فیلد ۱

'T'

فیلد ۲

نام اختصاری فیلدی که این رشته درست/نادرست مربوط به آن است

فیلد ۳

رشته درست (True String)

فیلد ۴

رشته نادرست (False String)

-h|--help

چاپ شماره نسخه و گزینه‌ها و سپس خروج.

-H <input hosts file>

خواندن فهرستی از مدخل‌ها از یک فایل "hosts"، که سپس در یک فایل ضبط نوشته خواهند شد. مستلزم گزینه -W n است. می‌تواند چندین بار فراخوانی شود.

قالب فایل "hosts" در <https://en.wikipedia.org/wiki/Hosts_(file)>. مستند شده است.

-i|--interface <capture interface> | -

تنظیم نام رابط شبکه یا لوله‌ای (pipe) که برای ضبط زنده بسته‌ها استفاده می‌شود.

نام‌های رابط‌های شبکه باید با یکی از نام‌های فهرست‌شده در "tshark -D" (که در بالا توضیح داده شد) مطابقت داشته باشند؛ یک شماره که توسط "tshark -D" گزارش می‌شود نیز می‌تواند استفاده شود.

اگر هیچ رابطی مشخص نشود، TShark فهرست رابط‌ها را جستجو کرده، و در صورت وجود رابط‌های غیر loopback اولین آن‌ها را انتخاب می‌کند، و در صورت عدم وجود رابط‌های غیر loopback اولین رابط loopback را برمی‌گزیند. اگر اصلاً هیچ رابطی وجود نداشته باشد، TShark خطایی گزارش می‌دهد و عملیات ضبط را آغاز نمی‌کند.

نام‌های لوله باید یا نام یک FIFO (لوله نام‌گذاری‌شده) باشند یا "-" برای خواندن داده‌ها از ورودی استاندارد. در سیستم‌های Windows، نام لوله‌ها باید به صورت "\\.\pipe\pipename" باشد. داده‌های خوانده‌شده از لوله‌ها باید در قالب استاندارد pcapng یا pcap باشند. داده‌های pcapng باید همان ترتیب بایت (endianness) میزبان ضبط‌کننده را داشته باشند.

این گزینه می‌تواند چندین بار تکرار شود. هنگام ضبط از چندین رابط، فایل ضبط در قالب pcapng ذخیره خواهد شد.

-I|--monitor-mode

قرار دادن رابط در «حالت پایشگر» (monitor mode)؛ این قابلیت تنها روی رابط‌های Wi-Fi با استاندارد IEEE 802.11 و در برخی سیستم‌های عامل پشتیبانی می‌شود.

توجه داشته باشید که در حالت پایشگر ممکن است ارتباط آداپتور از شبکه‌ای که با آن مرتبط است قطع شود، به طوری که نتوانید از هیچ شبکه بی‌سیمی با آن آداپتور استفاده کنید. این امر در صورتی که در حالت پایشگر ضبط می‌کنید و با آداپتور دیگری به شبکه دیگری متصل نیستید، می‌تواند از دسترسی به فایل‌ها روی یک سرور شبکه، یا تحلیل نام‌های میزبان یا آدرس‌های شبکه جلوگیری کند.

این گزینه می‌تواند چندین بار تکرار شود. اگر قبل از اولین وقوع گزینه -i استفاده شود، حالت پایشگر را برای تمام رابط‌ها فعال می‌کند. اگر بعد از یک گزینه -i استفاده شود، حالت پایشگر را برای رابطی که توسط آخرین گزینه -i پیش از این گزینه مشخص شده است فعال می‌سازد.

-j <protocol match filter>

فیلتر تطبیق پروتکل که برای انواع فایل‌های خروجی ek|json|jsonraw|pdml استفاده می‌شود. تنها گره والد پروتکل گنجانده می‌شود. گره‌های فرزند تنها در صورتی گنجانده می‌شوند که به‌طور صریح در فیلتر مشخص شده باشند.

مثال: tshark -T json -j "ip ip.flags http"

-J <protocol match filter>

فیلتر سطح بالای پروتکل که برای انواع فایل‌های خروجی ek|json|jsonraw|pdml استفاده می‌شود. گره والد پروتکل و تمام گره‌های فرزند گنجانده می‌شوند. پروتکل‌های سطح پایین‌تر باید به‌طور صریح در فیلتر مشخص شوند.

مثال: tshark -T pdml -J "tcp http"

-l

تخلیه آنی (flush) خروجی استاندارد پس از چاپ اطلاعات هر بسته. (اگر -V مشخص شده باشد، این حالت دقیقاً بافر سطری نیست؛ با این حال، اگر -V مشخص نشده باشد مانند بافر سطری عمل می‌کند، زیرا برای هر بسته تنها یک سطر چاپ می‌شود، و از آنجا که -l معمولاً هنگام هدایت خروجی با لوله (pipe) از یک ضبط زنده به یک برنامه یا اسکریپت استفاده می‌شود تا خروجی یک بسته به محض مشاهده و تشریح آن نمایش یابد، باید به خوبی بافر سطری واقعی کار کند. ما این کار را به عنوان راه‌حلی برای یک نقص در کتابخانه C مایکروسافت ویژوال C++ انجام می‌دهیم.) این گزینه همچنین --update-interval را روی 0 میلی‌ثانیه تنظیم می‌کند.

این گزینه می‌تواند هنگام هدایت خروجی TShark با لوله به برنامه‌ای دیگر مفید باشد، زیرا به این معنی است که برنامه مقصد، داده‌های تشریح‌شده یک بسته را به محض اینکه TShark آن را ببیند و آن خروجی را تولید کند دریافت می‌کند، نه اینکه تنها زمانی که بافر خروجی استاندارد حاوی آن داده‌ها پر شود آن را ببیند.

-L|--list-data-link-types

فهرست کردن انواع پیوند داده (data link types) پشتیبانی‌شده توسط رابط و سپس خروج. انواع پیوند گزارش‌شده را می‌توان برای گزینه -y استفاده کرد.

-o <preference>:<value>

تنظیم یک مقدار ترجیحی (preference)، با اولویت نسبت به مقدار پیش‌فرض و هر مقداری که از یک فایل ترجیحات خوانده شده باشد. آرگومان این گزینه رشته‌ای به شکل prefname:value است، که در آن prefname نام ترجیح (همان نامی که در فایل ترجیحات ظاهر می‌شود) و value مقداری است که باید روی آن تنظیم شود.


نکته

TShark ترجیحات را ذخیره نمی‌کند، بنابراین از این گزینه برای تغییرات موقت
در یک بار اجرا استفاده کنید. برای تنظیم دائمی یک ترجیح، آن را در واسط گرافیکی Wireshark تغییر دهید یا مستقیماً فایل ترجیحات را ویرایش کنید، و در صورتی که برای شرایط مختلف به مجموعه‌های متفاوتی از ترجیحات نیاز دارید، چندین پروفایل پیکربندی بسازید.

-O <protocols>

مشابه گزینه -V است، اما باعث می‌شود TShark تنها نمای تفصیلی از فهرست جداشده با کامای protocols مشخص‌شده را نمایش دهد، و برای همه پروتکل‌های دیگر تنها سطر تفصیلی سطح بالا را نشان دهد، به جای اینکه نمای تفصیلی همه پروتکل‌ها را ارائه کند. برای یافتن نام‌های اختصاری پروتکل‌هایی که می‌توانید مشخص کنید، از خروجی "tshark -G protocols" استفاده کنید.

-p|--no-promiscuous-mode

رابط را در حالت بی‌قید (promiscuous mode) قرار ندهید. توجه داشته باشید که رابط ممکن است به دلیل دیگری در حالت بی‌قید باشد؛ بنابراین، -p نمی‌تواند تضمین کند که تنها ترافیک ضبط‌شده، ترافیک ارسال‌شده به یا از دستگاهی است که TShark روی آن در حال اجراست، یا ترافیک پخشی (broadcast) و ترافیک چندپخشی (multicast) دریافتی توسط آن دستگاه.

این گزینه می‌تواند چندین بار تکرار شود. اگر قبل از اولین وقوع گزینه -i استفاده شود، هیچ رابطی در حالت بی‌قید قرار نخواهد گرفت. اگر بعد از یک گزینه -i استفاده شود، رابطی که توسط آخرین گزینه -i پیش از این گزینه مشخص شده است در حالت بی‌قید قرار نمی‌گیرد.

-P|--print

رمزگشایی و نمایش خلاصه یا جزئیات بسته، حتی هنگام نوشتن داده‌های خام بسته با استفاده از گزینه -w، و حتی اگر خروجی بسته به روش دیگری با -Q سرکوب شده باشد.

-q

هنگام ضبط بسته‌ها، شمارش مداوم بسته‌های ضبط‌شده که معمولاً هنگام ذخیره ضبط در یک فایل نشان داده می‌شود را نمایش ندهید؛ در عوض، تنها در پایان ضبط، تعداد بسته‌های ضبط‌شده را نمایش دهید. در سیستم‌هایی که از سیگنال SIGINFO پشتیبانی می‌کنند (مانند BSDهای مختلف)، می‌توانید با فشردن نویسه «وضعیت» خود (معمولاً control-T، هرچند ممکن است دست‌کم در برخی BSDها به‌طور پیش‌فرض غیرفعال باشد، بنابراین باید صریحاً آن را برای استفاده تنظیم کنید) کاری کنید که تعداد فعلی نمایش داده شود.

هنگام خواندن یک فایل ضبط یا هنگام ضبط و عدم ذخیره در یک فایل، اطلاعات بسته را چاپ نکنید؛ این حالت زمانی مفید است که از گزینه -z برای محاسبه آمار استفاده می‌کنید و نمی‌خواهید اطلاعات بسته چاپ شود، بلکه تنها آمار را می‌خواهید.

-Q

هنگام ضبط بسته‌ها، پیام اولیه در خطای استاندارد که نشان می‌دهد ضبط روی کدام رابط‌ها در حال انجام است، شمارش مداوم بسته‌های ضبط‌شده هنگام ذخیره ضبط در یک فایل، و پیام نهایی که تعداد بسته‌های ضبط‌شده را ارائه می‌دهد، نمایش ندهید. تنها خطاهای واقعی در خطای استاندارد نمایش داده می‌شوند.

این گزینه خروجی کمتری نسبت به گزینه -q تولید می‌کند، بنابراین نام رابط و تعداد کل بسته‌ها در پایان ضبط به stderr ارسال نمی‌شوند.

هنگام خواندن یک فایل ضبط، یا هنگام ضبط و عدم ذخیره در یک فایل، اطلاعات بسته را چاپ نکنید؛ این حالت زمانی مفید است که از گزینه -z برای محاسبه آمار استفاده می‌کنید و نمی‌خواهید اطلاعات بسته چاپ شود، بلکه تنها آمار را می‌خواهید.

-r|--read-file <infile>

خواندن داده‌های بسته از infile؛ می‌تواند هر قالب فایل ضبط پشتیبانی‌شده‌ای باشد (از جمله فایل‌های فشرده). استفاده از لوله‌های نام‌گذاری‌شده یا stdin (-) در اینجا امکان‌پذیر است اما تنها با قالب‌های فایل ضبط خاصی (به‌ویژه قالب‌هایی که بتوان بدون حرکت به عقب خواند).


راهنمایی

خواندن یک ضبط زنده از خروجی استاندارد یک فرآیند دیگر از طریق یک لوله (pipe) می‌تواند
محدودیت‌هایی را که در حین ضبط زنده بر TShark اعمال می‌شود، مانند قالب‌های فایل یا فشرده‌سازی، دور بزند.

-R|--read-filter <Read filter>

اعمال فیلتر مشخص‌شده (که از قواعد نحوی فیلترهای خواندن/نمایش استفاده می‌کند، نه فیلترهای ضبط) در طول اولین گذر تحلیل. بسته‌هایی که با فیلتر تطابق ندارند برای گذرهای بعدی در نظر گرفته نمی‌شوند. این گزینه تنها با چندین گذر تحلیل معنی دارد، به -2 مراجعه کنید. برای فیلترسازی معمولی در تشریح تک‌گذره به جای آن از -Y استفاده کنید.

توجه داشته باشید که فیلدهای رو به جلو (forward-looking) مانند 'response in frame #' را نمی‌توان با این فیلتر استفاده کرد، زیرا در زمان اعمال این فیلتر هنوز محاسبه نشده‌اند.

-s|--snapshot-length <capture snaplen>

تنظیم طول پیش‌فرض برش بسته (snapshot length) برای استفاده هنگام ضبط داده‌های زنده. حداکثر snaplen بایت از هر بسته شبکه در حافظه خوانده شده یا روی دیسک ذخیره می‌شود. مقدار 0 طول برش را روی 262144 تنظیم می‌کند تا بسته به‌طور کامل ضبط شود؛ این مقدار پیش‌فرض است.

این گزینه می‌تواند چندین بار تکرار شود. اگر قبل از اولین وقوع گزینه -i استفاده شود، طول برش پیش‌فرض را تنظیم می‌کند. اگر بعد از یک گزینه -i استفاده شود، طول برش را برای رابطی که توسط آخرین گزینه -i پیش از این گزینه مشخص شده تنظیم می‌کند. اگر طول برش به‌طور اختصاصی تنظیم نشود، طول برش پیش‌فرض در صورت ارائه استفاده خواهد شد.

-S <separator>

تنظیم جداکننده خطوطی که باید بین بسته‌ها چاپ شود.

-T ek|fields|json|jsonraw|pdml|ps|psml|tabs|text

تنظیم قالب خروجی هنگام مشاهده داده‌های رمزگشایی‌شده بسته. گزینه‌ها یکی از موارد زیر است:

ek قالب JSON جداشده با خط جدید (NDJSON) برای وارد کردن انبوه به Elasticsearch. می‌توان از آن همراه با -j یا -J برای تعیین اینکه کدام پروتکل‌ها گنجانده شوند یا با -x برای گنجاندن داده‌های خام بسته با کدگذاری هگز استفاده کرد. اگر -P مشخص شود تنها خلاصه بسته را چاپ می‌کند، و با مشخص کردن هر دو گزینه -P و -V، خلاصه بسته و جزئیات بسته را چاپ می‌کند. اگر هیچ‌کدام از گزینه‌های -P یا -V استفاده نشوند، تنها جزئیات بسته را چاپ می‌کند. مثال کاربرد برای وارد کردن داده‌ها به Elasticsearch:

tshark -T ek -j "http tcp ip" -P -V -x -r file.pcap > file.json
curl -H "Content-Type: application/x-ndjson" -XPOST http://elasticsearch:9200/_bulk --data-binary "@file.json"

ابزار Elastic نیازمند یک فایل نگاشت است که به عنوان الگو برای نمایه *-packets بارگیری شود تا انواع داده‌های Wireshark را به انواع داده‌های elastic تبدیل کند. این فایل می‌تواند به‌طور خودکار با دستور "tshark -G elastic-mapping" تولید شود. از آنجا که فایل نگاشت می‌تواند بسیار حجیم باشد، پروتکل‌ها را می‌توان با استفاده از گزینه --elastic-mapping-filter انتخاب کرد:

tshark -G elastic-mapping --elastic-mapping-filter ip,udp,dns

یا افزودن مستقیم فیلتر به گزینه -G elastic-mapping:

tshark -G elastic-mapping,ip,udp,dns

fields مقادیر فیلدهای مشخص‌شده با گزینه -e، در قالبی که توسط گزینه -E مشخص شده است. به عنوان مثال،

tshark -T fields -E separator=, -E quote=d

خروجی مقادیر جداشده با کاما (CSV) مناسب برای وارد کردن به برنامه صفحه‌گسترده دلخواه شما تولید خواهد کرد.

json قالب فایل JSON. می‌توان از آن همراه با -j یا -J برای تعیین اینکه کدام پروتکل‌ها گنجانده شوند یا با گزینه -x برای گنجاندن داده‌های خام بسته با کدگذاری هگز استفاده کرد. مثال کاربرد:

tshark -T json -r file.pcap
tshark -T json -j "http tcp ip" -x -r file.pcap

jsonraw قالب فایل JSON که تنها شامل داده‌های خام بسته با کدگذاری هگز است. می‌توان از آن با -j یا -J برای مشخص کردن اینکه کدام پروتکل‌ها گنجانده شوند استفاده کرد. مثال کاربرد:

tshark -T jsonraw -r file.pcap
tshark -T jsonraw -j "http tcp ip" -x -r file.pcap

pdml زبان نشانه‌گذاری جزئیات بسته (Packet Details Markup Language)، یک قالب مبتنی بر XML برای جزئیات یک بسته رمزگشایی‌شده. این اطلاعات معادل جزئیات بسته چاپ‌شده با گزینه -V است. استفاده از گزینه --color ویژگی‌های رنگی را به خروجی pdml اضافه می‌کند. این ویژگی‌ها غیراستاندارد هستند.

ps فرمت PostScript برای خلاصه تک‌خطی قابل خواندن توسط انسان از هر بسته، یا نمای چندخطی از جزئیات هر یک از بسته‌ها، بسته به اینکه گزینه -V مشخص شده باشد یا خیر.

psml زبان نشانه‌گذاری خلاصه بسته (Packet Summary Markup Language)، یک قالب مبتنی بر XML برای اطلاعات خلاصه یک بسته رمزگشایی‌شده. این اطلاعات معادل اطلاعات نشان‌داده‌شده در خلاصه تک‌خطی چاپ‌شده به‌طور پیش‌فرض است. استفاده از گزینه --color ویژگی‌های رنگی را به خروجی pdml اضافه می‌کند. این ویژگی‌ها غیراستاندارد هستند.

tabs مشابه گزارش پیش‌فرض text، با این تفاوت که خلاصه تک‌خطی قابل خواندن توسط انسان از هر بسته، حاوی یک نویسه تب افقی ASCII (0x09) به عنوان جداکننده بین هر ستون خواهد بود.

text متن خلاصه تک‌خطی قابل خواندن توسط انسان از هر بسته، یا یک نمای چندخطی از جزئیات هر یک از بسته‌ها، بسته به اینکه آیا گزینه -V مشخص شده باشد یا خیر. این حالت پیش‌فرض است.

--temp-dir <directory>

دایرکتوری‌ای را مشخص می‌کند که فایل‌های موقت (از جمله فایل‌های ضبط) باید در آن نوشته شوند. رفتار پیش‌فرض در سیستم‌های سازگار با UNIX مانند Linux، macOS، \*BSD، Solaris و AIX، استفاده از متغیر محیطی $TMPDIR در صورت تنظیم بودن، و در غیر این صورت استفاده از پیش‌فرض سیستم (معمولاً /tmp) است. در Windows، از متغیر محیطی %TEMP% استفاده می‌شود، که معمولاً به‌طور پیش‌فرض %USERPROFILE%\AppData\Local\Temp است.

-U <tap name>

صدور PDU؛ بسته‌های PDU را بر اساس نام شنودگر (tap name) داده‌شده از infile به outfile صادر می‌کند. برای فیلتر کردن از -Y استفاده کنید.

برای دریافت فهرستی از نام‌های موجود، یک نام شنودگر خالی "" یا نام شنودگر ? را وارد کنید.

-v|--version

چاپ اطلاعات کامل نسخه و سپس خروج.

-V

باعث می‌شود TShark نمایی از جزئیات بسته را چاپ کند.

-w <outfile> | -

نوشتن داده‌های خام بسته در outfile، یا در خروجی استاندارد اگر outfile برابر '-' باشد. از گزینه‌های -F و --compress می‌توان برای کنترل قالب فایل و روش فشرده‌سازی استفاده کرد. اگر مورد دوم داده نشود، ممکن است از پسوند فایل برای استنتاج الگوریتم فشرده‌سازی مورد نظر (در صورت پشتیبانی) استفاده شود؛ مانند یک آرشیو gzip برای '.gz'.


نکته

گزینه -w داده‌های خام بسته را ارائه می‌دهد نه متن. اگر خواهان خروجی متنی هستید،
باید خروجی استاندارد را تغییر مسیر دهید (مثلاً با استفاده از '>')؛ از گزینه -w برای این منظور استفاده نکنید.

-W <file format option>

ذخیره اطلاعات اضافی در فایل در صورتی که قالب فایل از آن پشتیبانی کند. برای مثال،

tshark -F pcapng -W n

رکوردهای تحلیل نام میزبان را همراه با بسته‌های ضبط‌شده ذخیره خواهد کرد.

نسخه‌های آینده TShark ممکن است قالب ضبط را در صورت لزوم به‌طور خودکار به pcapng تغییر دهند.

آرگومان رشته‌ای است که می‌تواند حاوی حرف زیر باشد:

n نوشتن اطلاعات تحلیل آدرس شبکه (تنها در pcapng)

-x

باعث می‌شود TShark پس از چاپ خلاصه و/یا جزئیات (در صورتی که هر یک در حال نمایش باشند)، یک تخلیه هگز و ASCII از داده‌های بسته را چاپ کند.

--hexdump <hexoption>

باعث می‌شود TShark یک تخلیه هگز و ASCII از داده‌های بسته را چاپ کند، با امکان انتخاب اینکه کدام منابع داده تخلیه شوند، متن تخلیه ASCII چگونه قالب‌بندی یا حذف شود، و اینکه آیا برچسب زمانی فریم به عنوان دیباچه چاپ شود یا خیر.

این گزینه (و -x) می‌توانند چندین بار در خط فرمان استفاده شوند، و تخلیه هگز تنها یک بار چاپ خواهد شد. در صورت وجود گزینه‌های متناقض، آخرین گزینه‌های داده‌شده استفاده خواهند شد. مقادیر ممکن برای <hexoption> عبارتند از:

all

فعال کردن hexdump، و تولید بلوک‌های hexdump برای تمام منابع داده مرتبط با هر فریم. برای خنثی کردن استفاده قبلی از --hexdump frames استفاده می‌شود. گزینه -x به‌طور پیش‌فرض تمام منابع داده را نمایش می‌دهد.

frames

فعال کردن hexdump، و تولید بلوک‌های hexdump تنها برای داده‌های فریم. از این گزینه برای حذف بلوک‌های hexdump مربوط به منابع داده ثانویه مانند 'Bitstring tvb'، 'Reassembled TCP'، 'De-chunked entity body' و غیره از خروجی hexdump استفاده کنید.

ascii

فعال کردن hexdump، همراه با متن تخلیه ASCII بدون جداکننده. برای خنثی کردن استفاده قبلی از --hexdump delimit یا --hexdump noascii استفاده می‌شود. گزینه -x به‌طور پیش‌فرض متن تخلیه ASCII بدون جداکننده را نمایش می‌دهد.

delimit

فعال کردن hexdump با جدا کردن متن تخلیه ASCII با نویسه‌های '|'. این گزینه برای تشخیص دقیق و بدون ابهام پایان متن بایت‌های هگز و شروع متن تخلیه ASCII بسیار مفید است.

noascii

فعال کردن hexdump بدون چاپ متن تخلیه ASCII.

time

فعال کردن hexdump و چاپ برچسب زمانی هر فریم به عنوان دیباچه. گزینه -t می‌تواند برای تغییر قالب برچسب زمانی استفاده شود.

notime

فعال کردن hexdump بدون چاپ برچسب زمانی هر فریم به عنوان دیباچه.

help

نمایش راهنمای اختصاصی --hexdump و سپس خروج.

استفاده از --hexdump <hexoption> به‌ویژه برای تولید خروجی مفیدی کاربرد دارد که می‌تواند برای ایجاد یک فایل pcap یا pcapng از نوع فایلی مانند Microsoft NetMon 2.x استفاده شود که TShark و Wireshark می‌توانند آن را بخوانند اما نمی‌توانند مستقیماً آن را "Save as" کرده یا بسته‌ها را از آن صادر کنند.

مثال‌ها:

تولید خروجی hexdump، تنها با منبع داده فریم، با متن تخلیه ASCII جداشده، و با بلوک هگز هر فریم که با یک برچسب زمانی خوانا در منطقه زمانی محلی پیشوندگذاری شده است تا مستقیماً توسط ابزار کاربردی text2pcap قابل استفاده باشد:

tshark ... --hexdump frames --hexdump delimit --hexdump time -t ad \
    | text2pcap -t 'ISO' - MYNEWPCAPNG

تولید خروجی hexdump، تنها با منبع داده فریم، با متن پیش‌فرض تخلیه ASCII بدون جداکننده، و با بلوک هگز هر فریم که با یک برچسب زمانی خوانا در UTC پیشوندگذاری شده است تا مستقیماً با گزینه -a توسط ابزار کاربردی text2pcap قابل استفاده باشد:

tshark ... --hexdump frames --hexdump time -t ud \
    | text2pcap -a -t 'ISO' - MYNEWPCAPNG

تولید خروجی hexdump، تنها با منبع داده فریم، بدون متن تخلیه ASCII، و با بلوک هگز هر فریم که با یک برچسب زمانی epoch پیشوندگذاری شده است تا مستقیماً توسط ابزار کاربردی text2pcap قابل استفاده باشد:

tshark ... --hexdump frames --hexdump noascii --hexdump time -t e \
    | text2pcap -t %s.%f - MYNEWPCAPNG

-X <eXtension options>

مشخص کردن گزینه‌ای برای ارسال به یک ماژول TShark. گزینه افزونه (eXtension) به شکل extension_key:value است، که در آن extension_key می‌تواند یکی از موارد زیر باشد:

lua_script:lua_script_filename به TShark دستور می‌دهد اسکریپت داده‌شده را علاوه بر اسکریپت‌های پیش‌فرض Lua بارگیری کند.

lua_scriptnum:argument به TShark دستور می‌دهد آرگومان داده‌شده را به اسکریپت 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 به TShark دستور می‌دهد از قالب فایل داده‌شده برای خواندن فایل ورودی (فایل ارائه‌شده در گزینه دستور -r) استفاده کند. عدم ارائه آرگومان file_format یا ارائه یک آرگومان نامعتبر، فهرستی از قالب‌های فایل موجود را نمایش می‌دهد. برای مثال،

tshark -r rtcp_broken.pcapng -X read_format:"MIME Files Format" -V

ساختار داخلی فایل را نمایش می‌دهد و امکان دسترسی به فیلدهای file-pcapng را فراهم می‌سازد.

-y|--linktype <capture link type>

تنظیم نوع پیوند داده (data link type) برای استفاده هنگام ضبط بسته‌ها. مقادیر گزارش‌شده توسط -L مقادیری هستند که می‌توانند استفاده شوند.

این گزینه می‌تواند چندین بار تکرار شود. اگر قبل از اولین وقوع گزینه -i استفاده شود، نوع پیوند ضبط پیش‌فرض را تنظیم می‌کند. اگر بعد از یک گزینه -i استفاده شود، نوع پیوند ضبط را برای رابطی که توسط آخرین گزینه -i پیش از این گزینه مشخص شده است تنظیم می‌کند. اگر نوع پیوند ضبط به‌طور اختصاصی تنظیم نشود، نوع پیوند ضبط پیش‌فرض در صورت ارائه استفاده می‌شود.

-Y|--display-filter <displaY filter>

اعمال فیلتر مشخص‌شده (که از قواعد نحوی فیلترهای خواندن/نمایش استفاده می‌کند، نه فیلترهای ضبط) پیش از چاپ شکل رمزگشایی‌شده بسته‌ها یا نوشتن بسته‌ها در یک فایل. بسته‌های منطبق با فیلتر چاپ شده یا در فایل نوشته می‌شوند؛ بسته‌هایی که بسته‌های منطبق به آن‌ها وابسته هستند (مانند قطعات)، چاپ نمی‌شوند اما در فایل نوشته می‌شوند؛ بسته‌هایی که با فیلتر تطابق ندارند و وابستگی به آن‌ها وجود ندارد، به جای چاپ یا نوشته شدن، دور ریخته می‌شوند.

از این گزینه به جای -R برای فیلترسازی با استفاده از تحلیل تک‌گذره استفاده کنید. اگر در حال انجام تحلیل دوگذره هستید (به -2 مراجعه کنید)، تنها بسته‌های منطبق با فیلتر خواندن (در صورت وجود) در برابر این فیلتر بررسی خواهند شد.

-M <auto session reset>

بازنشانی خودکار نشست داخلی پس از رسیدن به تعداد بسته‌های مشخص‌شده. برای مثال،

tshark -M 100000

نشست را در هر ۱۰۰۰۰۰ بسته بازنشانی می‌کند.

این قابلیت از تحلیل دوگذره -2 پشتیبانی نمی‌کند.

-z <statistics>

واداشتن TShark به جمع‌آوری انواع مختلف آمار و نمایش نتیجه پس از پایان خواندن فایل ضبط. اگر در حال خواندن یک فایل ضبط هستید و تنها می‌خواهید آمار چاپ شود نه اطلاعات مربوط به هر بسته، از گزینه -q استفاده کنید.

آمارها مستقل از خروجی عادی به ازای هر بسته و بدون تأثیرپذیری از فیلتر نمایش اصلی محاسبه می‌شوند. با این حال، بیشتر آن‌ها پارامتر اختیاری filter مخصوص خود را دارند، و تنها بسته‌هایی که با آن فیلتر (و هر فیلتر ضبط یا فیلتر خواندن) تطابق داشته باشند در محاسبات استفاده خواهند شد.

توجه داشته باشید که گزینه -z proto متفاوت است - این گزینه باعث جمع‌آوری و چاپ آمار پس از تکمیل ضبط نمی‌شود، بلکه خروجی خلاصه بسته عادی را تغییر می‌دهد تا شامل مقادیر فیلدهای مشخص‌شده با این گزینه باشد. بنابراین نباید از گزینه -q استفاده کنید، زیرا آن گزینه چاپ خروجی خلاصه عادی بسته را متوقف می‌کند؛ همچنین نباید از گزینه -V استفاده کنید، زیرا باعث می‌شود اطلاعات تفصیلی بسته به جای اطلاعات خلاصه چاپ شود.

برخی از آمارهای پیاده‌سازی‌شده کنونی عبارتند از:

-z help

نمایش تمام مقادیر ممکن برای -z.

-z afp,srt[,filter]

نمایش آمار زمان پاسخ سرویس (SRT) برای Apple Filing Protocol.

-z ancp,tree[,filter]

محاسبه آمار روی انواع پیام‌های Access Node Control Protocol و کدهای بسته‌های همجواری (adjacency).

-z ansi_a,bsmap[,filter]

شمارش تعداد پیام‌های ANSI A-I/F BSMAP از هر نوع.

-z ansi_a,dtap[,filter]

شمارش تعداد پیام‌های ANSI A-I/F DTAP از هر نوع.

-z ansi_map[,filter]

شمارش تعداد پیام‌های ANSI MAP از هر نوع، و محاسبه تعداد کل بایت‌ها و میانگین بایت‌های هر نوع پیام.

-z asap,stat[,filter]

محاسبه آمار روی پروتکل Aggregate Service Access Protocol (ASAP). برای هر نوع پیام ASAP، تعداد، نرخ و سهم آن از کل بسته‌ها و بایت‌ها در میان تمام انواع پیام‌های ASAP، و نخستین و آخرین زمان دیده شدن آن را نمایش می‌دهد.

-z bacapp_instanceid,tree[,filter]

محاسبه آمار روی بسته‌های BACnet APDU، تطبیق داده‌شده بر اساس شناسه نمونه (instance ID). اطلاعات نمایش‌داده‌شده شامل آدرس مبدأ و مقصد و نوع سرویس است.

-z bacapp_ip,tree[,filter]

محاسبه آمار روی بسته‌های BACnet APDU، تطبیق داده‌شده بر اساس آدرس مبدأ و مقصد. اطلاعات نمایش‌داده‌شده شامل نوع سرویس، شناسه شیء (object ID) و شناسه نمونه است.

-z bacapp_objectid,tree[,filter]

محاسبه آمار روی بسته‌های BACnet APDU، تطبیق داده‌شده بر اساس شناسه شیء. اطلاعات نمایش‌داده‌شده شامل آدرس مبدأ و مقصد، نوع سرویس و شناسه نمونه است.

-z bacapp_service,tree[,filter]

محاسبه آمار روی بسته‌های BACnet APDU، تطبیق داده‌شده بر اساس نوع سرویس. اطلاعات نمایش‌داده‌شده شامل آدرس مبدأ و مقصد، شناسه شیء و شناسه نمونه است.

-z calcappprotocol,stat[,filter]

محاسبه آمار روی پروتکل Calculation Application Protocol مربوط به Reliable Server Pooling. برای هر نوع پیام، تعداد، نرخ و سهم آن از بسته‌ها و بایت‌ها در میان تمام انواع پیام‌ها، و نخستین و آخرین زمان دیده شدن آن را نمایش می‌دهد.

-z camel,counter[,filter]

شمارش تعداد پیام‌های CAMEL برای هر opcode.

-z camel,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) برای درخواست‌ها/پاسخ‌های CAMEL. داده‌های جمع‌آوری‌شده عبارتند از تعداد پیام‌های درخواست با پاسخ متناظر برای هر نوع پیام CAMEL، به همراه حداقل، حداکثر و میانگین زمان پاسخ.

-z collectd,tree[,filter]

محاسبه آمار برای collectd. آمارهای گردآوری‌شده عبارتند از تعداد بسته‌های collectd و تعداد کل بخش‌های مقدار (value segments)، به همراه میزبان، افزونه و نوع مقادیر.

-z componentstatusprotocol,stat[,filter]

محاسبه آمار روی پروتکل Calculation Status Protocol مربوط به Reliable Server Pooling. برای هر نوع پیام، تعداد، نرخ و سهم آن از بسته‌ها و بایت‌ها در میان تمام انواع پیام‌ها، و نخستین و آخرین زمان دیده شدن آن را نمایش می‌دهد.

-z conv,type[,filter]

ایجاد یک جدول که تمام گفتگوهای (conversations) مشاهده‌شده در ضبط را فهرست می‌کند. type نوع نقطه پایانی گفتگو را مشخص می‌کند که می‌خواهیم برای آن آمار تولید کنیم؛ موارد پشتیبانی‌شده در حال حاضر عبارتند از:

"bluetooth"  Bluetooth addresses
"bpv7"       Bundle Protocol Version 7 addresses
"dccp"       DCCP/IP socket pairs Both IPv4 and IPv6 are supported
"dnp3"       DNP3 addresses
"eth"        Ethernet addresses
"fc"         Fibre Channel addresses
"fddi"       FDDI addresses
"ip"         IPv4 addresses
"ipv6"       IPv6 addresses
"ipx"        IPX addresses
"jxta"       JXTA message addresses
"ltp"        LTP addresses
"mptcp"      Multipath TCP connections
"ncp"        NCP connections
"openSAFETY" openSAFETY addresses
"rsvp"       RSVP connections
"sctp"       SCTP/IP socket pairs Both IPv4 and IPv6 are supported
"sll"        Linux "cooked mode" capture addresses
"tcp"        TCP/IP socket pairs  Both IPv4 and IPv6 are supported
"tr"         Token Ring addresses
"udp"        UDP/IP socket pairs  Both IPv4 and IPv6 are supported
"usb"        USB addresses
"wlan"       IEEE 802.11 addresses
"wpan"       IEEE 802.15.4 addresses
"zbee_nwk"   ZigBee Network Layer addresses

این جدول با یک سطر برای هر گفتگو ارائه می‌شود که تعداد فریم‌ها/بایت‌ها در هر جهت، تعداد کل فریم‌ها/بایت‌ها، زمان شروع نسبی و مدت‌زمان را نمایش می‌دهد. جدول بر اساس تعداد کل فریم‌ها مرتب شده است.

-z credentials

جمع‌آوری اعتبارنامه‌ها (نام‌های کاربری/گذرواژه‌ها) از بسته‌ها. این گزارش شامل شماره بسته، پروتکلی که اعتبارنامه را داشته، نام کاربری و گذرواژه است. برای پروتکل‌هایی که تنها از یک فیلد برای احراز هویت استفاده می‌کنند، این مقدار به صورت گذرواژه و یک جایگزین به جای کاربر ارائه می‌شود. پروتکل‌های پیاده‌سازی‌شده در حال حاضر عبارتند از FTP، HTTP، IMAP، POP و SMTP.

-z dcerpc,srt,uuid,major.minor[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) برای فراخوانی/پاسخ رابط DCERPC با uuid و نسخه major.minor. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها برای هر رویه، MinSRT، MaxSRT و AvgSRT.

مثال: -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0 داده‌ها را برای رابط CIFS SAMR جمع‌آوری می‌کند.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0,ip.addr==1.2.3.4 آمارهای SAMR SRT را برای یک میزبان خاص جمع‌آوری خواهد کرد.

-z dests,tree[,filter]

محاسبه آمار روی آدرس‌های مقصد IPv4 و پروتکل‌ها و پورت‌های ظاهرشده در هر آدرس.

-z dhcp,stat[,filter]

نمایش آمارهای DHCP (BOOTP).

-z diameter,avp[,cmd.code,field,field,...]

این گزینه امکان استخراج مهم‌ترین فیلدهای diameter را از فایل‌های ضبط حجیم فراهم می‌کند. دقیقاً یک سطر متنی برای هر پیام diameter با diameter.cmd.code منطبق چاپ خواهد شد.

کد دستور diameter خالی یا '*' را می‌توان برای تطابق با هر diameter.cmd.code مشخص کرد.

مثال: -z diameter,avp استخراج مجموعه فیلدهای پیش‌فرض از پیام‌های diameter.

مثال: -z diameter,avp,280 استخراج مجموعه فیلدهای پیش‌فرض از پیام‌های diameter DWR.

مثال: -z diameter,avp,272 استخراج مجموعه فیلدهای پیش‌فرض از پیام‌های diameter CC.

استخراج مهم‌ترین فیلدها از پیام‌های diameter CC:

tshark -r file.cap.gz -q -z diameter,avp,272,CC-Request-Type,CC-Request-Number,Session-Id,Subscription-Id-Data,Rating-Group,Result-Code

فیلدهای زیر برای هر پیام diameter چاپ خواهند شد:

"frame"        Frame number.
"time"         Unix time of the frame arrival.
"src"          Source address.
"srcport"      Source port.
"dst"          Destination address.
"dstport"      Destination port.
"proto"        Constant string 'diameter', which can be used for post processing of tshark output.  E.g. grep/sed/awk.
"msgnr"        seq. number of diameter message within the frame.  E.g. '2' for the third diameter message in the same frame.
"is_request"   '0' if message is a request, '1' if message is an answer.
"cmd"          diameter.cmd_code, E.g. '272' for credit control messages.
"req_frame"    Number of frame where matched request was found or '0'.
"ans_frame"    Number of frame where matched answer was found or '0'.
"resp_time"    response time in seconds, '0' in case if matched Request/Answer is not found in trace.  E.g. in the begin or end of capture.

گزینه -z diameter,avp بسیار سریع‌تر از گزینه‌های -V -T text یا -T pdml است.

گزینه -z diameter,avp بسیار قدرتمندتر از گزینه‌های -T field و -z proto,colinfo است.

وجود چندین پیام diameter در یک فریم پشتیبانی می‌شود.

وجود چند فیلد با نام یکسان درون یک پیام diameter پشتیبانی می‌شود، مانند diameter.Subscription-Id-Data یا diameter.Rating-Group.

نکته: گزینه tshark -q برای جلوگیری از خروجی پیش‌فرض TShark توصیه می‌شود.

-z diameter,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) درخواست‌ها/پاسخ‌ها برای Diameter. داده‌های جمع‌آوری‌شده عبارتند از تعداد جفت‌های درخواست و پاسخ برای هر کد دستور Diameter، حداقل SRT، حداکثر SRT، میانگین SRT و مجموع SRT. در حال حاضر هیچ آماری برای پیام‌های بدون جفت جمع‌آوری نمی‌شود.

-z dis,streams

جمع‌آوری آمار برای تمام جریان‌های رادیویی DIS کشف‌شده توسط شنودگر dis. خروجی شامل زمان‌های شروع و پایان، نقاط پایانی، شناسه‌های رادیو و هویت (entity)، تعداد بسته‌های سیگنال و فرستنده، بسته‌های تخمینی از دست رفته و معیارهای جیتر است که از برچسب‌های زمانی فرستنده DIS مشتق شده‌اند.

-z dns,tree[,filter]

ایجاد خلاصه‌ای از بسته‌های ضبط‌شده DNS. اطلاعات عمومی مانند توزیع qtype و qclass جمع‌آوری می‌شوند. برای برخی داده‌ها (مانند طول qname یا بار بارگذاری‌شده DNS)، مقادیر حداکثر، حداقل و میانگین نیز نمایش داده می‌شوند.

-z endpoints,type[,filter]

ایجاد یک جدول که تمام نقاط پایانی (endpoints) مشاهده‌شده در ضبط را فهرست می‌کند. type نوع نقطه پایانی را مشخص می‌کند که می‌خواهیم برای آن آمار تولید کنیم؛ موارد پشتیبانی‌شده در حال حاضر عبارتند از:

"bluetooth"  Bluetooth addresses
"bpv7"       Bundle Protocol Version 7 addresses
"dccp"       DCCP/IP socket pairs Both IPv4 and IPv6 are supported
"dnp3"       DNP3 addresses
"eth"        Ethernet addresses
"fc"         Fibre Channel addresses
"fddi"       FDDI addresses
"ip"         IPv4 addresses
"ipv6"       IPv6 addresses
"ipx"        IPX addresses
"jxta"       JXTA message addresses
"ltp"        LTP addresses
"mptcp"      Multipath TCP connections
"ncp"        NCP connections
"openSAFETY" openSAFETY addresses
"rsvp"       RSVP connections
"sctp"       SCTP/IP socket pairs Both IPv4 and IPv6 are supported
"sll"        Linux "cooked mode" capture addresses
"tcp"        TCP/IP socket pairs  Both IPv4 and IPv6 are supported
"tr"         Token Ring addresses
"udp"        UDP/IP socket pairs  Both IPv4 and IPv6 are supported
"usb"        USB addresses
"wlan"       IEEE 802.11 addresses
"wpan"       IEEE 802.15.4 addresses
"zbee_nwk"   ZigBee Network Layer addresses

جدول با یک سطر برای هر نقطه پایانی ارائه می‌شود که تعداد کل بسته‌ها/بایت‌ها و تعداد بسته‌ها/بایت‌ها در هر جهت را نمایش می‌دهد. این جدول بر اساس تعداد کل بسته‌ها مرتب شده است.

-z enrp,stat[,filter]

محاسبه آمار روی پروتکل Endpoint Handlespace Redundancy Protocol (ENRP). برای هر نوع پیام، تعداد، نرخ و سهم آن از بسته‌ها و بایت‌ها در میان تمام انواع پیام‌ها، و نخستین و آخرین زمان دیده شدن آن را نمایش می‌دهد.

-z expert[,error|,warn|,note|,chat|,comment][,filter]

اطلاعات مربوط به همه گزارش‌های کارشناسی (expert info) را جمع‌آوری کرده و آن‌ها را به ترتیب، بر اساس سطح اهمیت (severity) گروه‌بندی و نمایش می‌دهد.

مثال: -z expert,sip موارد کارشناسی را در تمام سطوح اهمیت برای فریم‌هایی که با پروتکل sip تطابق دارند نمایش می‌دهد.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "expert,note,tcp" تنها موارد کارشناسی را برای فریم‌هایی جمع‌آوری می‌کند که شامل پروتکل tcp هستند و سطح اهمیت آن‌ها note یا بالاتر است.

-z f1ap,tree[,filter]

محاسبه توزیع بسته‌های F1AP، گروه‌بندی‌شده بر اساس انواع بسته.

-z f5_tmm_dist,tree[,filter]

محاسبه توزیع ریزهسته مدیریت ترافیک (TMM) تریلر اترنت F5. اطلاعات نمایش‌داده‌شده عبارتند از تعداد بسته‌ها و بایت‌ها، گروه‌بندی‌شده بر اساس شیار و شماره TMM، ورودی یا خروجی بودن بسته‌ها، و اینکه آیا شناسه جریان و نام سرور مجازی وجود دارد، شناسه جریان بدون نام سرور مجازی وجود دارد، یا اصلاً شناسه جریانی وجود ندارد؛ به همراه مجموع برای تمام بسته‌های دارای تریلر F5.

-z f5_virt_dist,tree[,filter]

محاسبه توزیع سرور مجازی تریلر اترنت F5. اطلاعات نمایش‌داده‌شده عبارتند از تعداد بسته‌ها و بایت‌ها، گروه‌بندی‌شده بر اساس نام سرور مجازی (در صورت وجود)، یا بر اساس وجود یا عدم وجود شناسه جریان (در صورت نبود نام سرور مجازی)، و همچنین مجموع کل بسته‌های دارای تریلر F5.

-z fc,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) درخواست‌ها/پاسخ‌ها برای GTP. داده‌های جمع‌آوری‌شده عبارتند از تعداد جفت‌های درخواست/پاسخ، حداقل SRT، حداکثر SRT، میانگین SRT و مجموع SRT برای هر مقدار از فیلد Type (پروتکل بعدی). هیچ آماری روی پیام‌های بدون جفت جمع‌آوری نمی‌شود.

-z flow,name,mode[,filter]

جریان داده بین دو گره را نمایش می‌دهد. خروجی مشابه قالب ASCII ذخیره‌شده از طریق واسط گرافیکی است.

name نام جریان را مشخص می‌کند. می‌تواند یکی از موارد زیر باشد:

any      All frames
icmp     ICMP
icmpv6   ICMPv6
lbm_uim  UIM
tcp      TCP

mode نوع آدرس را مشخص می‌کند. می‌تواند یکی از موارد زیر باشد:

standard   Any address
network    Network address

مثال: -z flow,tcp,network جریان داده را برای تمام فریم‌های TCP نشان می‌دهد

-z follow,prot,mode,filter[,range]

محتوای یک جریان (stream) را بین دو گره نمایش می‌دهد. داده‌های ارسال‌شده توسط گره دوم با یک نویسه تب پیشوندگذاری می‌شوند تا از داده‌های ارسال‌شده توسط گره اول متمایز شوند.

prot پروتکل انتقال را مشخص می‌کند. می‌تواند یکی از موارد زیر باشد:

tcp   TCP
udp   UDP
dccp  DCCP
tls   TLS or SSL
dtls  DTLS
http  HTTP streams
http2 HTTP/2 streams
quic  QUIC streams
mp2t  MPEG-2 TS PIDs
mpeg-pes MPEG-2 Packetized Element Stream

نکته

اگرچه راهنمای کاربرد sip را به عنوان یک گزینه معرفی می‌کند، فیلترهای مناسب جریان
پیاده‌سازی نشده‌اند، بنابراین تماس‌های SIP را نمی‌توان در TShark دنبال کرد و تنها در Wireshark قابل دنبال کردن هستند.

mode حالت خروجی را مشخص می‌کند. می‌تواند یکی از موارد زیر باشد:

ascii  ASCII output with dots for non-printable characters
carray C arrays of chars
ebcdic EBCDIC output with dots for non-printable characters
hex    Hexadecimal and ASCII data with offsets
raw    Hexadecimal data
utf-8  UTF-8 output with REPLACEMENT CHARACTERs for invalid sequences
yaml   YAML format

از آنجا که خروجی در حالت‌های ascii، ebcdic یا utf-8 ممکن است حاوی سطر جدید باشد، هر بخش از خروجی با طول آن به بایت به علاوه یک سطر جدید پیشوندگذاری می‌شود. (توجه داشته باشید که برای utf-8 این تعداد نویسه‌های UTF-8 نیست، و ممکن است به دلیل جایگزینی نویسه‌های نامعتبر با نویسه‌های جانشین، با طول ارسال‌شده متفاوت باشد).

filter جریانی را که باید نمایش داده شود مشخص می‌کند. سه قالب وجود دارد:

ip-addr0:port0,ip-addr1:port1
stream-index
stream-index,substream-index

قالب اول آدرس‌های IP و جفت پورت‌های TCP، UDP یا DCCP را مشخص می‌کند. (پورت‌های TCP برای TLS، HTTP و HTTP2 استفاده می‌شوند؛ پورت‌های UDP برای DTLS، QUIC، MP2T و MPEG-PS استفاده می‌شوند). توجه داشته باشید که این قالب شامل تمام جریان‌های چندگانه‌شده روی یک ۵-تایی (5-tuple) آدرس و پورت مشابه برای پروتکل‌های انتقال دارای زیرجریان مانند HTTP/2، QUIC و MP2T خواهد بود. علاوه بر این، در پروتکل QUIC این قالب شامل تمام اتصالاتی است که در یک ۵-تایی یکسان مشترک هستند و مهاجرت اتصال (connection migration) را دنبال نمی‌کند.

قالب دوم شاخص‌های جریان (stream indices) را مشخص می‌کند و برای TCP، UDP، DCCP، TLS، DTLS و HTTP استفاده می‌شود (پروتکل HTTP از شاخص‌های جریان TCP استفاده می‌کند).

قالب سوم که جریان‌ها و زیرجریان‌ها را مشخص می‌کند، برای HTTP/2، QUIC، MP2T و MPEG-PES به دلیل استفاده از تکنیک چندگانه‌سازی استفاده می‌شود (شاخص‌های جریان TCP و جریان HTTP/2 برای HTTP/2؛ شماره اتصال QUIC و شناسه جریان برای QUIC؛ جریان MP2T و PID برای MP2T و MPEG-PS).

range به‌طور اختیاری مشخص می‌کند که کدام "تکه‌ها" (chunks) از جریان باید نمایش داده شوند.

مثال: -z "follow,tcp,hex,1" محتوای دومین جریان TCP (اولین جریان، جریان ۰ است) را در قالب "hex" نمایش می‌دهد.

===================================================================
Follow: tcp,hex
Filter: tcp.stream eq 1
Node 0: 200.57.7.197:32891
Node 1: 200.57.7.198:2906
00000000  00 00 00 22 00 00 00 07  00 0a 85 02 07 e9 00 02  ...".... ........
00000010  07 e9 06 0f 00 0d 00 04  00 00 00 01 00 03 00 06  ........ ........
00000020  1f 00 06 04 00 00                                 ......
00000000  00 01 00 00                                       ....
00000026  00 02 00 00

مثال: -z "follow,tcp,ascii,200.57.7.197:32891,200.57.7.198:2906" محتوای یک جریان TCP بین 200.57.7.197 پورت 32891 و 200.57.7.98 پورت 2906 را نمایش می‌دهد.

===================================================================
Follow: tcp,ascii
Filter: (omitted for readability)
Node 0: 200.57.7.197:32891
Node 1: 200.57.7.198:2906
38
...".....
................
4
....

مثال: -z "follow,http2,hex,0,1" محتوای یک جریان HTTP/2 را در اولین نشست TCP (شاخص ۰) با شناسه جریان HTTP/2 برابر ۱ نمایش می‌دهد.

===================================================================
Follow: http2,hex
Filter: tcp.stream eq 0 and http2.streamid eq 1
Node 0: 172.16.5.1:49178
Node 1: 172.16.5.10:8443
00000000  00 00 2c 01 05 00 00 00  01 82 04 8b 63 c1 ac 2a  ..,..... ....c..*
00000010  27 1d 9d 57 ae a9 bf 87  41 8c 0b a2 5c 2e 2e da  '..W.... A...\...
00000020  e1 05 c7 9a 69 9f 7a 88  25 b6 50 c3 ab b6 25 c3  ....i.z. %.P...%.
00000030  53 03 2a 2f 2a                                    S.*/*
    00000000  00 00 22 01 04 00 00 00  01 88 5f 87 35 23 98 ac  .."..... .._.5#..
    00000010  57 54 df 61 96 c3 61 be  94 03 8a 61 2c 6a 08 2f  WT.a..a. ...a,j./
    00000020  34 a0 5b b8 21 5c 0b ea  62 d1 bf                 4.[.!\.. b..
    0000002B  00 40 00 00 00 00 00 00  01 89 50 4e 47 0d 0a 1a  .@...... ..PNG...

-z fractalgeneratorprotocol,stat[,filter]

محاسبه آمار روی پروتکل Fractal Generator Protocol مربوط به Reliable Server Pooling. برای هر نوع پیام، تعداد، نرخ و سهم آن از بسته‌ها و بایت‌ها در میان تمام انواع پیام‌ها، و نخستین و آخرین زمان دیده شدن آن را نمایش می‌دهد.

-z gsm_a

شمارش تعداد پیام‌های GSM A-I/F از هر نوع در دسته‌های زیر: BSSMAP، DTAP Mobility Management، DTAP Radio Resource Management، DTAP Call Control، DTAP GPRS Mobility Management، DTAP SMS messages، DTAP GPRS Session Management، DTAP Supplementary Services، DTAP Special Conformance Testing Functions و SACCH Radio Resource Management.

برخلاف آمارهای تفکیکی برای هر رده که در ادامه می‌آید، این دستور تنها برای هر نوع پیامی که ظاهر شده یک سطر چاپ می‌کند، به جای اینکه سطرهایی با تعداد صفر را نیز شامل شود.

-z gsm_a,category[,filter]

شمارش تعداد پیام‌ها از هر نوع در رده category از GSM A-I/F، که می‌تواند یکی از موارد زیر باشد:

bssmap     BSSMAP
dtap_cc    DTAP Call Control
dtap_gmm   DTAP GPRS Mobility Management
dtap_mm    DTAP Mobility Management
dtap_rr    DTAP Radio Resource Management
dtap_sacch SACCH Radio Resource Management
dtap_sm    DTAP GPRS Session Management
dtap_sms   DTAP Short Message Service
dtap_ss    DTAP Supplementary Services
dtap_tp    DTAP Special Conformance Testing Functions

-z gsm_map,operation[,filter]

محاسبه آمار روی GSM MAP. برای هر op code، تعداد کل فراخوانی‌ها (invokes) و نتایج، به همراه میانگین و کل بایت‌ها برای فراخوانی‌ها و نتایج به صورت جداگانه و ترکیبی نمایش داده می‌شود.

-z gtp,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) درخواست‌ها/پاسخ‌ها برای GTP. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها، حداقل SRT، حداکثر SRT، میانگین SRT و مجموع SRT برای برخی دستورات خاص. در حال حاضر هیچ آماری روی پیام‌های بدون جفت جمع‌آوری نمی‌شود.

-z gtpv2,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) درخواست‌ها/پاسخ‌ها برای GTP. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها، حداقل SRT، حداکثر SRT، میانگین SRT و مجموع SRT برای دستوراتی خاص. در حال حاضر هیچ آماری روی پیام‌های بدون جفت جمع‌آوری نمی‌شود.

-z h225,counter[,filter]

شمارش پیام‌های ITU-T H.225 و دلایل آن‌ها. در ستون اول، فهرستی از پیام‌های H.225 و دلایل پیام‌های H.225 که در فایل ضبط جاری رخ داده‌اند نمایش می‌یابد. تعداد رخدادهای هر پیام یا دلیل در ستون دوم نمایش داده می‌شود.

مثال: -z h225,counter.

مثال: استفاده از -z "h225,counter,ip.addr==1.2.3.4" تنها برای جمع‌آوری آمار بسته‌های H.225 مبادله‌شده توسط میزبان با آدرس IP 1.2.3.4 .

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

-z h225_ras,rtd[,filter]

جمع‌آوری داده‌های تاخیر زمان پاسخ (RTD) برای ITU-T H.225 RAS. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌های هر نوع پیام ITU-T H.225 RAS، حداقل RTD، حداکثر RTD، میانگین RTD، حداقل در فریم، و حداکثر در فریم. همچنین تعداد درخواست‌های باز (بدون پاسخ)، پاسخ‌های دور ریخته‌شده (پاسخ‌های بدون درخواست منطبق) و پیام‌های تکراری را دریافت خواهید کرد.

مثال: tshark -z h225_ras,rtd

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "h225_ras,rtd,ip.addr==1.2.3.4" تنها برای جمع‌آوری آمار بسته‌های ITU-T H.225 RAS مبادله‌شده توسط میزبان در آدرس IP 1.2.3.4 .

-z hart_ip,tree[,filter]

محاسبه آمار روی بسته‌های HART-IP، با گروه‌بندی بر اساس انواع پیام و شناسه‌های پیام درون هر نوع.

-z hosts[,ip][,ipv4][,ipv6]

تخلیه هرگونه آدرس تحلیل‌شده IPv4 و/یا IPv6 در قالب "hosts". به‌طور پیش‌فرض هم آدرس‌های IPv4 و هم IPv6 تخلیه می‌شوند. آرگومان "ip" تنها آدرس‌های IPv4 را تخلیه می‌کند.

آدرس‌ها از چندین منبع جمع‌آوری می‌شوند، از جمله فایل‌های استاندارد "hosts" و ترافیک ضبط‌شده. تحلیل نام‌ها باید فعال باشد، برای مثال از طریق گزینه -n.

-z hpfeeds,tree[,filter]

محاسبه آمار برای ترافیک HPFEEDS مانند انتشارات به ازای هر کانال، و توزیع opcodeها.

-z http,stat[,filter]

شمارش کدهای وضعیت پاسخ HTTP و متدهای درخواست HTTP.

-z http,tree[,filter]

محاسبه توزیع بسته‌های HTTP. مقادیر نمایش‌داده‌شده شامل کدهای وضعیت پاسخ و متدهای درخواست هستند.

-z http_req,tree[,filter]

محاسبه درخواست‌های HTTP بر اساس سرور. مقادیر نمایش‌داده‌شده نام سرور و مسیر URI هستند.

-z http_seq,tree[,filter]

محاسبه آمار توالی درخواست‌های HTTP، که URIهای ارجاع‌دهنده را با URIهای درخواست مطابقت می‌دهد.

-z http_srv,tree[,filter]

محاسبه درخواست‌ها و پاسخ‌های HTTP بر اساس سرور. برای درخواست‌های HTTP، مقادیر نمایش‌داده‌شده شامل آدرس IP سرور و نام میزبان سرور هستند. برای پاسخ‌های HTTP، مقادیر نمایش‌داده‌شده آدرس IP سرور و وضعیت آن هستند.

-z http2,tree[,filter]

محاسبه توزیع بسته‌های HTTP/2. مقادیر نمایش‌داده‌شده انواع فریم هستند.

-z icmp,srt[,filter]

محاسبه کل درخواست‌های echo، پاسخ‌ها، اتلاف و درصد اتلاف ICMP، و همچنین حداقل، حداکثر، میانگین، میانه و انحراف استاندارد آماری SRT که معمولاً توسط دستور ping ارائه می‌شود.

مثال: -z icmp,srt,ip.src==1.2.3.4 آمارهای ICMP SRT را برای بسته‌های درخواست echo با مبدأ یک میزبان خاص جمع‌آوری می‌کند.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

-z icmpv6,srt[,filter]

محاسبه کل درخواست‌های echo، پاسخ‌ها، اتلاف و درصد اتلاف ICMPv6، و همچنین حداقل، حداکثر، میانگین، میانه و انحراف استاندارد آماری SRT که معمولاً توسط دستور ping ارائه می‌شود.

مثال: -z icmpv6,srt,ipv6.src==fe80::1 آمارهای ICMPv6 SRT را برای بسته‌های درخواست echo با مبدأ یک میزبان خاص جمع‌آوری می‌کند.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

-z io,phs[,filter]

ایجاد آمار سلسله‌مراتب پروتکل (Protocol Hierarchy Statistics) با نمایش تعداد بسته‌ها و بایت‌ها.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

-z io,stat,interval[,filter][,filter][,filter]...

جمع‌آوری آمار بسته‌ها/بایت‌ها برای ضبط در بازه‌های زمانی interval ثانیه‌ای. Interval می‌تواند به صورت یک عدد کامل یا کسری از ثانیه مشخص شود و با دقت میکروثانیه (us) قابل تعیین است. اگر interval برابر ۰ باشد، آمار روی تمام بسته‌ها محاسبه خواهد شد.

اگر یک یا چند filter مشخص شوند، آمارها برای تمام فیلترها محاسبه شده و با یک ستون آماری برای هر فیلتر نمایش داده می‌شوند.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z io,stat,1,ip.addr==1.2.3.4 آمارهای ۱ ثانیه‌ای را برای تمام ترافیک ورودی/خروجی میزبان 1.2.3.4 تولید می‌کند.

مثال: -z "io,stat,0.001,smb&&ip.addr==1.2.3.4" آمارهای ۱ میلی‌ثانیه‌ای را برای تمام بسته‌های SMB به/از میزبان 1.2.3.4 تولید می‌کند.

مثال‌های بالا همگی از ساختار دستوری استاندارد برای تولید آمار استفاده می‌کنند که تنها تعداد بسته‌ها و بایت‌ها را در هر بازه زمانی محاسبه می‌کند.

دستور io,stat همچنین می‌تواند با استفاده از یک ساختار دستوری کمی متفاوت برای فیلتر، آمارهای بسیار بیشتری را تولید کرده و توابع COUNT()، SUM()، MIN()، MAX()، AVG() و LOAD() را محاسبه کند:

-z io,stat,interval,"COUNT|SUM|MIN|MAX|AVG|LOAD(field)filter"


نکته

یک نکته مهم در اینجا این است که فیلتر اختیاری نیست و فیلدی که محاسبه بر اساس آن انجام می‌شود
حتماً باید بخشی از رشته فیلتر باشد، در غیر این صورت محاسبه ناموفق خواهد بود.

بنابراین: -z io,stat,0.010,AVG(smb.time) کار نمی‌کند. به جای آن از -z io,stat,0.010,AVG(smb.time)smb.time استفاده کنید. همچنین توجه داشته باشید که یک فیلد می‌تواند چندین بار درون یک بسته وجود داشته باشد و در این صورت چندین بار در آن بسته‌ها شمرده خواهد شد.


نکته

دومین نکته مهم این است که تنظیم سیستم برای جداکننده اعشار باید روی "." تنظیم شده باشد!
اگر روی "," تنظیم شده باشد، آمارها به تفکیک فیلتر نمایش داده نخواهند شد.

COUNT - تعداد دفعاتی را محاسبه می‌کند که فیلد name (نه مقدار آن) در هر بازه در فهرست بسته‌های فیلترشده ظاهر می‌شود. ''field'' می‌تواند هر نام فیلتر نمایشی باشد.

مثال: -z io,stat,0.010,"COUNT(smb.sid)smb.sid"

این دستور تعداد کل SIDهای مشاهده‌شده را در هر بازه ۱۰ میلی‌ثانیه‌ای شمارش می‌کند.

SUM - برخلاف COUNT، مقادیر فیلد مشخص‌شده در هر بازه زمانی جمع می‌شوند. ''field'' تنها می‌تواند یک فیلد نام‌گذاری‌شده از نوع عدد صحیح، ممیز شناور، دوبل یا زمان نسبی باشد.

مثال: tshark -z io,stat,0.010,"SUM(frame.len)frame.len"

تعداد کل بایت‌هایی را که به‌طور دوطرفه در تمام بسته‌ها درون یک بازه ۱۰ میلی‌ثانیه‌ای منتقل شده‌اند گزارش می‌کند.

MIN/MAX/AVG - حداقل، حداکثر یا میانگین مقدار فیلد در هر بازه زمانی محاسبه می‌شود. فیلد مشخص‌شده باید یک فیلد نام‌گذاری‌شده از نوع عدد صحیح، ممیز شناور، دوبل یا زمان نسبی باشد. برای فیلدهای زمان نسبی، خروجی بر حسب ثانیه با دقت شش رقم اعشار و گردشده به نزدیک‌ترین میکروثانیه نمایش داده می‌شود.

در مثال زیر، زمان اولین فراخوانی Read_AndX، مقادیر آخرین پاسخ Read_AndX نمایش داده می‌شوند و حداقل، حداکثر و میانگین زمان‌های پاسخ خواندن (SRT) محاسبه می‌شوند. نکته: اگر از نویسه ادامه‌دهنده سطر در پوسته DOS یعنی ''^'' استفاده شود، انتهای هر سطر نمی‌تواند به کاما ختم شود بنابراین باید در ابتدای هر سطر ادامه قرار گیرد:

tshark -o tcp.desegment_tcp_streams:FALSE -n -q -r smb_reads.cap -z io,stat,0,
"MIN(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==0",
"MAX(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==1",
"MIN(smb.time)smb.time and smb.cmd==0x2e",
"MAX(smb.time)smb.time and smb.cmd==0x2e",
"AVG(smb.time)smb.time and smb.cmd==0x2e"
======================================================================================================
IO Statistics
Column #0: MIN(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==0
Column #1: MAX(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==1
Column #2: MIN(smb.time)smb.time and smb.cmd==0x2e
Column #3: MAX(smb.time)smb.time and smb.cmd==0x2e
Column #4: AVG(smb.time)smb.time and smb.cmd==0x2e
                |    Column #0   |    Column #1   |    Column #2   |    Column #3   |    Column #4   |
Time            |       MIN      |       MAX      |       MIN      |       MAX      |       AVG      |
000.000-                 0.000000         7.704054         0.000072         0.005539         0.000295
======================================================================================================

دستور زیر میانگین اندازه PDU پاسخ خواندن SMB، تعداد کل بایت‌های PDU خواندن، میانگین اندازه PDU درخواست نوشتن SMB، و تعداد کل بایت‌های منتقل‌شده در PDUهای نوشتن SMB را نمایش می‌دهد:

tshark -n -q -r smb_reads_writes.cap -z io,stat,0,
"AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to",
"SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to",
"AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to",
"SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to"
=====================================================================================
IO Statistics
Column #0: AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to
Column #1: SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to
Column #2: AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to
Column #3: SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to
                |    Column #0   |    Column #1   |    Column #2   |    Column #3   |
Time            |       AVG      |       SUM      |       AVG      |       SUM      |
000.000-                    30018         28067522               72             3240
=====================================================================================

LOAD - بار یا عمق صف (LOAD/Queue-Depth) در هر بازه زمانی محاسبه می‌شود. فیلد مشخص‌شده باید یک فیلد زمان نسبی باشد که بیانگر زمان پاسخ است؛ مانند smb.time. برای هر بازه زمانی، عمق صف برای پروتکل مشخص‌شده محاسبه می‌شود.

دستور زیر میانگین بار (LOAD) پروتکل SMB را نمایش می‌دهد. مقدار 1.0 نشان‌دهنده یک عملیات ورودی/خروجی فعال در حال اجراست.

tshark -n -q -r smb_reads_writes.cap
-z "io,stat,0.001,LOAD(smb.time)smb.time"
============================================================================
IO Statistics
Interval:   0.001000 secs
Column #0: LOAD(smb.time)smb.time
                        |    Column #0   |
Time                    |       LOAD     |
0000.000000-0000.001000         1.000000
0000.001000-0000.002000         0.741000
0000.002000-0000.003000         0.000000
0000.003000-0000.004000         1.000000

FRAMES | BYTES[()filter] - تعداد کل فریم‌ها یا بایت‌ها را نمایش می‌دهد. فیلد فیلتر اختیاری است اما در صورت گنجانده شدن باید با ''()'' پیشوندگذاری شود.

دستور زیر پنج ستون را نمایش می‌دهد: تعداد کل فریم‌ها و بایت‌ها (منتقل‌شده به‌طور دوطرفه) با استفاده از یک کامای تکی، همان دو آمار با استفاده از زیردستورهای FRAMES و BYTES، تعداد کل فریم‌های حاوی حداقل یک پاسخ خواندن SMB، و تعداد کل بایت‌های ارسال‌شده به کارخواه (به‌طور یک‌طرفه) در آدرس IP 10.1.0.64.

tshark -o tcp.desegment_tcp_streams:FALSE -n -q -r smb_reads.cap -z io,stat,0,,FRAMES,BYTES,
"FRAMES()smb.cmd==0x2e and smb.response_to","BYTES()ip.dst==10.1.0.64"
=======================================================================================================================
IO Statistics
Column #0:
Column #1: FRAMES
Column #2: BYTES
Column #3: FRAMES()smb.cmd==0x2e and smb.response_to
Column #4: BYTES()ip.dst==10.1.0.64
                |            Column #0            |    Column #1   |    Column #2   |    Column #3   |    Column #4   |
Time            |     Frames     |      Bytes     |     FRAMES     |     BYTES      |     FRAMES     |     BYTES      |
000.000-                    33576         29721685            33576         29721685              870         29004801
=======================================================================================================================

-z ip_hosts,tree[,filter]

محاسبه آمار روی آدرس‌های IPv4، در حالی که آدرس‌های مبدأ و مقصد همگی با هم گروه‌بندی شده‌اند.

-z ip_srcdst,tree[,filter]

محاسبه آمار روی آدرس‌های IPv4، در حالی که آدرس‌های مبدأ و مقصد در دسته‌های جداگانه تفکیک شده‌اند.

-z ip_ttl,tree[,filter]

محاسبه آمار روی مقادیر طول عمر (TTL) که برای هر آدرس مبدأ IPv4 رخ می‌دهد.

-z ip6_dests,tree[,filter]

محاسبه آمار روی آدرس‌های مقصد IPv6 و پروتکل‌ها و پورت‌های ظاهرشده در هر آدرس.

-z ip6_hosts,tree[,filter]

محاسبه آمار روی آدرس‌های IPv6، در حالی که آدرس‌های مبدأ و مقصد همگی با هم گروه‌بندی شده‌اند.

-z ip6_ptype,tree[,filter]

محاسبه آمار روی انواع پورت‌هایی که در بسته‌های IPv6 رخ می‌دهند.

-z ip6_srcdst,tree[,filter]

محاسبه آمار روی آدرس‌های IPv6، در حالی که آدرس‌های مبدأ و مقصد در دسته‌های جداگانه تفکیک شده‌اند.

-z ip6_hop,tree[,filter]

محاسبه آمار روی محدودیت‌های جهش (hop limits) که برای هر آدرس مبدأ IPv6 رخ می‌دهد.

-z isup_msg,tree[,filter]

محاسبه آمار روی پیام‌های ISUP. اطلاعات نمایش‌داده‌شده شامل انواع پیام و جهت (کد نقطه مبدأ و کد نقطه مقصد) است.

-z lbmr_queue_ads_queue,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM (LBM Topic Resolution Packets). اعلانات صف را که بر اساس نام صف و سپس آدرس‌های مبدأ و پورت دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_queue_ads_source,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. اعلانات صف را که بر اساس آدرس مبدأ و سپس صف و پورت دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_queue_queries_queue,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. پرس‌وجوهای صف را که بر اساس نام صف و سپس آدرس‌های گیرنده دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_queue_queries_receiver,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. پرس‌وجوهای صف را که بر اساس آدرس گیرنده و سپس صف دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_topic_ads_source,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. اعلانات موضوع را که بر اساس آدرس مبدأ و سپس نام موضوع و رشته مبدأ دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_topic_ads_topic,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. اعلانات موضوع را که بر اساس نام موضوع و سپس آدرس مبدأ و رشته مبدأ دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_topic_ads_transport,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. اعلانات موضوع را که بر اساس رشته مبدأ و سپس نام موضوع دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_topic_queries_pattern,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. پرس‌وجوهای موضوع را که بر اساس الگو و سپس آدرس گیرنده دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_topic_queries_pattern_receiver,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. پرس‌وجوهای موضوع را که بر اساس آدرس گیرنده و سپس الگو دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_topic_queries_receiver,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. پرس‌وجوهای موضوع را که بر اساس آدرس گیرنده و سپس نام موضوع دسته‌بندی شده‌اند نمایش می‌دهد.

-z lbmr_topic_queries_topic,tree[,filter]

محاسبه آمار روی بسته‌های تفکیک موضوع LBM. پرس‌وجوهای موضوع را که بر اساس نام موضوع و سپس آدرس گیرنده دسته‌بندی شده‌اند نمایش می‌دهد.

-z mac-3gpp,stat[,filter]

این گزینه شمارنده‌ای را برای پیام‌های MAC مربوط به LTE یا NR فعال می‌کند. اطلاعاتی درباره حداکثر تعداد UEها/TTI، پیام‌های عمومی و شمارنده‌های مختلف برای هر UE که در گزارش ظاهر می‌شود دریافت خواهید کرد.

مثال: tshark -z mac-3gpp,stat.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "mac-3gpp,stat,mac-lte.rnti>3000" تنها آمار مربوط به UEهای LTE دارای یک RNTI تخصیص‌یافته با مقدار بیشتر از ۳۰۰۰ را جمع‌آوری می‌کند.

-z megaco,rtd[,filter]

جمع‌آوری داده‌های تاخیر زمان پاسخ (RTD) برای درخواست‌ها/پاسخ‌های MEGACO. (مشابه گزینه -z smb,srt است). داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها برای هر نوع شناخته‌شده MEGACO، حداقل RTD، حداکثر RTD و میانگین RTD. علاوه بر این، تعداد درخواست‌ها/پاسخ‌های تکراری، درخواست‌های بدون پاسخ، و پاسخ‌هایی که با هیچ درخواستی مطابقت ندارند را دریافت می‌کنید. مثال: -z megaco,rtd.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "megaco,rtd,ip.addr==1.2.3.4" تنها آمار بسته‌های MEGACO مبادله‌شده توسط میزبان در آدرس IP 1.2.3.4 را جمع‌آوری خواهد کرد.

-z mgcp,rtd[,filter]

جمع‌آوری داده‌های تاخیر زمان پاسخ (RTD) برای درخواست‌ها/پاسخ‌های MGCP. (مشابه گزینه -z smb,srt است). داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها برای هر نوع شناخته‌شده MGCP، حداقل RTD، حداکثر RTD و میانگین RTD. علاوه بر این، تعداد درخواست‌ها/پاسخ‌های تکراری، درخواست‌های بدون پاسخ، و پاسخ‌هایی که با هیچ درخواستی تطابق ندارند را دریافت خواهید کرد. مثال: -z mgcp,rtd.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "mgcp,rtd,ip.addr==1.2.3.4" تنها آمار بسته‌های MGCP مبادله‌شده توسط میزبان در آدرس IP 1.2.3.4 را جمع‌آوری می‌کند.

-z mtp3,msus[,filter]

محاسبه آمار روی بسته‌های MTP3 MSU. برای هر ترکیب از کد نقطه مبدأ، کد نقطه مقصد و نشانگر سرویس، تعداد کل MSUها، کل بایت‌ها و میانگین بایت‌ها به ازای هر MSU را محاسبه می‌کند.

-z ncp,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) برای درخواست‌ها/پاسخ‌های Netware Core Protocol. حداقل SRT، حداکثر SRT، میانگین SRT و مجموع SRT برای جفت‌های درخواست/پاسخ نمایش داده می‌شود که بر اساس گروه، تابع، زیرتابع و فعل (verb) سازماندهی شده‌اند. هیچ آماری روی پیام‌های بدون جفت جمع‌آوری نمی‌شود.

-z oran-fh-cus,stat[,filter]

جمع‌آوری خلاصه‌های جریان برای ترافیک ORAN FH CUS.

-z osmux,tree[,filter]

محاسبه آمار برای پروتکل تسهیم صوت/سیگنال‌دهی OSmux. تعداد کل بسته‌های OSmux را نمایش می‌دهد، و برای هر جریان تعداد بسته‌ها، تعداد بسته‌های دارای بیت بازار RTP تنظیم‌شده، تعداد فریم‌های AMR، تحلیل جیتر و تحلیل شماره توالی را نمایش می‌دهد.

-z pfcp,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) درخواست‌ها/پاسخ‌ها برای PFCP. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها، حداقل SRT، حداکثر SRT، میانگین SRT، و مجموع SRT برای برخی دستورات خاص. در حال حاضر هیچ آماری روی پیام‌های بدون جفت جمع‌آوری نمی‌شود.

-z pingpongprotocol,stat[,filter]

محاسبه آمار روی پروتکل Ping Pong Protocol مربوط به Reliable Server Pooling. برای هر نوع پیام، تعداد، نرخ و سهم آن از بسته‌ها و بایت‌ها در میان تمام انواع پیام‌ها، و نخستین و آخرین زمان دیده شدن آن را نمایش می‌دهد.

-z plen,tree[,filter]

محاسبه آمار روی طول بسته‌ها. بسته‌ها در دسته‌هایی (buckets) گروه‌بندی می‌شوند که با توان‌های دو به‌طور نمایی رشد می‌کنند.

-z proto,colinfo,filter,field

افزودن تمام مقادیر field مربوط به بسته به ستون Info در خروجی خلاصه تک‌خطی. از این ویژگی می‌توان برای افزودن فیلدهای دلخواه به ستون Info علاوه بر محتوای عادی آن ستون استفاده کرد. field نام فیلتر نمایشی یک فیلد است که مقدار آن باید در ستون Info قرار گیرد. filter یک رشته فیلتر است که کنترل می‌کند مقدار فیلد برای کدام بسته‌ها در ستون Info نشان داده شود. field تنها برای بسته‌هایی در ستون Info نمایش می‌یابد که با filter تطابق داشته باشند.


نکته

برای اینکه TShark بتواند مقدار field را از بسته استخراج کند،
field حتماً باید بخشی از رشته filter باشد. در غیر این صورت، TShark قادر به استخراج مقدار آن نخواهد بود.

برای یک مثال ساده جهت افزودن فیلد "nfs.fh.hash" به ستون Info برای تمام بسته‌های حاوی فیلد "nfs.fh.hash"، از این دستور استفاده کنید:

-z proto,colinfo,nfs.fh.hash,nfs.fh.hash

برای قرار دادن "nfs.fh.hash" در ستون Info اما تنها برای بسته‌هایی که از مبدأ میزبان 1.2.3.4 می‌آیند، از این دستور استفاده کنید:

-z "proto,colinfo,nfs.fh.hash && ip.src==1.2.3.4,nfs.fh.hash"

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

-z ptype,tree[,filter]

محاسبه آمار روی انواع پورت‌هایی که روی بسته‌های IPv4 رخ می‌دهند.

-z radius,rtd[,filter]

جمع‌آوری داده‌های تاخیر زمان پاسخ (RTD) درخواست‌ها/پاسخ‌ها برای RADIUS. داده‌های جمع‌آوری‌شده برای هر کد RADIUS عبارتند از تعداد فراخوانی‌ها، حداقل RTD، حداکثر RTD، میانگین RTD، حداقل در فریم، و حداکثر در فریم؛ به همراه تعداد درخواست‌های باز (بدون پاسخ)، پاسخ‌های دور ریخته‌شده (پاسخ‌های بدون درخواست منطبق) و پیام‌های تکراری.

-z rlc-3gpp,stat[,filter]

این گزینه شمارنده‌ای را برای پیام‌های RLC مربوط به LTE یا NR فعال می‌کند. اطلاعاتی درباره پیام‌های عمومی و شمارنده‌های مختلف برای هر UE که در گزارش ظاهر می‌شود دریافت خواهید کرد.

مثال: tshark -z rlc-3gpp,stat.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "rlc-3gpp,stat,rlc-nr.ueid>3000" تنها آمار را برای UEهای NR با مقدار UEId بیشتر از ۳۰۰۰ جمع‌آوری می‌کند.

-z rpc,programs

جمع‌آوری داده‌های SRT فراخوانی/پاسخ برای تمام برنامه‌ها/نسخه‌های شناخته‌شده ONC-RPC. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها برای هر پروتکل/نسخه، MinSRT، MaxSRT و AvgSRT. این گزینه تنها یک بار می‌تواند در خط فرمان استفاده شود.

-z rpc,srt,program,version[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) فراخوانی/پاسخ برای program/version. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها برای هر رویه، MinSRT، MaxSRT، AvgSRT، و کل زمان صرف‌شده برای هر رویه.

مثال: tshark -z rpc,srt,100003,3 داده‌ها را برای NFS v3 جمع‌آوری می‌کند.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z rpc,srt,100003,3,nfs.fh.hash==0x12345678 آمارهای SRT برای NFS v3 را برای یک فایل خاص جمع‌آوری خواهد کرد.

-z rtp,streams

جمع‌آوری آمار برای تمام جریان‌های RTP و محاسبه حداکثر دلتا، حداکثر و میانگین جیتر و درصدهای اتلاف بسته.

-z rtsp,stat[,filter]

شمارش کدهای وضعیت پاسخ RTSP و متدهای درخواست RTSP.

-z rtsp,tree[,filter]

محاسبه توزیع بسته‌های RTSP. مقادیر نمایش‌داده‌شده کدهای وضعیت پاسخ و متدهای درخواست هستند.

-z sametime,tree[,filter]

محاسبه آمار روی پیام‌های SAMETIME. مقادیر نمایش‌داده‌شده شامل نوع پیام، نوع ارسال و وضعیت کاربر است.

-z scsi,srt,cmdset[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) فراخوانی/پاسخ برای مجموعه دستورات SCSI با شناسه cmdset.

مجموعه دستورات عبارتند از 0:SBC و 1:SSC و 5:MMC.

داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها برای هر رویه، MinSRT، MaxSRT و AvgSRT.

مثال: -z scsi,srt,0 داده‌ها را برای دستورات بلوکی SCSI یا (SBC) جمع‌آوری می‌کند.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z scsi,srt,0,ip.addr==1.2.3.4 آمارهای SCSI SBC SRT را برای یک میزبان خاص iscsi/ifcp/fcip جمع‌آوری خواهد کرد.

-z sctp,stat

فعال کردن یک شمارنده برای تکه‌های (chunks) پروتکل SCTP. علاوه بر تعداد کل بسته‌های SCTP، برای هر ترکیب از آدرس و پورت مبدأ و مقصد، تعداد تکه‌های رایج‌ترین انواع (DATA, SACK, HEARTBEAT, HEARTBEAT ACK, INIT, INIT ACK, COOKIE ECHO, COOKIE ACK, ABORT, and ERROR) نمایش داده می‌شود.

-z sip,stat[,filter]

این گزینه شمارنده‌ای را برای پیام‌های SIP فعال می‌کند. تعداد رخدادهای هر متد SIP و هر کد وضعیت SIP را دریافت خواهید کرد. علاوه بر این، تعداد پیام‌های ارسال مجدد شده SIP (تنها برای SIP روی UDP) را نیز دریافت می‌کنید.

مثال: -z sip,stat.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "sip,stat,ip.addr==1.2.3.4" تنها آمار بسته‌های SIP مبادله‌شده توسط میزبان در آدرس IP 1.2.3.4 را جمع‌آوری خواهد کرد.

-z smb,sids

هنگام استفاده از این ویژگی، TShark گزارشی از تمام نگاشت‌های کشف‌شده بین SID و نام حساب چاپ خواهد کرد. تنها آن دسته از SIDهایی که نام حساب آن‌ها شناخته شده است در جدول ارائه می‌شوند.

برای کارکرد این ویژگی باید گزینه "Edit/Preferences/Protocols/SMB/Snoop SID to name mappings" را در ترجیحات فعال کنید یا می‌توانید با مشخص کردن -o "smb.sid_name_snooping:TRUE" در خط فرمان TShark، ترجیحات را لغو کنید.

روش فعلی استفاده‌شده توسط TShark برای یافتن نگاشت SID→name نسبتاً محدود است و امید می‌رود در آینده گسترش یابد.

-z smb,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) فراخوانی/پاسخ برای SMB. داده‌های جمع‌آوری‌شده عبارتند از تعداد فراخوانی‌ها برای هر دستور SMB، و مقادیر MinSRT، MaxSRT و AvgSRT.

مثال: -z smb,srt

داده‌ها در قالب جدول‌های جداگانه برای تمام دستورات عادی SMB، تمام دستورات Transaction2 و تمام دستورات NT Transaction ارائه خواهند شد. تنها دستوراتی که در ضبط مشاهده شوند آمارشان نمایش داده خواهد شد. تنها اولین دستور در یک زنجیره دستورات xAndX در محاسبات استفاده خواهد شد؛ بنابراین برای زنجیره‌های متداول SessionSetupAndX + TreeConnectAndX، تنها فراخوانی SessionSetupAndX در آمار استفاده می‌شود. این یک نقص است که ممکن است در آینده برطرف شود.

این گزینه می‌تواند چندین بار در خط فرمان استفاده شود.

مثال: -z "smb,srt,ip.addr==1.2.3.4" تنها آمار بسته‌های SMB مبادله‌شده توسط میزبان در آدرس IP 1.2.3.4 را جمع‌آوری می‌کند.

-z smb2,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) فراخوانی/پاسخ برای نسخه‌های ۲ و ۳ SMB. داده‌های جمع‌آوری‌شده برای هر نوع دستور عادی عبارتند از تعداد فراخوانی‌ها، MinSRT، MaxSRT، AvgSRT و SumSRT. هیچ داده‌ای برای درخواست‌های لغو یا شکستن قفل‌های اپلاک (oplock break)، یا دستورات بدون جفت جمع‌آوری نمی‌شود. تنها اولین پاسخ به یک درخواست مشخص استفاده می‌شود؛ ارسال‌های مجدد در محاسبات لحاظ نمی‌شوند.

-z smpp_commands,tree[,filter]

محاسبه توزیع دستورات SMPP. مقادیر نمایش‌داده‌شده شامل شناسه‌های دستور برای درخواست‌ها و پاسخ‌ها، و وضعیت پاسخ‌ها است.

-z snmp,srt[,filter]

جمع‌آوری داده‌های زمان پاسخ سرویس (SRT) فراخوانی/پاسخ برای SNMP. داده‌های جمع‌آوری‌شده برای هر نوع PDU عبارتند از تعداد جفت‌های درخواست/پاسخ، MinSRT، MaxSRT، AvgSRT و SumSRT. هیچ داده‌ای برای پیام‌های بدون جفت جمع‌آوری نمی‌شود.

-z someip_messages,tree[,filter]

ایجاد آمار پیام‌های SOME/IP. پیام‌ها شمارش شده و به صورت پیام‌های گروه‌بندی‌شده بر اساس فرستنده/گیرنده نمایش می‌یابند.

-z someipsd_entries,tree[,filter]

ایجاد آمار مدخل‌های SOME/IP-SD. مدخل‌ها شمارش شده و به صورت مدخل‌های گروه‌بندی‌شده بر اساس فرستنده/گیرنده نمایش می‌یابند.

-z sv

چاپ زمان سپری‌شده از ابتدای ضبط و تعداد نمونه‌ها برای هر بسته IEC 61850 Sampled Values.

-z ucp_messages,tree[,filter]

محاسبه توزیع پیام‌های بسته‌های UCP. مقادیر نمایش‌داده‌شده انواع عملیات برای عملیات‌ها و نتایج، و مثبت یا منفی بودن نتایج است، که کدهای خطا برای نتایج منفی نمایش داده می‌شوند.

-z wsp,stat[,filter]

شمارش انواع PDU و کدهای وضعیت بسته‌های پاسخ برای بسته‌های WSP.

--capture-comment <comment>

افزودن یک توضیح ضبط به فایل خروجی، در صورتی که توسط قالب فایل خروجی پشتیبانی شود.

این گزینه می‌تواند چندین بار مشخص شود. توجه داشته باشید که در حال حاضر Wireshark تنها اولین توضیح موجود در یک فایل ضبط را نمایش می‌دهد.

--list-time-stamp-types

فهرست کردن انواع برچسب زمانی پشتیبانی‌شده برای رابط. اگر هیچ نوع برچسب زمانی قابل تنظیمی وجود نداشته باشد، هیچ نوعی فهرست نخواهد شد.

--no-optimize

عدم اجرای بهینه‌ساز libpcap هنگام تولید کد برای یک فیلتر ضبط. این گزینه در صورتی که به وجود نقص در بهینه‌ساز مشکوک باشید مفید است.

این گزینه می‌تواند چندین بار تکرار شود. اگر قبل از اولین وقوع گزینه -i استفاده شود، فیلترهای ضبط برای هیچ‌یک از رابط‌ها بهینه‌سازی نمی‌شوند. اگر بعد از یک گزینه -i استفاده شود، فیلتر ضبط برای رابطی که توسط آخرین گزینه -i پیش از این گزینه مشخص شده است بهینه‌سازی نمی‌شود.

--time-stamp-type <type>

تغییر روش برچسب‌گذاری زمانی رابط.

--update-interval <interval>

تنظیم مدت‌زمان بر حسب میلی‌ثانیه بین گزارش‌های بسته‌های جدید در حین ضبط. همچنین دقت شرایط مربوط به مدت‌زمان فایل را تنظیم می‌کند. مقدار پیش‌فرض 100ms است.

--color

فعال‌سازی رنگ‌آمیزی بسته‌ها بر اساس فیلترهای رنگی استاندارد Wireshark. در Windows، رنگ‌ها به رنگ‌های استاندارد ویژگی نویسه کنسول محدود هستند. سایر پلتفرم‌ها نیازمند ترمینالی هستند که توالی‌های گریز ترمینال رنگ ۲۴ بیتی ("true color") را پردازش کند. برای اطلاعات بیشتر در رابطه با پیکربندی فیلترهای رنگی به https://wiki.wireshark.org/ColoringRules مراجعه کنید.

--no-duplicate-keys

اگر یک کلید چندین بار در یک شیء ظاهر شود، آن را تنها یک بار با مقداری به صورت یک آرایه json شامل تمام مقادیر مجزا بنویسید (تنها همراه با -T json کار می‌کند).

--json-compact

تولید خروجی JSON فشرده بدون فاصله‌گذاری، تورفتگی یا خطوط اضافه. این کار اندازه خروجی را به میزان قابل توجهی کاهش داده و عملکرد را بهبود می‌بخشد (تنها همراه با -T json و -T jsonraw کار می‌کند).

--elastic-mapping-filter <protocol>,<protocol>,...

هنگام تولید فایل نگاشت ElasticSearch، تنها پروتکل‌های مشخص‌شده در آن قرار داده شوند، تا از ایجاد یک فایل نگاشت حجیم که ممکن است باعث اختلال در برخی نرم‌افزارها (مانند Kibana) شود جلوگیری به عمل آید. این گزینه فهرستی از نام‌های اختصاری پروتکل‌های مورد نظر را که با کاما جدا شده‌اند دریافت می‌کند.

مثال: ip,udp,dns تنها این سه پروتکل را در فایل نگاشت قرار می‌دهد.

--export-objects <protocol>,<destdir>

صادر کردن تمام اشیاء درون یک پروتکل به دایرکتوری destdir. مقادیر موجود برای protocol را می‌توان با --export-objects help فهرست کرد.

اشیاء مستقیماً در دایرکتوری داده‌شده ذخیره می‌شوند. نام فایل‌ها به تشریح‌کننده بستگی دارد، اما معمولاً از روی نام پایه (basename) یک فایل نام‌گذاری می‌شود. فایل‌های تکراری بازنویسی نمی‌شوند، بلکه یک عدد افزایشی قبل از پسوند فایل اضافه می‌شود.

این واسط ممکن است در آینده دستخوش تغییر شود، و امکان فیلتر کردن روی فایل‌ها به آن اضافه گردد.

--print-timers

تولید خروجی JSON شامل زمان‌های سپری‌شده برای هر گذر تشریح فایل ضبط توسط tshark و مجموع زمان‌های سپری‌شده برای تمام گذرها. خروجی هر گذر شامل کل زمان سپری‌شده و شمارنده‌های تجمیعی برای عملیات مربوط به هر بسته (تشریح و فیلترسازی) است.

--compress <type>

فشرده‌سازی فایل خروجی با استفاده از قالب فشرده‌سازی type. گزینه --compress بدون هیچ آرگومانی فهرستی از قالب‌های فشرده‌سازی پشتیبانی‌شده برای نوشتن را ارائه می‌دهد. نوع ارائه‌شده بر پسوند فایل outfile اولویت خواهد داشت.

-d <layer type>==<selector>,<decode-as protocol>

همانند قابلیت Decode As... در Wireshark، این گزینه به شما امکان می‌دهد نحوهٔ کالبدشکافی یک نوع لایه را مشخص کنید. اگر نوع لایهٔ مورد نظر (برای مثال، tcp.port یا udp.port برای شماره درگاه TCP یا UDP) دارای مقدار انتخاب‌گر مشخص‌شده باشد، بسته‌ها باید به عنوان پروتکل مشخص‌شده کالبدشکافی شوند.

مثال ۱. Decode As بر اساس درگاه

دستور -d tcp.port==8888,http هر ترافیکی را که روی درگاه TCP شمارهٔ 8888 در جریان است به عنوان HTTP رمزگشایی می‌کند.

مثال ۲. Decode As بر اساس بازه‌ای از درگاه‌ها

دستور -d tcp.port==8888-8890,http هر ترافیکی را که روی درگاه‌های TCP شمارهٔ 8888، 8889 یا 8890 در جریان است به عنوان HTTP رمزگشایی می‌کند.

مثال ۳. Decode As بر اساس بازه‌ای از درگاه‌ها از طریق طول بازه

دستور -d tcp.port==8888:3,http هر ترافیکی را که روی سه درگاه TCP شمارهٔ 8888، 8889 یا 8890 در جریان است به عنوان HTTP رمزگشایی می‌کند.

استفاده از یک انتخاب‌گر یا پروتکل نامعتبر، به‌ترتیب فهرستی از انتخاب‌گرها و نام‌های پروتکل معتبر را چاپ خواهد کرد.

مثال ۴. Decode As برای دریافت فهرست انتخاب‌گرها

دستور -d . روشی سریع برای دریافت فهرستی از انتخاب‌گرهای معتبر است.

مثال ۵. Decode As برای دریافت فهرست مقادیر یک انتخاب‌گر

دستور -d ethertype==0x0800,. روشی سریع برای دریافت فهرستی از پروتکل‌هایی است که می‌توان با یک ethertype انتخاب کرد.

--disable-all-protocols

غیرفعال‌سازی کالبدشکافی تمام پروتکل‌ها.

--disable-protocol <proto_name>[,<proto_name>,...]

غیرفعال‌سازی کالبدشکافی proto_name. برای لغو فهرست پروتکل‌های فعال پیش‌فرض در نمایهٔ (profile) انتخابی خود و غیرفعال‌سازی موقت تمام پروتکل‌ها، از مقدار ALL به عنوان proto_name استفاده کنید.

--disable-heuristic <short_name>

غیرفعال‌سازی کالبدشکافی پروتکل اکتشافی (heuristic).

--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>

فعال‌سازی کالبدشکافی پروتکل اکتشافی (heuristic).

-K <keytab>

بارگذاری کلیدهای رمزنگاری kerberos از فایل keytab مشخص‌شده. از این گزینه می‌توان چندین بار برای بارگذاری کلیدها از چند فایل استفاده کرد.

مثال: -K krb5.keytab

-n

غیرفعال‌سازی تفکیک نام اشیاء شبکه (مانند نام میزبان، نام درگاه‌های TCP و UDP)؛ گزینهٔ -N ممکن است این گزینه را لغو (override) کند.

-N <name resolving flags>

فعال کردن تفکیک نام تنها برای انواع خاصی از آدرس‌ها و شماره درگاه‌ها، و خاموش گذاشتن تفکیک نام برای سایر انواع آدرس‌ها و شماره درگاه‌ها. این گزینه (همراه با -n) می‌تواند چندین بار مشخص شود؛ آخرین مقدار داده‌شده مقادیر پیشین را لغو می‌کند. این گزینه و -n تنظیمات ترجیحات (preferences)، از جمله ترجیحات تعیین‌شده از طریق گزینهٔ -o را لغو می‌کنند. اگر هیچ‌یک از گزینه‌های -N و -n مشخص نشده باشند، مقادیر موجود در ترجیحات اعمال می‌شوند که مقدار پیش‌فرض آن -N dmN است.

آرگومان یک رشته است که می‌تواند شامل حروف زیر باشد:

d برای فعال‌سازی تفکیک نام از بسته‌های DNS ضبط‌شده

g برای فعال‌سازی جستجوی اطلاعات موقعیت مکانی (geolocation) آدرس IP از پایگاه‌های دادهٔ MaxMind پیکربندی‌شده

m برای فعال‌سازی تفکیک آدرس MAC

n برای فعال‌سازی تفکیک آدرس شبکه

N برای فعال‌سازی استفاده از تفکیک‌کننده‌های خارجی (مانند DNS) جهت تفکیک آدرس شبکه؛ بدون فعال بودن n هیچ اثری ندارد.

s برای فعال‌سازی تفکیک آدرس با استفاده از اطلاعات SNI موجود در بسته‌های دست‌تکانی (handshake) ضبط‌شده

t برای فعال‌سازی تفکیک شماره درگاه لایهٔ انتقال

v برای فعال‌سازی تفکیک شناسهٔ VLAN به نام


هشدار

در حالت تک‌گذره (single-pass mode) در tshark، تفکیک نام خارجی و جستجوی موقعیت مکانی به‌صورت همگام (synchronous) انجام می‌شود. برای ضبط‌های زنده که همواره در حالت تک‌گذره هستند، این مسئله همگام ماندن کالبدشکافی با ترافیک یک شبکهٔ شلوغ را دشوارتر کرده و احتمالاً به دور انداخته شدن بسته‌ها (dropped packets) می‌انجامد.

--only-protocols <protocols>

تنها کالبدشکافی این پروتکل‌ها را (جداشده با کاما) فعال می‌کند. تمام موارد دیگر غیرفعال می‌شوند.

-t (a|ad|adoy|d|dd|e|r|rc|u|ud|udoy)[.[N]]|.[N]

قالب برچسب زمانی بسته را که در ستون پیش‌فرض زمان نشان داده می‌شود، تنظیم می‌کند. این قالب می‌تواند یکی از موارد زیر باشد:

a مطلق (absolute): زمان مطلق، به‌صورت زمان محلی در منطقهٔ زمانی شما، زمان واقعی ضبط بسته بدون نمایش تاریخ است

ad مطلق همراه با تاریخ: تاریخ مطلق به‌صورت YYYY-MM-DD و زمان، به‌صورت زمان محلی در منطقهٔ زمانی شما، تاریخ و زمان واقعی ضبط بسته است

adoy مطلق همراه با تاریخ بر اساس روز در سال: تاریخ مطلق به‌صورت YYYY/DOY و زمان، به‌صورت زمان محلی در منطقهٔ زمانی شما، تاریخ و زمان واقعی ضبط بسته است

d تفاضلی (delta): زمان دلتا عبارت است از مدت‌زمان سپری‌شده از زمان ضبط بستهٔ قبلی

dd تفاضلیِ نمایش‌داده‌شده (delta_displayed): زمان delta_displayed عبارت است از مدت‌زمان سپری‌شده از زمان ضبط بستهٔ نمایش‌داده‌شدهٔ قبلی

e مبدأ زمانی (epoch): زمان بر حسب ثانیه از مبدأ زمانی یونیکس (۱ ژانویه ۱۹۷۰، ساعت 00:00:00)

r نسبی (relative): زمان نسبی عبارت است از زمان سپری‌شده میان اولین بسته و بستهٔ فعلی

rc نسبی نسبت به شروع ضبط: عبارت است از زمان سپری‌شده میان آغاز عملیات ضبط و بستهٔ فعلی

u زمان UTC: زمان مطلق به‌صورت UTC با پسوند "Z"، زمان واقعی ضبط بسته بدون نمایش تاریخ است

ud زمان UTC همراه با تاریخ: تاریخ مطلق به‌صورت YYYY-MM-DD و زمان به‌صورت UTC با پسوند "Z"، تاریخ و زمان واقعی ضبط بسته است

udoy زمان UTC همراه با تاریخ بر اساس روز در سال: تاریخ مطلق به‌صورت YYYY/DOY و زمان به‌صورت UTC با پسوند "Z"، تاریخ و زمان واقعی ضبط بسته است

.[N] تعیین دقت: N تعداد ارقام اعشار است (۰ تا ۹). در صورت استفاده از "." بدون N، دقت به‌طور خودکار از پروندهٔ ضبط تعیین می‌شود.

قالب پیش‌فرض به‌صورت نسبی (relative) و با دقتی بر پایهٔ قالب پروندهٔ ضبط است.

-u <s|hms>

نحوهٔ نمایش قالب‌های برچسب زمانی بسته در -t را که از نوع زمان‌های نسبی هستند (یعنی relative، delta و delta_displayed) تعیین می‌کند. گزینه‌های معتبر عبارتند از:

s برای ثانیه

hms برای ساعت، دقیقه و ثانیه

قالب پیش‌فرض ثانیه است.

--log-level <level>

سطح فعال گزارش‌گیری (log level) را تعیین می‌کند. سطوح پشتیبانی‌شده به ترتیب از کمترین به بیشترین عبارت‌اند از "noisy"، "debug"، "info"، "message"، "warning"، "critical" و "error". پیام‌های هر سطح و سطوح بالاتر چاپ خواهند شد؛ برای نمونه "warning" پیام‌های "warning"، "critical" و "error" را چاپ می‌کند و "noisy" همهٔ پیام‌ها را چاپ می‌کند. سطوح نسبت به بزرگی و کوچکی حروف حساس نیستند.

--log-fatal <level>

در صورتی که هر پیامی در سطح مشخص‌شده یا بالاتر ثبت شود، برنامه را متوقف (abort) می‌کند. برای نمونه، "warning" با ثبت هر پیام "warning"، "critical" یا "error" برنامه را متوقف می‌سازد.

--log-fatal-count <count>

تعداد پیام‌های گزارش مرگبار (fatal) که ممکن است پیش از متوقف شدن برنامه ثبت شوند.

--log-domains <list>

پیام‌ها را تنها برای دامنه‌های گزارش‌گیری (log domains) مشخص‌شده چاپ می‌کند، مانند "GUI,Epan,sshdump". فهرست دامنه‌ها باید با کاما جدا شود. می‌تواند با قرار دادن "!" به عنوان نویسهٔ نخست نقیض شود (تطابق را وارونه می‌کند).

--log-debug <list>

دامنه‌های مشخص‌شده را وادار می‌کند تا در سطح "debug" گزارش‌گیری کنند. فهرست دامنه‌ها باید با کاما جدا شود. می‌تواند با قرار دادن "!" به عنوان نویسهٔ نخست نقیض شود (تطابق را وارونه می‌کند).

--log-noisy <list>

دامنه‌های مشخص‌شده را وادار می‌کند تا در سطح "noisy" گزارش‌گیری کنند. فهرست دامنه‌ها باید با کاما جدا شود. می‌تواند با قرار دادن "!" به عنوان نویسهٔ نخست نقیض شود (تطابق را وارونه می‌کند).

--log-fatal-domains <list>

در صورتی که هر پیامی برای دامنه‌های گزارش‌گیری مشخص‌شده ثبت شود، برنامه را متوقف می‌کند. فهرست دامنه‌ها باید با کاما جدا شود.

--log-file <path>

پیام‌های گزارش و خروجی stderr را در فایل مشخص‌شده می‌نویسد.

مراجعه کنید به صفحهٔ راهنمای pcap-filter(7) یا در صورت عدم وجود آن، tcpdump(8)، یا در صورت وجود نداشتن آن، به https://wiki.wireshark.org/CaptureFilters.

برای مشاهدهٔ جدول کاملی از پروتکل‌ها و فیلدهای پروتکلی که در TShark قابل فیلتر شدن هستند، صفحهٔ راهنمای wireshark-filter(4) را ببینید.

این فایل‌ها حاوی تنظیمات پیکربندی گوناگون Wireshark هستند.

ترجیحات (Preferences)

فایل‌های preferences شامل تنظیمات ترجیحی سراسری (در سطح سیستم) و شخصی هستند. اگر فایل ترجیحات سراسری سیستم وجود داشته باشد، ابتدا خوانده شده و تنظیمات پیش‌فرض را بازنویسی می‌کند. اگر فایل ترجیحات شخصی وجود داشته باشد، در مرحلهٔ بعد خوانده شده و هرگونه مقدار پیشین را بازنویسی خواهد کرد. نکته: اگر پرچم خط فرمان -o استفاده شود (احتمالاً بیش از یک بار)، به نوبهٔ خود مقادیر فایل‌های ترجیحات را بازنویسی خواهد کرد.

تنظیمات ترجیحات به شکل prefname:value در هر خط نوشته می‌شوند، که در آن prefname نام ترجیح و value مقداری است که باید روی آن تنظیم شود؛ فاصلهٔ خالی (whitespace) بین : و 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 است؛ در ویندوز، این مسیر معمولاً C:\Program Files\Wireshark\preferences خواهد بود.

در سیستم‌های سازگار با UNIX، فایل ترجیحات شخصی در $XDG_CONFIG_HOME/wireshark/preferences (یا اگر $XDG_CONFIG_HOME/wireshark وجود نداشته باشد در حالی که $HOME/.wireshark وجود دارد، در $HOME/.wireshark/preferences) جستجو می‌شود؛ این مسیر معمولاً $HOME/.config/wireshark/preferences است. در ویندوز، فایل ترجیحات شخصی در %APPDATA%\Wireshark\preferences (یا اگر %APPDATA% تعریف نشده باشد، در %USERPROFILE%\Application Data\Wireshark\preferences) جستجو می‌شود.

پروتکل‌های غیرفعال (فعال) (Disabled (Enabled) Protocols)

فایل‌های disabled_protos شامل فهرست‌های سراسری سیستم و شخصی از پروتکل‌هایی هستند که غیرفعال شده‌اند، تا تحلیل‌کننده‌های (dissectors) آن‌ها هرگز فراخوانی نشوند. این فایل‌ها شامل نام‌های پروتکل در هر خط هستند، به طوری که نام پروتکل همان نامی است که در فیلتر نمایش برای آن پروتکل استفاده می‌شود:

http
tcp     # a comment

اگر پروتکلی در فایل سراسری disabled_protos فهرست شده باشد، توسط کاربر قابل فعال‌سازی نخواهد بود.

فایل سراسری disabled_protos از همان دایرکتوری فایل ترجیحات سراسری استفاده می‌کند.

فایل شخصی disabled_protos از همان دایرکتوری فایل ترجیحات شخصی استفاده می‌کند.

فایل‌های disabled_protos تنها پروتکل‌هایی را فهرست می‌کنند که به طور پیش‌فرض فعال بوده اما غیرفعال شده‌اند؛ پروتکل‌هایی که به طور پیش‌فرض غیرفعال هستند (مانند برخی postdissectorها) در آن فهرست نمی‌شوند. فایل‌های مشابه enabled_protos برای پروتکل‌هایی وجود دارند که به طور پیش‌فرض غیرفعال بوده اما فعال شده‌اند.

تحلیل‌کننده‌های اکتشافی (Heuristic Dissectors)

فایل‌های heuristic_protos شامل فهرست‌های سراسری و شخصی از تحلیل‌کننده‌های اکتشافی هستند و فعال یا غیرفعال بودن آن‌ها را مشخص می‌کنند. این فایل‌ها حاوی نام‌های کوتاه یکتای تحلیل‌کننده‌های اکتشافی در هر خط هستند که به دنبال آن یک کاما و سپس 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، برای تفکیک آن‌ها استفاده می‌شوند. این فایل از نحو استاندارد فایل hosts پیروی می‌کند؛ هر خط شامل یک نشانی IP و نام است که با فاصلهٔ خالی (whitespace) از یکدیگر جدا شده‌اند. در صورت وجود، فایل شخصی hosts فایل موجود در دایرکتوری سراسری را بازنویسی می‌کند.

تفکیک نام در فیلتر ضبط، در سیستم‌های سازگار با UNIX مانند Linux، macOS، \*BSD، Solaris و AIX توسط libpcap، و در ویندوز توسط Npcap انجام می‌شود. از این رو، برای تفکیک نام در فیلتر ضبط، به فایل شخصی 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)

برای مطابقت دادن نشانی‌های سخت‌افزاری ۶ بایتی EUI-48 و ۸ بایتی EUI-64 با نام‌ها، به فایل‌های ethers مراجعه می‌شود. ابتدا فایل شخصی 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، و در سیستم‌های ویندوز در دایرکتوری اصلی نصب (برای نمونه، C:\Program Files\Wireshark) جستجو می‌شود.

فایل شخصی ethers در همان دایرکتوری فایل ترجیحات شخصی جستجو می‌شود.

تفکیک نام در فیلتر ضبط در سیستم‌های سازگار با UNIX توسط libpcap و در ویندوز توسط Npcap انجام می‌شود. از این رو، برای تفکیک نام در فیلتر ضبط، به فایل شخصی 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 در سیستم‌های سازگار با UNIX مانند Linux، macOS، \*BSD، Solaris و AIX در دایرکتوری /etc، و در سیستم‌های ویندوز در دایرکتوری اصلی نصب (برای نمونه، C:\Program Files\Wireshark) جستجو می‌شود.

فایل شخصی ipxnets در همان دایرکتوری فایل ترجیحات شخصی جستجو می‌شود.

تفکیک نام (ss7pcs)

فایل ss7pcs برای ترجمهٔ کدهای نقطهٔ SS7 (point codes) به نام‌ها به کار می‌رود. این فایل از دایرکتوری پیکربندی شخصی خوانده می‌شود.

هر خط در این فایل از یک شناسهٔ شبکه و به دنبال آن یک خط تیره، یک کد نقطه به صورت ده‌دهی (دسیمال) و یک نام گره تشکیل شده است که با فاصلهٔ خالی جدا می‌شوند. یک نمونه:

2-1234 MyPointCode1

تفکیک نام (vlans)

فایل vlans برای ترجمهٔ شناسه‌های برچسب VLAN به نام‌ها استفاده می‌شود. این فایل از دایرکتوری پیکربندی شخصی خوانده می‌شود.

هر خط در این فایل شامل یک شناسهٔ برچسب VLAN است که با فاصلهٔ خالی از یک نام جدا شده است. یک نمونه:

123    Server-Lan
2049   HR-Client-LAN

فیلترهای رنگی (قوانین رنگ‌آمیزی) (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 وجود نداشته باشد؛ فیلترهای رنگی سراسری و شخصی با یکدیگر ادغام نمی‌شوند.

افزایه‌ها (Plugins)

برنامهٔ Wireshark افزایه‌ها را در هر دو پوشهٔ افزایه‌های شخصی و پوشهٔ افزایه‌های سراسری جستجو می‌کند.

در سیستم‌های سازگار با UNIX مانند Linux، macOS، \*BSD، Solaris و AIX، دایرکتوری سراسری افزایه‌ها lib/wireshark/plugins/ (در برخی سیستم‌ها به جای lib از lib64 استفاده می‌شود) در دایرکتوری اصلی نصب است (برای نمونه، /usr/local/lib/wireshark/plugins/). دایرکتوری شخصی افزایه‌ها $HOME/.local/lib/wireshark/plugins است.

در macOS، اگر Wireshark به عنوان یک بستهٔ برنامک (application bundle) نصب شده باشد، پوشهٔ سراسری افزایه‌ها در عوض %APPDIR%/Contents/PlugIns/wireshark خواهد بود.

در ویندوز، پوشهٔ سراسری افزایه‌ها 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 در ویندوز) به صورت PLUGINDIR/X.Y/epan خواهد بود (کتابخانهٔ libwireshark پیش‌تر libepan نامیده می‌شد؛ نام‌های دیگر پوشه‌ها codecs و wiretap هستند).


نکته

در سیستم‌های سازگار با UNIX، افزایه‌های Lua (اما نه افزایه‌های باینری) را می‌توان در
$XDG_CONFIG_HOME/wireshark/plugins نیز قرار داد، (یا اگر $XDG_CONFIG_HOME/wireshark وجود نداشته باشد در حالی که $HOME/.wireshark وجود دارد، در $HOME/.wireshark/plugins).

توجه داشته باشید که یک پیمانهٔ افزایهٔ تحلیل‌کننده ممکن است از بیش از یک پروتکل پشتیبانی کند؛ لزوماً تناظر یک‌به‌یک میان پیمانه‌های افزایهٔ تحلیل‌کننده و پروتکل‌ها وجود ندارد. پروتکل‌های پشتیبانی‌شده توسط یک پیمانهٔ افزایهٔ تحلیل‌کننده به همان شیوه‌ای که پروتکل‌های داخلی Wireshark فعال یا غیرفعال می‌شوند، قابل فعال‌سازی و غیرفعال‌سازی هستند.

دستور TShark به صورت داخلی از UTF-8 برای نمایش رشته‌ها استفاده می‌کند. در برخی موارد ممکن است خروجی معتبر نباشد. برای نمونه، ممکن است یک dissector توالی‌های نویسه‌ای نامعتبر UTF-8 تولید کند. برنامه‌هایی که خروجی TShark را می‌خوانند باید انتظار UTF-8 را داشته باشند و برای خروجی نامعتبر آماده باشند.

اگر TShark تشخیص دهد که در حال نوشتن روی یک TTY در یک سیستم سازگار با UNIX (مانند Linux، macOS، \*BSD، Solaris و AIX) است و locale جاری از UTF-8 پشتیبانی نمی‌کند، خروجی برای مطابقت با locale فعلی بازکدگذاری خواهد شد.

اگر TShark تشخیص دهد که در حال نوشتن روی کنسول در Windows است، خروجی تحلیل و کالبدشکافی (dissection) با کدگذاری UTF-16LE خواهد بود. سایر خروجی‌ها UTF-8 خواهند بود. اگر نویسه‌های گسترش‌یافته به درستی در ترمینال شما نمایش داده نمی‌شوند، می‌توانید صفحه کد کنسول خود را روی UTF-8 تنظیم کرده (chcp 65001) و در صورت امکان از یک برنامه ترمینال مدرن استفاده کنید.

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

تنظیم این متغیر محیطی چهارچوب wmem را وادار می‌کند تا صرف‌نظر از backend تخصیص‌دهنده‌ای که معمولاً توسط کد مشخص می‌شود، از backend تخصیص‌دهنده مشخص‌شده برای تمام تخصیص‌ها استفاده کند. این قابلیت عمدتاً برای توسعه‌دهندگان هنگام آزمایش یا اشکال‌زدایی مفید است. برای جزئیات به README.wmem در توزیع کد مبدأ مراجعه کنید.

WIRESHARK_RUN_FROM_BUILD_DIRECTORY

این متغیر محیطی باعث می‌شود افزونه‌ها و سایر فایل‌های داده به‌جای مکان‌های استاندارد، از دایرکتوری ساخت (جایی که برنامه در آن کامپایل شده است) بارگیری شوند. این متغیر زمانی که برنامه مورد نظر با مجوزهای root (یا setuid) در سیستم‌های سازگار با UNIX، مانند Linux، macOS، \*BSD، Solaris و AIX اجرا می‌شود، هیچ اثری ندارد.

WIRESHARK_DATA_DIR

این متغیر محیطی باعث می‌شود فایل‌های داده گوناگون از دایرکتوری‌ای غیر از مکان‌های استاندارد بارگیری شوند. این متغیر زمانی که برنامه مورد نظر با مجوزهای root (یا setuid) در سیستم‌های سازگار با UNIX اجرا می‌شود، هیچ اثری ندارد.

WIRESHARK_EXTCAP_DIR

این متغیر محیطی باعث می‌شود برنامه‌ها و اسکریپت‌های گوناگون extcap از دایرکتوری‌ای غیر از مکان‌های استاندارد اجرا شوند. این متغیر زمانی که برنامه مورد نظر با مجوزهای root (یا setuid) در سیستم‌های سازگار با UNIX اجرا می‌شود، هیچ اثری ندارد.

WIRESHARK_PLUGIN_DIR

این متغیر محیطی باعث می‌شود افزونه‌های گوناگون از دایرکتوری‌ای غیر از مکان‌های استاندارد بارگیری شوند. این متغیر زمانی که برنامه مورد نظر با مجوزهای root (یا setuid) در سیستم‌های سازگار با UNIX اجرا می‌شود، هیچ اثری ندارد.

ERF_RECORDS_TO_CHECK

این متغیر محیطی تعداد رکوردهای ERF بررسی‌شده را هنگام تصمیم‌گیری در مورد اینکه آیا یک فایل واقعاً در قالب ERF است یا خیر، کنترل می‌کند. تنظیم این متغیر محیطی روی عددی بالاتر از مقدار پیش‌فرض (20)، احتمال موارد مثبت کاذب را کاهش می‌دهد.

IPFIX_RECORDS_TO_CHECK

این متغیر محیطی تعداد رکوردهای IPFIX بررسی‌شده را هنگام تصمیم‌گیری در مورد اینکه آیا یک فایل واقعاً در قالب IPFIX است یا خیر، کنترل می‌کند. تنظیم این متغیر محیطی روی عددی بالاتر از مقدار پیش‌فرض (20)، احتمال موارد مثبت کاذب را کاهش می‌دهد.

WIRESHARK_ABORT_ON_DISSECTOR_BUG

اگر این متغیر محیطی تنظیم شده باشد، TShark در صورت مواجهه با باگ در dissector، تابع abort(3) را فراخوانی خواهد کرد. تابع abort(3) باعث خروج غیرعادی برنامه می‌شود؛ اگر در حال اجرای TShark در یک دیباگر باشید، باید در دیباگر متوقف شود و اجازه بررسی فرایند را بدهد، و اگر آن را در دیباگر اجرا نمی‌کنید، در برخی از سیستم‌عامل‌ها (به فرض اینکه محیط شما به درستی پیکربندی شده باشد)، یک فایل core dump تولید خواهد کرد. این متغیر می‌تواند برای توسعه‌دهندگانی که تلاش می‌کنند مشکلی را در یک dissector پروتکل عیب‌یابی کنند مفید باشد.

WIRESHARK_ABORT_ON_TOO_MANY_ITEMS

اگر این متغیر محیطی تنظیم شده باشد، اگر یک dissector تلاش کند آیتم‌های بسیار زیادی را به درخت اضافه کند (معمولاً این نشان‌دهنده آن است که dissector به اندازه کافی زود از یک حلقه خارج نشده است)، TShark تابع abort(3) را فراخوانی خواهد کرد. تابع abort(3) باعث خروج غیرعادی برنامه می‌شود؛ اگر در حال اجرای TShark در یک دیباگر باشید، باید در دیباگر متوقف شود و اجازه بررسی فرایند را بدهد، و اگر آن را در دیباگر اجرا نمی‌کنید، در برخی از سیستم‌عامل‌ها (به فرض اینکه محیط شما به درستی پیکربندی شده باشد)، یک فایل core dump تولید خواهد کرد. این متغیر می‌تواند برای توسعه‌دهندگانی که تلاش می‌کنند مشکلی را در یک dissector پروتکل عیب‌یابی کنند مفید باشد.

WIRESHARK_LOG_LEVEL

این متغیر محیطی میزان پرگویی (verbosity) پیام‌های تشخیصی در کنسول را کنترل می‌کند. از کمترین به بیشترین پرگویی، سطوح می‌توانند شامل critical، warning، message، info، debug یا noisy باشند. سطوح بالاتر از سطح فعلی نیز فعال هستند. سطوح critical و error همیشه فعال‌اند.

WIRESHARK_LOG_FATAL

سطح گزارش‌های مهلک (fatal) را تنظیم می‌کند. سطوح مهلک گزارش باعث خروج اضطراری (abort) برنامه می‌شوند. این سطح می‌تواند روی Error، critical یا warning تنظیم شود. Error همیشه مهلک است و حالت پیش‌فرض می‌باشد.

WIRESHARK_LOG_DOMAINS

این متغیر محیطی تعیین می‌کند کدام دامنه‌های ثبت گزارش فعال باشند. این فیلتر به صورت فهرستی از مقادیر جدا شده با ویرگول و بدون حساسیت به حروف بزرگ و کوچک ارائه می‌شود. در صورت تنظیم، فقط دامنه‌های گنجانده شده فعال خواهند شد. دامنه پیش‌فرض همیشه فعال در نظر گرفته می‌شود. فهرست فیلتر دامنه‌ها می‌تواند با '!' آغاز شود تا مفهوم تطابق وارونه گردد.

WIRESHARK_LOG_DEBUG

فهرستی از دامنه‌ها با سطح ثبت گزارش debug. این مقدار سطح دامنه‌های گزارش ارائه‌شده را تعیین کرده و بر فیلتر دامنه‌های فعال اولویت دارد. در صورتی که پیش از آن '!' بیاید، در عوض سطح debug را غیرفعال می‌کند.

WIRESHARK_LOG_NOISY

مشابه مورد بالا، اما در عوض برای سطح گزارش noisy.

wireshark-filter(4), wireshark(1), editcap(1), pcap(3), dumpcap(1), text2pcap(1), mergecap(1), pcap-filter(7) یا tcpdump(8)

این صفحهٔ راهنما برای TShark نسخهٔ 4.7.3 است. TShark بخشی از توزیع Wireshark است. آخرین نسخهٔ Wireshark در این نشانی در دسترس است: https://www.wireshark.org.

نسخه‌های HTML صفحات راهنمای پروژهٔ Wireshark در این نشانی در دسترس هستند: https://www.wireshark.org/docs/man-pages.

TShark از همان کد کالبدشکافی بسته‌ها که در Wireshark به کار رفته استفاده می‌کند و همچنین از بسیاری از ماژول‌های دیگر Wireshark بهره می‌برد؛ برای مشاهدهٔ فهرست نویسندگان آن کدها، به فهرست نویسندگان در صفحهٔ راهنمای Wireshark مراجعه کنید.

2026-09-03