TEXT2PCAP(1)   TEXT2PCAP(1)

text2pcap - تولید پرونده ضبط از دامپ هگز ASCII بسته‌ها

text2pcap [ -a ] [ -b 2|8|16|64 ] [ -D ] [ -e <ethertype> ] [ -E <encapsulation type> ] [ -F <file format> ] [ -i <proto> ] [ -l <typenum> ] [ -N <intf-name> ] [ -m <max-packet> ] [ -o hex|oct|dec|none ] [ -q ] [ -r <regex> ] [ -s <srcport>,<destport>,<tag> ] [ -S <srcport>,<destport>,<ppi> ] [ -t <timefmt> ] [ -T <srcport>,<destport> ] [ -u <srcport>,<destport> ] [ -4 <srcip>,<destip> ] [ -6 <srcip>,<destip> ] [ --little-endian ] <infile>|- <outfile>|-

text2pcap -h|--help

text2pcap -v|--version

برنامهٔ Text2pcap ابزاری است که یک دامپ هگز ASCII را خوانده و داده‌های توصیف‌شده را در یک پروندهٔ ضبط می‌نویسد. text2pcap می‌تواند دامپ‌های هگز حاوی چندین بسته را بخواند و پروندهٔ ضبطی از چندین بسته بسازد. همچنین Text2pcap قادر به تولید سرآیندهای صوری Ethernet، IP و UDP، TCP یا SCTP است تا بتواند از روی دامپ‌های هگز که تنها شامل داده‌های سطح کاربرد (application-level) هستند، دامپ‌های بسته‌ای کامل و قابل پردازش تولید کند.

برنامهٔ Text2pcap می‌تواند پرونده را در چندین قالب خروجی مختلف بنویسد. پرچم -F می‌تواند برای تعیین قالبی که پروندهٔ ضبط در آن نوشته می‌شود به کار رود، دستور text2pcap -F فهرستی از قالب‌های خروجی موجود را ارائه می‌دهد. به‌طور پیش‌فرض، بسته‌ها در پروندهٔ outfile با قالب pcapng نوشته می‌شوند. همچنین Text2pcap از قالب‌های فشرده‌سازی پشتیبانی می‌کند که می‌توان با گزینه‌های --compress آن‌ها را مشخص کرد. اگر این گزینه داده نشود، روش فشرده‌سازی مورد نظر، در صورت وجود، از پسوند outfile استنتاج می‌شود؛ برای نمونه اگر پسوند '.gz' داشته باشد، پروندهٔ خروجی به صورت یک بایگانی gzip فشرده می‌شود.

برنامهٔ Text2pcap قالب‌های گوناگون دامپ هگز را درک می‌کند. قالب بومی که Wireshark در قاب Packet Bytes نمایش می‌دهد، در کلیپ‌بورد کپی می‌کند، چاپ کرده و ذخیره می‌نماید، و قالبی که tshark با گزینهٔ --hexdump تولید می‌کند، همان قالبی است که توسط od -Ax -tx1 -v یا hexdump -X -v تولید می‌شود. بدین معنا که هر خط باید با یک آفست (offset) آغاز شود که جایگاه را در بسته توصیف می‌کند، هر بایت جداگانه نمایش داده می‌شود، فاصله‌ها بایت‌ها را از یکدیگر جدا می‌کنند، و خطوط تکراری یا خطوطی که تماماً NUL ('\0') هستند حذف نمی‌شوند. ارقام هگزادسیمال می‌توانند بزرگ یا کوچک باشند. Text2pcap می‌تواند سایر قالب‌های دامپ هگز را نیز پردازش کند، که برخی از آن‌ها به‌طور خودکار تشخیص داده می‌شوند و برخی دیگر برای شناسایی مناسب نیاز به فعال‌سازی گزینه‌ها دارند.

آفست‌ها با یک یا چند فاصله یا تب که آن‌ها را از بایت‌ها جدا می‌کند دنبال می‌شوند. پس از ارقام آفست، به صورت اختیاری می‌تواند یک دونقطه بیاید. آفست‌ها می‌توانند بین ۳ تا ۸ رقم باشند؛ مبنای هگزادسیمال به‌طور پیش‌فرض در نظر گرفته می‌شود، اما می‌توانند در مبنای هشت یا ده‌دهی نیز باشند - گزینهٔ -o را ببینید. اگر آفست‌ها در مبنای هگز باشند، می‌توانند با 0x یا 0X شروع شوند. هر بسته باید با آفست صفر شروع شود، و آفست صفر نشان‌دهندهٔ آغاز یک بستهٔ جدید است. مقادیر آفست باید صحیح باشند؛ یک مقدار غیرمنتظره موجب لغو بستهٔ فعلی شده و برنامه منتظر شروع بستهٔ بعدی می‌ماند. همچنین یک حالت تک‌بسته‌ای بدون آفست نیز وجود دارد؛ گزینهٔ -o را ببینید.

هیچ محدودیتی در پهنا یا تعداد بایت‌ها در هر خط وجود ندارد، اما خطوطی که تنها شامل بایت‌های هگز بدون آفست ابتدایی هستند نادیده گرفته می‌شوند (به عبارت دیگر، در خطوط طولانی که دچار شکست خط (wrap) می‌شوند نباید نویسهٔ خط جدید درج شود). بایت‌ها حتماً باید در مبنای هگز باشند؛ بر خلاف آفست‌ها (و حالت جایگزین regex که در ادامه به آن اشاره می‌شود)، سایر پایه‌ها مانند هشت، ده‌دهی یا دودویی پشتیبانی نمی‌شوند. گروه‌های بایتی دو تا چهار بایتی نیز پشتیبانی می‌شوند. به‌طور پیش‌فرض فرض بر این است که گروه‌های بایتی با ترتیب بایت شبکه (big-endian) هستند؛ گزینهٔ --little-endian می‌تواند برای پشتیبانی از ترتیب بایت little-endian استفاده شود.

بسته‌ها می‌توانند با یک نشانگر جهت ('I' یا 'O') و/یا یک برچسب زمانی (در صورت مشخص شدن در خط فرمان، گزینه‌های -D و -t را ببینید) همراه باشند. اگر هر دو موجود باشند، نشانگر جهت پیش از برچسب زمانی قرار می‌گیرد. قالب برچسب‌های زمانی به عنوان یک پارامتر اجباری برای -t تعیین می‌شود. اگر هیچ برچسب زمانی تجزیه نشود، برای بستهٔ اول زمان فعلی سیستم استفاده می‌شود، در حالی که بسته‌های بعدی با برچسب زمانی یک میکروثانیه دیرتر از بستهٔ قبلی نوشته می‌شوند.

سایر متون موجود در داده‌های ورودی نادیده گرفته می‌شوند. هر متنی پیش از آفست نادیده گرفته می‌شود، از جمله نویسه‌های بازارسال رایانامه '>'. هر متنی در یک خط پس از بایت‌ها نادیده گرفته می‌شود، مانند دامپ نویسه‌های ASCII (اما گزینهٔ -a را ببینید تا مطمئن شوید در صورت عدم وجود جداکننده بین دامپ هگز و ترجمهٔ نویسه‌ای ASCII، ارقام هگز در دامپ نویسه‌ها نادیده گرفته می‌شوند). هر خطی که نخستین نویسهٔ غیرفاصله‌ای آن یک '#' باشد به عنوان کامنت نادیده گرفته خواهد شد. برخی از ابزارهای دامپ هگز از خطی شامل یک '*' برای نشان دادن خطوط حذف‌شده استفاده می‌کنند، که یا کپی خط قبلی است و یا تماماً از بایت‌های NUL ('\0') تشکیل شده است؛ این مورد پشتیبانی نمی‌شود. هر خط متنی بین خطوط رشته‌های بایتی به عنوان مقدمه (preamble) تلقی می‌شود؛ ابتدای مقدمه برای یافتن نشانگر جهت و برچسب زمانی همان‌گونه که در بالا ذکر شد بررسی می‌شود و در غیر این صورت نادیده گرفته خواهد شد.

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

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

در اینجا نمونه‌ای از یک دامپ که text2pcap می‌تواند شناسایی کند، به همراه نشانگر اختیاری جهت و برچسب زمانی آورده شده است:

I 2019-05-14T19:04:57Z
000000 00 0e b6 00 00 02 00 0e b6 00 00 01 08 00 45 00
000010 00 28 00 00 00 00 ff 01 37 d1 c0 00 02 01 c0 00
000020 02 02 08 00 a6 2f 00 01 00 01 48 65 6c 6c 6f 20
000030 57 6f 72 6c 64 21
000036

همچنین Text2pcap قادر است یک پروندهٔ متنی ورودی را با استفاده از یک عبارت منظم سازگار با Perl (PCRE) سفارشی که با یک بسته تطبیق پیدا می‌کند، پویش کند. text2pcap پروندهٔ داده‌شده (که باید به '\n' ختم شود) را برای یافتن رشته‌های غیرهمپوشان و غیرخالی که با عبارت منظم تطابق دارند جستجو می‌کند. زیرگروه‌های ضبط‌کنندهٔ نام‌گذاری‌شده (named capturing subgroups)، که باید دقیقاً یک بار در هر بسته تطبیق یابند، برای شناسایی فیلدهای وارداتی استفاده می‌شوند. فیلدهای زیر در حالت regex پشتیبانی می‌شوند؛ یک مورد اجباری و سه مورد اختیاری:

"data"  داده‌های واقعی فریم ضبط‌شده برای واردسازی
"time"  برچسب زمانی بسته
"dir"   جهت بسته
"seqno" شناسه اختیاری بسته

فیلد 'data' داده‌های ضبط‌شده است که باید در یکی از رمزگذاری‌های تعیین‌شده باشد: هگزادسیمال (پیش‌فرض)، هشت‌هشتی، دودویی، یا base64، و فیلد داده نباید شامل هیچ نویسه‌ای خارج از مجموعهٔ نویسه‌های آن رمزگذاری به جز نویسه‌های فاصله‌ساز باشد. فیلد 'time' بر اساس قالب موجود در پارامتر -t تجزیه می‌شود. اولین نویسهٔ فیلد 'dir' با مجموعه‌ای از نویسه‌های مربوط به بسته‌های ورودی (inbound) و خروجی (outbound) مقایسه می‌شود که به‌طور پیش‌فرض برای ورودی "iI<" و برای خروجی "oO>" است تا جهت بسته تعیین شود. فیلد 'seqno' به عنوان یک عدد صحیح مثبت در مبنای ۱۰ برای یک شناسهٔ دلخواه در نظر گرفته می‌شود. اطلاعات یک فیلد اختیاری تنها در صورتی نوشته خواهد شد که آن فیلد در عبارت منظم وجود داشته باشد و قالب پروندهٔ ضبط از آن پشتیبانی کند (برای نمونه، قالب pcapng از هر سه فیلد پشتیبانی می‌کند، اما قالب pcap تنها از برچسب‌های زمانی پشتیبانی می‌نماید).

در اینجا نمونه‌ای از یک دامپ آورده شده است که حالت regex می‌تواند با عبارت منظم '^(?<dir>[<>])\s(?<time>\d+:\d\d:\d\d.\d+)\s(?<data>[0-9a-fA-F]+)$' به همراه قالب برچسب زمانی '%H:%M:%S.%f'، نشانگرهای جهت '<' و '>'، و رمزگذاری هگزادسیمال پردازش کند:

> 0:00:00.265620 a130368b000000080060
> 0:00:00.280836 a1216c8b00000000000089086b0b82020407
< 0:00:00.295459 a2010800000000000000000800000000
> 0:00:00.296982 a1303c8b00000008007088286b0bc1ffcbf0f9ff
> 0:00:00.305644 a121718b0000000000008ba86a0b8008
< 0:00:00.319061 a2010900000000000000001000600000
> 0:00:00.330937 a130428b00000008007589186b0bb9ffd9f0fdfa3eb4295e99f3aaffd2f005
> 0:00:00.356037 a121788b0000000000008a18

عبارت منظم با پشتیبانی از چندخطی (multiline) کامپایل می‌شود، و برای دستیابی به بهترین نتایج توصیه می‌شود از لنگرهای '^' و '$' استفاده کنید.

همچنین Text2pcap به کاربر امکان می‌دهد دامپ‌های داده‌های سطح کاربرد را خوانده و سرآیندهای صوری L2، L3 و L4 را قبل از هر بسته درج کند. این ویژگی به Wireshark یا هر رمزگشای بستهٔ کامل دیگری اجازه می‌دهد تا این دامپ‌ها را مدیریت کنند. اگر نوع کپسوله‌سازی Ethernet باشد، کاربر می‌تواند انتخاب کند که سرآیندهای Ethernet، یا سرآیندهای Ethernet و IP، یا سرآیندهای Ethernet، IP و UDP/TCP/SCTP پیش از هر بسته درج شوند. این سرآیندهای جعلی می‌توانند با کپسوله‌سازی‌های Raw IP، Raw IPv4 یا Raw IPv6 نیز، با حذف سرآیند Ethernet، استفاده شوند. این گزینه‌های کپسوله‌سازی هم در حالت دامپ هگز و هم در حالت regex قابل استفاده هستند.

هنگامی که <infile> یا <outfile> برابر با '-' باشند، به ترتیب از ورودی استاندارد یا خروجی استاندارد استفاده می‌شود..SH "گزینه‌ها (OPTIONS)"

-a

تشخیص دامپ متنی ASCII را فعال می‌کند. این گزینه امکان شناسایی ابتدای دامپ متنی ASCII و عدم گنجاندن آن در بسته را فراهم می‌سازد، حتی اگر شبیه به HEX به نظر برسد. این پارامتر در حالت regex هیچ تأثیری ندارد.

نکته: اگر فایل ورودی حاوی دامپ متنی ASCII نیست، یا اگر دامپ ASCII با یک جداکننده غیر از فاصله خالی مانند | از دامپ hex جدا شده است، آن را فعال نکنید.

-b 2|8|16|64

مبنای (radix) کدگذاری داده‌های بسته را در حالت regex مشخص می‌کند. گزینه‌های پشتیبانی‌شده عبارتند از ۲ (دودویی)، ۸ (هشت‌هشتی)، ۱۶ (شانزده‌شانزدهی)، و ۶۴ (کدگذاری base64)، که مقدار پیش‌فرض hex است. این پارامتر در حالت hex dump هیچ تأثیری ندارد.

-D

نشان می‌دهد که متن پیش از هر بسته ورودی ممکن است با یک I یا O آغاز شود که نشان‌دهنده ورودی (inbound) یا خروجی (outbound) بودن بسته است. اگر هم این پرچم و هم پرچم t استفاده شوند، نشانگر جهت پیش از کد زمان مورد انتظار خواهد بود. این پارامتر در حالت regex تأثیری ندارد، چرا که در آن حالت وجود گروه تسخیر <dir> تعیین می‌کند که آیا نشانگرهای جهت مورد انتظار هستند یا خیر.

نشانگر جهت در صورتی که قالب خروجی از آن پشتیبانی کند (مانند pcapng) در سرآیندهای بسته ذخیره می‌شود، و همچنین هنگام تولید سرآیندهای ساختگی جهت جابه‌جا کردن مناسب آدرس‌ها و درگاه‌های مبدا و مقصد استفاده می‌گردد.

-e <ethertype>

یک سرآیند Ethernet ساختگی را پیش از هر بسته می‌گنجاند. مقدار EtherType را برای سرآیند Ethernet در مبنای شانزده (hex) مشخص کنید. اگر دامپ شما دارای سرآیند لایه ۳ و بار داده (مانند سرآیند IP) است اما کپسوله‌سازی لایه ۲ را ندارد، از این گزینه استفاده کنید. مثال: -e 0x806 برای مشخص کردن یک بسته ARP.

برای بسته‌های IP، به جای تولید یک سرآیند Ethernet ساختگی می‌توانید از -E rawip یا -l 101 برای نشان دادن کپسوله‌سازی خام IP استفاده کنید. توجه داشته باشید که کپسوله‌سازی خام IP برای هیچ بسته لایه ۳ غیر IP (مانند ARP) کار نمی‌کند، در حالی که تولید سرآیند Ethernet ساختگی با -e برای هر نوع بسته L3 کار می‌کند.

-E <encapsulation type>

نوع کپسوله‌سازی بسته را برای فایل ضبط خروجی تعیین می‌کند. دستور text2pcap -E فهرستی از انواع موجود را ارائه می‌دهد؛ توجه داشته باشید که همه قالب‌های فایل از تمام انواع کپسوله‌سازی پشتیبانی نمی‌کنند. نوع پیش‌فرض ether (Ethernet) است.

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

-F <file format>

قالب فایل ضبط خروجی را مشخص می‌کند. Text2pcap می‌تواند فایل را در چندین قالب بنویسد؛ دستور text2pcap -F فهرستی از قالب‌های خروجی موجود را ارائه می‌دهد. پیش‌فرض، قالب pcapng است.

-h|--help

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

-i <proto>

سرآیندهای IP ساختگی را پیش از هر بسته می‌گنجاند. پروتکل IP را برای بسته به صورت دهدهی مشخص کنید. اگر دامپ شما بار داده (payload) یک بسته IP است (یعنی اطلاعات کامل L4 را دارد) اما همراه با هر بسته سرآیند IP ندارد، از این گزینه استفاده کنید. توجه داشته باشید که در صورت بودن نوع لایه پیوند روی Ethernet، یک سرآیند Ethernet مناسب نیز به طور خودکار همراه هر بسته گنجانده می‌شود. مثال: -i 46 برای مشخص کردن یک بسته RSVP (پروتکل IP شماره ۴۶). برای فهرست کامل شماره‌های پروتکل اینترنت تخصیص‌یافته به https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml مراجعه کنید.

-l <typenum>

نوع کپسوله‌سازی بسته فایل ضبط خروجی را با استفاده از شماره‌های نوع سرآیند لایه پیوند pcap تعیین می‌کند. پیش‌فرض Ethernet (1) است. برای مشاهده فهرست کامل کپسوله‌سازی‌های ممکن به https://www.tcpdump.org/linktypes.html مراجعه کنید. مثال: -l 7 برای بسته‌های ARCNet کپسوله‌شده به سبک BSD.

-m <max-packet>

حداکثر طول بسته را تعیین می‌کند؛ مقدار پیش‌فرض 262144 است. برای آزمایش مرزهای گوناگون بسته در زمانی که تنها جریان داده‌ای در سطح برنامه کاربردی در دسترس است مفید است. مثال:

od -Ax -tx1 -v stream | text2pcap -m1460 -T1234,1234 - stream.pcap

قالب جریان داده متنی ساده را به توالی از بسته‌های Ethernet TCP تبدیل خواهد کرد.

-N <intf-name>

نامی را برای رابط تعبیه‌شده هنگام نوشتن فایلی با قالب pcapng مشخص می‌کند.

-o hex|oct|dec|none

مبنا (radix) را برای آفست‌ها (hex، octal، decimal یا none) مشخص می‌کند. پیش‌فرض hex است. این گزینه با گزینه -A برای od مطابقت دارد. این پارامتر در حالت regex هیچ تأثیری ندارد.

نکته: با مقدار -o none، تنها یک بسته ایجاد می‌شود و هرگونه نشانگر جهت یا برچسب زمانی پس از اولین بایت به همراه تمامی آفست‌ها نادیده گرفته خواهند شد.

-P <dissector>

یک سرآیند EXPORTED_PDU را پیش از هر بسته می‌گنجاند. تشریح‌کننده (dissector) مورد فراخوانی برای بسته (برچسب DISSECTOR_NAME) را به صورت رشته مشخص کنید. اگر دامپ شما بار داده (payload) برای یک پروتکل لایه بالاتر واحد است (بنابراین مشخص کردن نوع لایه پیوند کارساز نخواهد بود) و مایلید یک فایل ضبط بدون پشته پروتکل ساختگی کامل ایجاد کنید، از این گزینه استفاده کنید. به طور خودکار نوع لایه پیوند را روی Wireshark Upper PDU export تنظیم می‌کند. بدون این گزینه، اگر نوع لایه پیوند Upper PDU export (252) انتخاب شود، تشریح‌کننده به صورت پیش‌فرض "data" خواهد بود.

-q

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

-r <regex>

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

نکته: حالت regex از ورودی/خروجی نگاشت‌شده به حافظه (memory-mapped I/O) استفاده می‌کند و روی جریان‌هایی که از جست‌وجو (seeking) پشتیبانی نمی‌کنند، مانند پایانه‌ها و لوله‌ها (pipes)، کار نمی‌کند.

-s <srcport>,<destport>,<tag>

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

-S <srcport>,<destport>,<ppi>

سرآیندهای SCTP ساختگی را پیش از هر بسته می‌گنجاند. درگاه‌های مبدا و مقصد SCTP و برچسب اعتبارسنجی 0 را به صورت دهدهی برای بسته مشخص کنید، و یک سرآیند تکه‌داده (DATA chunk) ساختگی SCTP با شناسه پروتکل بار داده ppi در ابتدا قرار می‌دهد. اگر دامپ شما بار داده SCTP یک بسته است اما شامل هیچ‌یک از سرآیندهای SCTP، IP یا Ethernet نیست، از این گزینه استفاده کنید. توجه داشته باشید که سرآیندهای Ethernet و IP مناسب نیز به طور خودکار همراه هر بسته گنجانده می‌شوند. یک جمع کنترلی CRC32C در سرآیند SCTP قرار خواهد گرفت.

-t <timefmt>

با متن پیش از بسته به عنوان یک کد تاریخ/زمان رفتار می‌کند؛ timefmt یک رشته قالب پشتیبانی‌شده توسط strftime(3) است که با توصیف‌گر فیلد '%f' برای کسر ثانیه تا مقیاس نانوثانیه تکمیل شده است. مثال: زمان "10:15:14.5476" دارای کد قالب "%H:%M:%S.%f" است. رشته قالب خاص ISO مشخص می‌کند که رشته باید بر اساس مشخصات ISO-8601 تجزیه شود. این پارامتر در حالت regex استفاده می‌شود اگر و تنها اگر گروه تسخیر <time> حضور داشته باشد.

نکته: فیلدهای تاریخ/زمان از تاریخ/زمان جاری به عنوان مقدار پیش‌فرض برای فیلدهای نامشخص استفاده می‌شوند.

-T <srcport>,<destport>

سرآیندهای TCP ساختگی را پیش از هر بسته می‌گنجاند. درگاه‌های مبدا و مقصد TCP را برای بسته به صورت دهدهی مشخص کنید. اگر دامپ شما بار داده TCP یک بسته است اما هیچ‌یک از سرآیندهای TCP، IP یا Ethernet را ندارد از این گزینه استفاده کنید. توجه داشته باشید که سرآیندهای Ethernet و IP مناسب نیز به طور خودکار با هر بسته اضافه می‌شوند. شماره‌های توالی (Sequence numbers) از 0 شروع خواهند شد.

-u <srcport>,<destport>

سرآیندهای UDP ساختگی را پیش از هر بسته می‌گنجاند. درگاه‌های مبدا و مقصد UDP را برای بسته به صورت دهدهی مشخص کنید. اگر دامپ شما بار داده UDP یک بسته است اما هیچ‌یک از سرآیندهای UDP، IP یا Ethernet را شامل نمی‌شود از این گزینه استفاده کنید. توجه داشته باشید که سرآیندهای Ethernet و IP مناسب نیز به صورت خودکار همراه هر بسته اضافه می‌شوند. مثال: -u1000,69 تا بسته‌ها شبیه به بسته‌های TFTP/UDP به نظر برسند.

-v|--version

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

-4 <srcip>,<destip>

سرآیند IP ساختگی را با آدرس‌های IPv4 مبدا و مقصد مشخص‌شده به ابتدای بسته می‌افزاید. این گزینه باید با یکی از گزینه‌های زیر همراه باشد: -i، -s، -S، -T، -u از این گزینه برای اعمال آدرس‌های IP «سفارشی» استفاده کنید. مثال: -4 10.0.0.1,10.0.0.2 برای استفاده از 10.0.0.1 و 10.0.0.2 برای تمامی بسته‌های IP.

-6 <srcip>,<destip>

سرآیند IP ساختگی را با آدرس‌های IPv6 مبدا و مقصد مشخص‌شده به ابتدای بسته می‌افزاید. این گزینه باید با یکی از گزینه‌های زیر همراه باشد: -i، -s، -S، -T، -u از این گزینه برای اعمال آدرس‌های IP «سفارشی» استفاده کنید. مثال: -6 2001:db8::b3ff:fe1e:8329,2001:0db8:85a3::8a2e:0370:7334 برای استفاده از 2001:db8::b3ff:fe1e:8329 و 2001:0db8:85a3::8a2e:0370:7334 برای تمامی بسته‌های IP.

--compress <type>

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

--little-endian

با گروه‌های چند بایتی طبق ترتیب بایتی little-endian رفتار می‌کند، به جای ترتیب بایتی پیش‌فرض شبکه (big-endian).

نکته: این مورد تنها برای گروه‌های بایتی اعمال می‌شود. اگر -a استفاده شود، برای دامپ ASCII همچنان ترتیب عادی فرض می‌شود.

--log-level <level>

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

--log-fatal <level>

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

--log-fatal-count <count>

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

--log-domains <list>

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

--log-debug <list>

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

--log-noisy <list>

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

--log-fatal-domains <list>

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

--log-file <path>

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

od(1), hexdump(1), xxd(1), pcap(3), wireshark(1), tshark(1), dumpcap(1), mergecap(1), editcap(1), strftime(3), pcap-filter(7) یا tcpdump(8)

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

نویسندهٔ اصلی
Ashok Narayanan <ashokn[AT]cisco.com>

2026-09-03