tcprewrite(1) User Commands tcprewrite(1)

tcprewrite - بازنویسی بسته‌ها در یک فایل pcap.

tcprewrite [-flags] [-flag [value]] [--option-name[[=| ]value]]

همهٔ آرگومان‌ها باید گزینه باشند.

ابزار tcprewrite برای بازنویسی بسته‌های ذخیره‌شده در قالب فایل pcap(3)، مانند بسته‌های ایجادشده توسط ابزارهایی چون tcpdump(1) و wireshark(1) به کار می‌رود. هنگامی که بسته‌های یک فایل pcap بازنویسی شدند، می‌توان آن‌ها را با استفاده از tcpreplay(1) دوباره روی شبکه بازپخش کرد.

ابزار tcprewrite در حال حاضر از خواندن انواع DLT زیر پشتیبانی می‌کند:

DLT_C_HDLC یا همان Cisco HDLC

DLT_EN10MB یا همان Ethernet

DLT_LINUX_SLL یا همان Linux Cooked Socket

DLT_LINUX_SLL2 یا همان Linux Cooked Socket v2

DLT_RAW یا همان RAW IP

DLT_NULL یا همان BSD Loopback

DLT_LOOP یا همان OpenBSD Loopback

DLT_IEEE802_11 یا همان 802.11a/b/g

DLT_IEEE802_11_RADIO یا همان 802.11a/b/g با سرآیندهای Radiotap

DLT_JUNIPER_ETHER یا همان Juniper Encapsulated Ethernet

DLT_PPP_SERIAL یا همان PPP over Serial

لطفاً برای آگاهی از انواع DLT پشتیبانی‌شده برای نوشتن، گزینهٔ --dlt را ببینید.

ویژگی‌های ویرایش بسته در tcprewrite که ترافیک «کلاینت» و «سرور» را از یکدیگر متمایز می‌کنند، نیازمند یک فایل حافظهٔ موقت (cache) از tcpprep(1) هستند.

برای جزئیات بیشتر، لطفاً راهنمای Tcpreplay را در نشانی زیر ببینید: http://tcpreplay.appneta.com


بازنویسی درگاه‌های TCP/UDP. این گزینه می‌تواند تا ۹۹۹۹ بار مشخص شود.

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

مثال‌ها:

--portmap=80:8000 --portmap=8080:80    # 80->8000 and 8080->80
--portmap=8000,8080,88888:80           # 3 different ports become 80
--portmap=8000-8999:80                 # ports 8000 to 8999 become 80

تصادفی‌سازی آدرس‌های IPv4/v6 مبدأ/مقصد با بذر (seed) داده‌شده. این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر استفاده شود: fuzz-seed. این گزینه یک عدد صحیح را به عنوان آرگومان خود می‌پذیرد.

باعث می‌شود آدرس‌های IPv4/v6 مبدأ و مقصد به صورت شبه‌تصادفی تغییر کنند اما روابط کلاینت/سرور همچنان حفظ شود. از آنجا که تصادفی‌سازی بر اساس بذر به صورت قطعی است، می‌توانید از همان مقدار بذر برای بازتولید ترافیک مجدداً استفاده کنید.


بازنویسی آدرس‌های IPv4/v6 با استفاده از pseudo-NAT. این گزینه می‌تواند تا ۲ بار مشخص شود. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر استفاده شود: srcipmap.

مجموعه‌ای از جفت‌های بلوک شبکه (netblock) با نمادگذاری CIDR جداشده با دو‌نقطه را می‌گیرد که با کاما از هم جدا شده‌اند. هر جفت بلوک شبکه به ترتیب روی آدرس‌های IP ارزیابی می‌شود. اگر آدرس IP موجود در بسته با اولین بلوک شبکه مطابقت داشته باشد، با استفاده از بلوک شبکهٔ دوم به عنوان ماسک برای بیت‌های مرتبه‌بالا بازنویسی می‌شود.

مثال IPv4:

--pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24
مثال IPv6:
--pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]

بازنویسی آدرس‌های مبدأ IPv4/v6 با استفاده از pseudo-NAT. این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر استفاده شود: pnat.

دقیقاً مانند گزینهٔ --pnat عمل می‌کند، اما تنها روی آدرس‌های IP مبدأ در سرآیند IPv4/v6 تأثیر می‌گذارد.


بازنویسی آدرس‌های مقصد IPv4/v6 با استفاده از pseudo-NAT. این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر استفاده شود: pnat.

دقیقاً مانند گزینهٔ --pnat عمل می‌کند، اما تنها روی آدرس‌های IP مقصد در سرآیند IPv4/v6 تأثیر می‌گذارد.


بازنویسی آدرس‌های IP به گونه‌ای که بین دو نقطه پایانی باشند. این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه باید در ترکیب با گزینهٔ زیر استفاده شود: cachefile.

یک جفت آدرس IPv4/v6 جداشده با دو‌نقطه می‌گیرد که برای بازنویسی همهٔ ترافیک به کار می‌رود تا به نظر برسد بین این دو آدرس IP در جریان است.

مثال IPv4:

--endpoints=172.16.0.1:172.16.0.2
مثال IPv6:
--endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]

تغییر شماره‌های دنباله (Sequence) و تصدیق (ACK) پروتکل TCP با بذر مشخص‌شده. این گزینه یک عدد صحیح را به عنوان آرگومان خود می‌پذیرد. مقدار number محدود است به اینکه:
بزرگ‌تر یا مساوی با 1 باشد

مقدار پیش‌فرض number برای این گزینه برابر است با:
0

همهٔ شماره‌های دنباله در TCP و شماره‌های تصدیق دنبالهٔ مرتبط را تغییر می‌دهد. این شماره‌ها با توجه به بذر ارائه‌شده، به یک مقدار تصادفی جابه‌جا می‌شوند.


صرف‌نظر از بازنویسی آدرس‌های همگانی (broadcast) و چندپخشی (multicast) در IPv4/v6.

به‌طور پیش‌فرض، گزینه‌های --seed، --pnat و --endpoints آدرس‌های broadcast و multicast در IPv4/v6 و MAC را بازنویسی می‌کنند. فعال کردن این پرچم از بازنویسی آدرس‌های broadcast/multicast در IPv4/v6 و MAC جلوگیری می‌کند.


اجبار به محاسبهٔ مجدد مجموع‌های مقابله‌ای (checksums) سرآیند IPv4/TCP/UDP.

باعث می‌شود مجموع مقابله‌ای هر بستهٔ IPv4/v6 مجدداً محاسبه و اصلاح شود. این گزینه به صورت خودکار برای بسته‌های اصلاح‌شده با --seed، --pnat، --endpoints یا --fixlen فعال می‌شود.


تغییر طول سرآیند IP/TCP به منظور تطابق با طول بسته.

به‌طور پیش‌فرض، tcpreplay بسته‌ها را با همان طول بستهٔ اصلی ارسال می‌کند. با این حال، ممکن است بخواهید طول بسته به حداقل اندازهٔ بسته اصلاح شود. با استفاده از این گزینه، tcpreplay طول بسته را بازنویسی (اصلاح) می‌کند و در صورت تغییر طول بسته، مجموع‌های مقابله‌ای را مجدداً محاسبه می‌نماید. هشدار: در صورت تعیین این گزینه ممکن است تغییرات ناخواسته‌ای در بسته‌ها رخ دهد..TP -m number, --mtu=number
بازنویسی طول پیش‌فرض MTU (۱۵۰۰ بایت). این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه یک عدد صحیح را به عنوان آرگومان می‌پذیرد. مقدار number محدود است به:

در بازه 1 تا MAX_SNAPLEN

بازنویسی اندازه پیش‌فرض ۱۵۰۰ بایتی MTU برای تعیین بیشینه طول پدینگ (--fixlen=pad) یا هنگام کوتاه‌سازی بسته‌ها (--mtu-trunc).


کوتاه‌سازی بسته‌های بزرگ‌تر از MTU مشخص‌شده. این گزینه می‌تواند تا ۱ بار مشخص شود.

مشابه با --fixlen، این گزینه داده‌های بسته‌ها را از لایه ۳ و بالاتر کوتاه می‌کند تا بزرگ‌تر از MTU نباشند.


حذف چکسام‌های اترنت (FCS) از انتهای فریم‌ها.

توجه، این گزینه بسیار خطرناک است! ما در واقع بررسی نمی‌کنیم که آیا یک FCS واقعاً در فریم وجود دارد یا نه، بلکه فقط ۴ بایت آخر را کورکورانه حذف می‌کنیم. بنابراین، تنها در صورتی باید از این گزینه استفاده کنید که بدانید سیستم‌عامل شما هنگام خواندن بسته‌های خام، مقدار FCS را ارائه می‌دهد.


تغییر دادن مقدار TTL/Hop Limit در IPv4/v6.

به شما امکان می‌دهد TTL/Hop Limit تمام بسته‌های IPv4/v6 را تغییر دهید. یک عدد را برای مقداردهی مستقیم (hard-code) یا مقدار+/- را برای افزایش یا کاهش به میزان مقدار ارائه‌شده مشخص کنید (محدود به ۱-۲۵۵).

مثال‌ها:

--ttl=10
--ttl=+7
--ttl=-64

تنظیم بایت TOS/DiffServ/ECN در IPv4. این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه یک عدد صحیح را به عنوان آرگومان می‌پذیرد. مقدار number محدود است به:
در بازه 0 تا 255

به شما امکان می‌دهد مقدار TOS (همچنین شناخته‌شده به عنوان DiffServ/ECN) را در IPv4 بازنویسی کنید.


تنظیم بایت Traffic Class در IPv6. این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه یک عدد صحیح را به عنوان آرگومان می‌پذیرد. مقدار number محدود است به:
در بازه 0 تا 255

به شما امکان می‌دهد فیلد Traffic Class در IPv6 را بازنویسی کنید.


تنظیم Flow Label در IPv6. این گزینه می‌تواند تا ۱ بار مشخص شود. این گزینه یک عدد صحیح را به عنوان آرگومان می‌پذیرد. مقدار number محدود است به:
در بازه 0 تا 1048575

به شما امکان می‌دهد فیلد ۲۰ بیتی Flow Label در IPv6 را بازنویسی کنید. روی بسته‌های IPv4 هیچ تأثیری ندارد.


پدینگ یا کوتاه‌سازی داده‌های بسته برای مطابقت با طول سرایند. این گزینه می‌تواند تا ۱ بار مشخص شود.

اگر در حین ضبط، مقدار snaplen کوچک‌تر از اندازه بسته باشد ممکن است بسته‌ها کوتاه شوند. این گزینه به شما امکان می‌دهد بسته را به نحوی تغییر دهید که با پدینگ به اندازهٔ ثبت‌شده در سرایند IPv4/v6 بازگردد یا مقدار طول کل در سرایند IP را برای بازتاب طول واقعی بسته بازنویسی کند.

pad بسته‌های کوتاه‌شده پدینگ می‌شوند تا طول بسته با طول کل IPv4 مطابقت پیدا کند

trunc فیلد طول کل IPv4 در بسته‌های کوتاه‌شده بازنویسی می‌شود تا با طول واقعی بسته مطابقت یابد

del حذف بسته


فازینگ ۱ بسته از هر X بسته. ویرایش بایت‌ها، طول، یا شبیه‌سازی انداختن (drop) بسته. این گزینه یک عدد صحیح را به عنوان آرگومان می‌پذیرد. مقدار number محدود است به:
بزرگ‌تر یا مساوی با 0

مقدار پیش‌فرض number برای این گزینه برابر است با:
0

این فازینگ به منظور آزمایش پروتکل‌های لایه ۷ از قبیل پروتکل‌های VoIP طراحی شده است. این قابلیت به‌طور تصادفی ۱ بسته از هر X بسته (که در آن X = --fuzz-factor است) را دستکاری می‌کند تا پروتکل‌های دارای وضعیت (stateful) بخش بیشتری از کد خود را پوشش دهند. اقدامات تصادفی فازینگ بر ابتدا و انتهای داده‌ها تمرکز دارند، زیرا این بخش‌ها اغلب همان قسمتی هستند که پروتکل‌های کاربردی تصمیمات خود را بر پایه آن‌ها اتخاذ می‌کنند.

فهرست اقدامات ممکن برای فازینگ:
* انداختن بسته (drop packet)
* کاهش اندازه بسته
* ویرایش بایت‌های بسته:
* همه بایت‌ها در دنیای واقعی شانس برابری برای رخ دادن ندارند.
جایگزینی با 0x00، 0xFF یا یک بایت تصادفی با احتمال یکسان.
* همه بایت‌ها در یک بسته اهمیت یکسانی ندارند.
جایگزینی ابتدا، انتها یا میانه بسته با احتمال یکسان.
* عدم انجام کاری (۷ بسته از ۸ بسته)


تنظیم نسبت فازینگ ۱ بسته در هر X بسته (پیش‌فرض ۱ در ۸ بسته). این گزینه باید همراه با گزینه زیر استفاده شود: fuzz-seed. این گزینه یک عدد صحیح را به عنوان آرگومان می‌پذیرد. مقدار number محدود است به:
بزرگ‌تر یا مساوی با 1

مقدار پیش‌فرض number برای این گزینه برابر است با:
8

نسبت را برای گزینه --fuzz-seed تعیین می‌کند. این مقدار به صورت پیش‌فرض ۸ است، بدین معنی که ۱ بسته از هر ۸ بسته توسط فازینگ دستکاری می‌شود. توجه داشته باشید که این نسبت بر اساس عدد تصادفی تولیدشده توسط seed فازینگ ارائه‌شده است. از این رو، به صورت پیش‌فرض نمی‌توانید انتظار داشته باشید که دقیقاً هر هشتمین بسته دستکاری شود.


صرف‌نظر کردن از بازنویسی آدرس‌های لایه ۲ همگانی/چندپخشی (broadcast/multicast).

به طور پیش‌فرض، ویرایش آدرس‌های لایه ۲، آدرس‌های MAC همگانی (broadcast) و چندپخشی (multicast) را نیز بازنویسی می‌کند. فعال کردن این پرچم مانع از بازنویسی آدرس‌های MAC همگانی/چندپخشی خواهد شد.


بازنویسی کپسوله‌سازی DLT در خروجی. این گزینه می‌تواند تا ۱ بار مشخص شود.

به طور پیش‌فرض، هیچ تبدیلی در DLT (نوع پیوند داده یا data link type) انجام نخواهد شد. برای تغییر نوع DLT در pcap خروجی، یکی از مقادیر زیر را انتخاب کنید:

enet اترنت یا همان DLT_EN10MB

hdlc سیسکو HDLC یا همان DLT_C_HDLC

jnpr_eth اترنت جونیپر DLT_C_JNPR_ETHER

pppserial سریال PPP یا همان DLT_PPP_SERIAL

user سرایند لایه ۲ و نوع DLT مشخص‌شده توسط کاربر --enet-dmac=string
جایگزینی نشانی‌های MAC مقصد اترنت. این گزینه می‌تواند حداکثر ۱ بار استفاده شود.

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

مثال:

--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66

جایگزینی نشانی‌های MAC مبدأ اترنت. این گزینه می‌تواند حداکثر ۱ بار استفاده شود.

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

مثال:

--enet-smac=00:12:13:14:15:16,00:22:33:44:55:66

تعویض نشانی‌های MAC. این گزینه می‌تواند حداکثر ۹۹۹۹ بار استفاده شود.

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

--enet-subsmac=00:12:13:14:15:16,00:22:33:44:55:66

تصادفی‌سازی نشانی‌های MAC. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر استفاده شود: enet-smac، enet-dmac، enet-subsmac. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند.

به شما امکان می‌دهد نشانی‌های MAC اترنت بسته‌ها را تصادفی‌سازی کنید، بسیار شبیه به کاری که گزینهٔ --seed برای نشانی‌های IPv4/IPv6 انجام می‌دهد.


تصادفی‌سازی نشانی‌های MAC. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه باید در ترکیب با گزینه‌های زیر استفاده شود: enet-mac-seed. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند. مقدار number محدود است به:
در بازهٔ  ۱ تا ۶

دست‌نخورده نگه داشتن برخی بایت‌ها هنگام استفاده از گزینهٔ --enet-mac-seed.


تعیین حالت برچسب 802.1q VLAN اترنت. این گزینه می‌تواند حداکثر ۱ بار استفاده شود.

به شما امکان می‌دهد فریم‌های اترنت را بازنویسی کنید تا یک سربرگ 802.1q به سربرگ‌های استاندارد اترنت 802.3 اضافه شده یا اطلاعات برچسب 802.1q VLAN حذف گردد.

add یک سربرگ 802.1q VLAN به سربرگ اترنت 802.3 موجود اضافه می‌کند. اگر از قبل یک سربرگ VLAN وجود داشته باشد، سربرگ جدیدی در خارج از سربرگ موجود اضافه می‌شود.

توجه داشته باشید که مجاز خواهید بود این گزینه را چند بار برای ایجاد بیش از ۲ سربرگ VLAN اجرا کنید، با این حال آن بسته‌ها معتبر خواهند بود. در بیشترین حالت باید ۲ برچسب 802.1q VLAN داشته باشید، یا یک برچسب خارجی 802.1ad و یک برچسب داخلی 802.1q VLAN.

del سربرگ 802.1q VLAN موجود را به عنوان یک سربرگ اترنت 802.3 بازنویسی می‌کند


تعیین مقدار جدید برچسب 802.1q VLAN اترنت. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه باید در ترکیب با گزینه‌های زیر استفاده شود: enet-vlan. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند. مقدار number محدود است به:
در بازهٔ  ۰ تا ۴۰۹۵


تعیین مقدار CFI مربوط به 802.1q VLAN اترنت. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه باید در ترکیب با گزینه‌های زیر استفاده شود: enet-vlan. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند. مقدار number محدود است به:
در بازهٔ  ۰ تا ۱


تعیین اولویت 802.1q VLAN اترنت. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه باید در ترکیب با گزینه‌های زیر استفاده شود: enet-vlan. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند. مقدار number محدود است به:
در بازهٔ  ۰ تا ۷


تعیین پروتکل برچسب VLAN بین 802.1q یا 802.1ad. این گزینه می‌تواند حداکثر ۱ بار استفاده شود.

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

802.1q مشخص می‌کند که سربرگ‌های 802.1q VLAN باید اضافه شوند. این مقدار پیش‌فرض است.

802.1ad مشخص می‌کند که سربرگ‌های 802.1ad Q-in-Q VLAN باید اضافه شوند. برای ایجاد بسته‌های معتبر، بسته‌های ورودی باید از پیش دارای سربرگ‌های 802.1q VLAN باشند.


تعیین مقدار کنترل HDLC. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند.

سربرگ Cisco HDLC دارای یک فیلد ۱ بایتی «control» است. ظاهراً این مقدار باید همیشه 0 باشد، اما می‌توانید از هر مقدار ۱ بایتی استفاده کنید.


تعیین نشانی HDLC. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند.

سربرگ Cisco HDLC دارای یک فیلد ۱ بایتی «address» است که دو مقدار معتبر دارد:

0x0F تک‌پخشی (Unicast)

0xBF همه‌پخشی (Broadcast)
با این حال می‌توانید هر مقدار تک‌بایتی را مشخص کنید.


تنظیم نوع DLT فایل خروجی. این گزینه می‌تواند حداکثر ۱ بار استفاده شود. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند.

مقدار DLT فایل pcap خروجی را تنظیم می‌کند.


بازنویسی لایه پیوند داده (Data-Link) با داده‌های مشخص‌شده توسط کاربر. این گزینه می‌تواند حداکثر ۲ بار استفاده شود.

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

مثال:

    --user-dlink=01,02,03,04,05,06,00,1A,2B,3C,4D,5E,6F,08,00
-d number, --dbug=number
فعال‌سازی خروجی اشکال‌زدایی.
این گزینه حداکثر ۱ بار می‌تواند استفاده شود.
این گزینه یک عدد صحیح را به عنوان آرگومان می‌پذیرد.
مقدار
number
محدود به این بازه است:
در بازهٔ 0 تا 5

مقدار پیش‌فرض number برای این گزینه برابر است با:
0

اگر با --enable-debug پیکربندی شده باشد، می‌توانید سطح پرحرفی (verbosity) را برای خروجی اشکال‌زدایی مشخص کنید. اعداد بزرگ‌تر پرحرفی را افزایش می‌دهند.


فایل pcap ورودی برای پردازش. این گزینه حداکثر ۱ بار می‌تواند استفاده شود.

فایل pcap خروجی. این گزینه حداکثر ۱ بار می‌تواند استفاده شود.

تفکیک ترافیک از طریق فایل حافظهٔ پنهان (cache) مربوط به tcpprep. این گزینه حداکثر ۱ بار می‌تواند استفاده شود.

استفاده از فایل کش tcpprep جهت تفکیک ترافیک بر اساس روابط کلاینت/سرور.


چاپ بسته‌های رمزگشایی‌شده از طریق tcpdump در STDOUT. این گزینه حداکثر ۱ بار می‌تواند استفاده شود.

آرگومان‌های ارسالی به رمزگشای tcpdump. این گزینه حداکثر ۱ بار می‌تواند استفاده شود. این گزینه باید در ترکیب با گزینهٔ زیر استفاده شود: verbose.

هنگام فعال‌سازی حالت پرحرف (-v)، همچنین می‌توانید یک یا چند آرگومان اضافی را برای ارسال به tcpdump مشخص کنید تا نحوهٔ رمزگشایی بسته‌ها تغییر یابد. به‌طور پیش‌فرض، -n و -l استفاده می‌شوند. حتماً آرگومان‌ها را درون کوتیشن قرار دهید تا توسط tcprewrite تفسیر نشوند. لطفاً برای فهرست کامل گزینه‌ها به صفحهٔ راهنمای tcpdump(1) مراجعه کنید.


تجزیهٔ فایل پیکربندی fragroute. این گزینه حداکثر ۱ بار می‌تواند استفاده شود.

فعال‌سازی تکنیک‌های پیشرفتهٔ گریز با استفاده از موتور داخلی fragroute(8). برای جزئیات بیشتر به صفحهٔ راهنمای fragroute(8) مراجعه کنید. مهم: tcprewrite از دستورهای delay، echo یا print پشتیبانی نمی‌کند.


جریان‌هایی که fragroute باید روی آن‌ها اعمال شود: c2s، s2c، هر دو (both). این گزینه حداکثر ۱ بار می‌تواند استفاده شود. این گزینه باید در ترکیب با گزینهٔ زیر استفاده شود: cachefile.

اعمال موتور fragroute روی بسته‌هایی با مسیر c2s، s2c یا هر دو هنگام استفاده از یک فایل کش.


صرف‌نظر کردن از نوشتن بسته‌های دارای خطاهای جزئی (soft errors). این گزینه حداکثر ۱ بار می‌تواند استفاده شود.

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

یک نمونه از این مورد، فریم‌های مدیریتی 802.11 هستند که فاقد داده می‌باشند.


چاپ اطلاعات نسخه.

نمایش اطلاعات خلاصهٔ نحوهٔ استفاده و خروج.

جلوگیری از چاپ پیام‌های هشدار.

نمایش اطلاعات نحوهٔ استفاده و خروج.
-!, --more-help

ارسال اطلاعات کامل‌تر نحوهٔ استفاده از طریق یک صفحه‌بند (pager).

ذخیرهٔ وضعیت گزینه‌ها در cfgfile. مقدار پیش‌فرض آخرین فایل پیکربندی فهرست‌شده در بخش پیش‌تنظیم‌های گزینه (OPTION PRESETS) در زیر است. دستور پس از به‌روزرسانی فایل پیکربندی خارج خواهد شد.

بارگذاری گزینه‌ها از cfgfile. حالت no-load-opts بارگذاری فایل‌های پیکربندی قبلی config/rc/ini را غیرفعال می‌کند. --no-load-opts در مراحل ابتدایی و خارج از نوبت پردازش می‌شود.

هر گزینه‌ای که به عنوان not presettable مشخص نشده باشد، می‌تواند با بارگذاری مقادیر از فایل(های) پیکربندی («RC» یا «.INI») از پیش تنظیم شود. فایل homerc برابر «$$/» است، مگر اینکه یک دایرکتوری باشد. در آن صورت، به دنبال فایل «.tcprewriterc» در آن دایرکتوری جستجو می‌شود..SH "فایل‌ها (FILES)" برای فایل‌های پیکربندی به OPTION PRESETS مراجعه کنید.

یکی از مقادیر خروج زیر بازگردانده خواهد شد:

0 (EXIT_SUCCESS)

اجرای موفقیت‌آمیز برنامه.
1 (EXIT_FAILURE)

عملیات با شکست مواجه شد یا نحو دستور نامعتبر بود.
66 (EX_NOINPUT)

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

کتابخانه libopts دچار یک خطای عملیاتی داخلی شد. لطفاً آن را به autogen-users@lists.sourceforge.net گزارش دهید. با تشکر.

حق نشر 2013-2025 Fred Klassen - AppNeta حق نشر 2000-2012 Aaron Turner برای پشتیبانی لطفاً از فهرست پستی tcpreplay-users@lists.sourceforge.net استفاده کنید. آخرین نسخه این نرم‌افزار همواره از نشانی زیر در دسترس است: http://tcpreplay.appneta.com

حق نشر (C) 2000-2025 متعلق به Aaron Turner و Fred Klassen است، تمام حقوق محفوظ است. این برنامه تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License)، نسخه ۳ یا بالاتر منتشر شده است.

لطفاً گزارش باگ‌ها را به tcpreplay-users@lists.sourceforge.net ارسال کنید.

این صفحه راهنما توسط AutoGen از تعاریف گزینه‌های tcprewrite تولید شده است.

26 Aug 2025 tcprewrite