これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド tcprewrite です。
プログラム:
NAME
tcprewrite - pcap ファイル内のパケットを書き換えます。
SYNOPSIS
tcprewrite [-フラグ [値]] ... [--オプション名 [[= | ]値]]..。
すべての引数はオプションである必要があります。
DESCRIPTION
このマニュアルページには、 tcprewrite 指図。 Tcprewrite は次のツールです。
に保存されているパケットを書き換える pcap(3) などのツールによって作成されたファイル形式 tcpdump(1)
空気のような(1)。 pcap ファイルのパケットが書き換えられると、再生できるようになります
を使用してネットワークに戻ります tcpreplay(1).
tcprewrite は現在、次の DLT タイプの読み取りをサポートしています。
DLT_C_HDLC 別名 Cisco HDLC
DLT_EN10MB 別名イーサネット
DLT_LINUX_SLL 別名 Linux クックド ソケット
DLT_RAW 別名RAW IP
DLT_NULL 別名BSDループバック
DLT_LOOP 別名 OpenBSD ループバック
DLT_IEEE802_11 別名 802.11a/b/g
DLT_IEEE802_11_RADIO Radiotap ヘッダーを備えた別名 802.11a/b/g
書き込み用にサポートされている DLT タイプについては、--dlt オプションを参照してください。
「クライアント」と「サーバー」を区別する tcprewrite のパケット編集機能
トラフィックには tcpprep(1) キャッシュファイル。
詳細については、次のTcpreplayマニュアルを参照してください。
http://tcpreplay.synfin.net/trac/wiki/manual
OPTIONS
-r string, -ポートマップ=string
TCP / UDPポートを書き換えます。 このオプションは最大-1回表示される場合があります。
コロン区切りで構成されるコンマ区切りのポートマッピングのリストを指定します
ポート番号のペア。 コロンで区切られた各ポートペアは、一致するポートで構成されます
書き換えるポート番号が続きます。
例:
--portmap = 80:8000 --portmap = 8080:80#80-> 8000および8080-> 80
--portmap = 8000,8080,88888:80#3つの異なるポートが80になります
--portmap = 8000-8999:80#ポート8000〜8999は80になります
-s 数, - シード=数
指定されたシードを使用してsrc / dst IPv4 / v6アドレスをランダム化します。 このオプションは最大1つまで表示される場合があります
回数。 このオプションは、引数として整数を取ります。
送信元と宛先のIPv4 / v6アドレスを疑似ランダム化しますが、
クライアント/サーバーの関係を維持します。 ランダム化は
シードに基づいて決定論的であるため、同じシード値を再利用して、
トラフィック。
-N string, --pnat=string
疑似NATを使用してIPv4 / v6アドレスを書き換えます。 このオプションは最大2回表示される場合があります。
このオプションは、次のオプションのいずれかと組み合わせて表示しないでください。
srcipmap。
コロンで区切られた一連のCIDRネットブロックペアをコンマで区切ります。 各
ネットブロックペアは、IPアドレスに対して順番に評価されます。 IPアドレスが
パケットは最初のネットブロックと一致し、XNUMX番目のネットブロックを使用して次のように書き換えられます。
上位ビットに対するマスク。
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]
-S string, --srcipmap=string
疑似NATを使用して送信元IPv4 / v6アドレスを書き換えます。 このオプションは最大1つまで表示される場合があります
回数。 このオプションは、次のいずれかと組み合わせて表示することはできません
オプション:pnat。
--pnatオプションと同じように機能しますが、
IPv4 / v6ヘッダー。
-D string, --dtipmap=string
疑似NATを使用して宛先IPv4 / v6アドレスを書き換えます。 このオプションが表示される場合があります
1回まで。 このオプションは、次のいずれかと組み合わせて表示することはできません
オプション:pnat。
--pnatオプションと同じように機能しますが、の宛先IPアドレスにのみ影響します。
IPv4 / v6ヘッダー。
-e string, -エンドポイント=string
IPアドレスを1つのエンドポイントの間にあるように書き換えます。 このオプションは最大XNUMXつまで表示される場合があります
回数。 このオプションは、次のオプションと組み合わせて表示する必要があります。
cachefile。
すべてを書き換えるために使用されるコロンで区切られたIPv4 / v6アドレスのペアを取ります
トラフィックはXNUMXつのIPの間にあるように見えます。
IPv4の例:
--endpoints = 172.16.0.1:172.16.0.2
IPv6の例:
--endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]
-b, -スキップブロードキャスト
ブロードキャスト/マルチキャストIPv4 / v6アドレスの書き換えをスキップします。
デフォルトでは、-seed、-pnat、および--endpointsはブロードキャストとマルチキャストを書き換えます
IPv4 / v6およびMACアドレス。 このフラグを設定すると、ブロードキャスト/マルチキャストIPv4 / v6が維持されます
およびMACアドレスが書き換えられないようにします。
-C, --fixcsum
IPv4 / TCP / UDPヘッダーチェックサムの再計算を強制します。
各IPv4 / v6パケットに、チェックサムを再計算して修正させます。
で変更されたパケットに対して自動的に有効になります - シード, --pnat, -エンドポイント or
--fixlen.
-m 数, --mtu=数
デフォルトのMTU長(1500バイト)をオーバーライドします。 このオプションは最大1回表示される場合があります。
このオプションは、引数として整数を取ります。 の値 数 is
存在することに制約されます:
1からMAXPACKETの範囲
最大パディング長を決定するために、デフォルトの1500バイトのMTUサイズをオーバーライドします
(--fixlen = pad)または切り捨てる場合(--mtu-trunc)。
--mtu-trunc
指定されたMTUよりも大きいパケットを切り捨てます。 このオプションは最大1回表示される場合があります。
--fixlenと同様に、このオプションはレイヤー3および
上記はMTUより大きくないこと。
-E, --efcs
フレームの終わりからイーサネットチェックサム(FCS)を削除します。
このオプションはかなり危険であることに注意してください! FCSかどうかを実際に確認することはありません
実際にはフレーム内に存在するため、最後のXNUMXバイトを盲目的に削除します。 したがって、
これは、OSがFCSを提供することがわかっている場合にのみ使用してください。
生のパケットを読み取る。
--ttl=string
IPv4 / v6 TTL /ホップ制限を変更します。
すべてのIPv4 / v6パケットのTTL /ホップ制限を変更できます。 指定します
値をハードコーディングするための数値または値だけ増減するための+/-値
提供されます(1〜255に制限されます)。
例:
--ttl = 10
--ttl = + 7
--ttl = -64
--tos=数
IPv4 TOS / DiffServ / ECNバイトを設定します。 このオプションは最大1回表示される場合があります。 この
オプションは、引数として整数を取ります。 の値 数 制約されています
あることへ:
0から255の範囲
IPv4のTOS(DiffServ / ECNとも呼ばれます)値を上書きできます。
--tclass=数
IPv6トラフィッククラスバイトを設定します。 このオプションは最大1回表示される場合があります。 この
オプションは、引数として整数を取ります。 の値 数 制約されています
あることへ:
0から255の範囲
IPv6トラフィッククラスフィールドを上書きできます。
--フローラベル=数
IPv6フローラベルを設定します。 このオプションは最大1回表示される場合があります。 このオプションはかかります
引数としての整数。 の値 数 次のように制約されます:
0から1048575の範囲
20ビットIPv6フローラベルフィールドを上書きできます。 IPv4には影響しません
パケット。
-F string, --fixlen=string
ヘッダーの長さに一致するようにパケットデータをパディングまたはトランケートします。 このオプションは最大1つまで表示される場合があります
回。
snaplenがパケットよりも小さい場合、キャプチャ中にパケットが切り捨てられることがあります。
このオプションを使用すると、パケットを変更して、パケットをサイズに戻すことができます。
IPv4 / v6ヘッダーに保存するか、IPヘッダーの全長を書き換えて
保存されたパケット長。
パッド 切り捨てられたパケットは、パケット長がIPv4と一致するようにパディングされます。
全長
切り捨てる 切り捨てられたパケットのIPv4全長フィールドは、一致するように書き換えられます
実際のパケット長
インクルード パケットを削除します
--skipl2ブロードキャスト
ブロードキャスト/マルチキャストレイヤ2アドレスの書き換えをスキップします。
デフォルトでは、レイヤ2アドレスを編集すると、ブロードキャストおよびマルチキャストMACが書き換えられます
アドレス。 このフラグを設定すると、ブロードキャスト/マルチキャストMACアドレスが
書き直されています。
--dlt=string
出力DLTカプセル化をオーバーライドします。 このオプションは最大1回表示される場合があります。
デフォルトでは、DLT(データリンクタイプ)変換は行われません。 DLTを変更するには
出力pcapのタイプで、次のいずれかの値を選択します。
エネット イーサネット別名DLT_EN10MB
hdlc Cisco HDLC、別名DLT_C_HDLC
user ユーザー指定のレイヤー2ヘッダーとDLTタイプ
--enet-dmac=string
宛先イーサネットMACアドレスを上書きします。 このオプションは最大1回表示される場合があります。
カンマで区切られたイーサネットMACアドレスのペアを取得します。
アウトバウンドパケットの宛先MACアドレス。 最初のMACアドレスが使用されます
サーバーからクライアントへのトラフィックとオプションのXNUMX番目のMACアドレスが使用されます
クライアントからサーバーへのトラフィック。
例:
--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66
--enet-smac=string
送信元イーサネットMACアドレスを上書きします。 このオプションは最大1回表示される場合があります。
カンマで区切られたイーサネットMACアドレスのペアを取得します。
アウトバウンドパケットの送信元MACアドレス。 最初のMACアドレスは
サーバーからクライアントへのトラフィックとオプションのXNUMX番目のMACアドレスが
クライアントからサーバーへのトラフィック。
例:
--enet-smac=00:12:13:14:15:16,00:22:33:44:55:66
--enet-vlan=string
イーサネット802.1qVLANタグモードを指定します。 このオプションは最大1回表示される場合があります。
イーサネットフレームを書き換えて、802.1qヘッダーを標準802.3に追加できます
イーサネットヘッダーまたは802.1qVLANタグ情報を削除します。
加えます 既存の802.3イーサネットヘッダーを802.1qVLANヘッダーとして書き換えます
インクルード 既存の802.1qVLANヘッダーを802.3イーサネットヘッダーとして書き換えます
--enet-vlan-tag=数
新しいイーサネット802.1qVLANタグ値を指定します。 このオプションは最大1つまで表示される場合があります
回数。 このオプションは、次のオプションと組み合わせて表示する必要があります。enet-
VLAN。 このオプションは、引数として整数を取ります。 の値 数 is
存在することに制約されます:
0から4095の範囲
--enet-vlan-cfi=数
イーサネット802.1qVLANCFI値を指定します。 このオプションは最大1回表示される場合があります。
このオプションは、次のオプションと組み合わせて表示する必要があります:enet-vlan。 この
オプションは、引数として整数を取ります。 の値 数 制約されています
あることへ:
0から1の範囲
--enet-vlan-pri=数
イーサネット802.1qVLAN優先度を指定します。 このオプションは最大1回表示される場合があります。
このオプションは、次のオプションと組み合わせて表示する必要があります:enet-vlan。 この
オプションは、引数として整数を取ります。 の値 数 制約されています
あることへ:
0から7の範囲
--hdlc-control=数
HDLC制御値を指定します。 このオプションは最大1回表示される場合があります。 このオプション
引数として整数を取ります。
CiscoHDLCヘッダーには1バイトの「制御」フィールドがあります。 どうやらこれは常にすべきです
0ですが、任意の1バイト値を使用できる場合。
--hdlc-アドレス=数
HDLCアドレスを指定します。 このオプションは最大1回表示される場合があります。 このオプションは
引数としての整数。
Cisco HDLCヘッダーには、1つの有効な値を持つXNUMXバイトの「アドレス」フィールドがあります。
0x0F ユニキャスト
0xBF 放送
ただし、任意のXNUMXバイト値を指定できます。
--user-dlt=数
出力ファイルのDLTタイプを設定します。 このオプションは最大1回表示される場合があります。 このオプションはかかります
引数としての整数。
出力pcapファイルのDLT値を設定します。
--user-dlink=string
データリンク層をユーザー指定のデータで書き換えます。 このオプションは最大2つまで表示される場合があります
回。
書き換えまたは
パケットのレイヤ2ヘッダーを作成します。 この引数の最初のインスタンスは
サーバートラフィックとクライアントトラフィックの両方を書き換えますが、この引数がXNUMX番目に指定されている場合
時間、それはクライアントトラフィックに使用されます。
例:
--user-dlink=01,02,03,04,05,06,00,1A,2B,3C,4D,5E,6F,08,00
-d 数, --dbug=数
デバッグ出力を有効にします。 このオプションは最大1回表示される場合があります。 このオプションはかかります
引数としての整数。 の値 数 次のように制約されます:
0から5の範囲
デフォルト 数 このオプションの場合:
0
--enable-debugを使用して構成されている場合は、次の詳細レベルを指定できます。
デバッグ出力。 数値が大きいほど、冗長性が高くなります。
-i string, --infile=string
処理する pcap ファイルを入力します。 このオプションは 1 回まで表示されます。
-o string, --outfile=string
pcap ファイルを出力します。 このオプションは 1 回まで表示されます。
-c string, --キャッシュファイル=string
tcpprep キャッシュ ファイルを介してトラフィックを分割します。 このオプションは 1 回まで表示されます。
tcpprep キャッシュ ファイルを使用して、クライアント/サーバーの関係に基づいてトラフィックを分割します。
-v, -詳細
デコードされたパケットをtcpdump経由でSTDOUTに出力します。 このオプションは最大1回表示される場合があります。
-A string, -デコード=string
tcpdumpデコーダーに渡される引数。 このオプションは最大1回表示される場合があります。 この
オプションは、次のオプションと組み合わせて表示する必要があります:冗長。
詳細モードを有効にする場合(-v)XNUMXつ以上の追加を指定することもできます
渡す引数 tcpdump パケットのデコード方法を変更します。 デフォルトでは、-n
および -l が使用されます。 解釈されないように、引数は必ず引用符で囲んでください
tcprewrite による。 をご覧ください。 tcpdump(1) オプションの完全なリストについては man ページを参照してください。
--フラグルート=string
fragroute 構成ファイルを解析します。 このオプションは 1 回まで表示されます。
組み込みの機能を使用して高度な回避テクニックを有効にします。 フラグルート(8) エンジン。 を参照してください。
フラグルート詳細については、(8) マニュアルページを参照してください。 重要: tcprewrite は、
遅延、エコー、または印刷コマンド。
--フラグディル=string
fragroute を適用するフロー: c2s、s2c、両方。 このオプションは 1 つまで表示されます
回数。 このオプションは、次のオプションと組み合わせて表示する必要があります。
cachefile。
キャッシュを使用する場合、c2s、s2c、またはその両方を通過するパケットに fragroute エンジンを適用します。
ファイルにソフトウェアを指定する必要があります。
--skip-ソフトエラー
ソフト エラーのあるパケットの書き込みをスキップします。 このオプションは 1 回まで表示されます。
場合によっては、パケットをデコードできないか、要求された編集ができないことがあります。
通常、これらのパケットは編集されずに出力ファイルに書き込まれるため、tcpprep
キャッシュ ファイルは引き続き使用できますが、必要に応じて、これらのパケットを抑制することもできます。
この一例は、データを含まない 802.11 管理フレームです。
-V, - バージョン
バージョン情報を印刷します。
-h, --less-ヘルプ
より少ない使用情報を表示して終了します。
-H, - 助けて
使用情報を表示して終了します。
-!, -詳細-ヘルプ
ポケットベルを介して渡される拡張使用情報。
- [rcファイル], --save-opts[=rcファイル]
オプションの状態をに保存します rcファイル。 デフォルトは last リストされている構成ファイル
会場は オプション プリセット 以下のセクション。
- rcファイル, --load-opts=rcファイル, --no-load-opts
からオプションをロード rcファイルを選択します。 無負荷-opts フォームはの読み込みを無効にします
以前のRC / INIファイル。 --no-load-opts 順不同で早期に処理されます。
オプション プリセット
としてマークされていないオプション プリセット可能 から値をロードすることでプリセットできます
構成(「RC」または「.INI」)ファイル。 ザ ホームク ファイルは「$$ /"、それが
ディレクトリ。 その場合、ファイル「.tcprewriterc"はそのディレクトリ内で検索されます。
onworks.net サービスを使用してオンラインで tcprewrite を使用する