パケットから追加情報を取得するためにpcapファイルを変更する方法

パケットから追加情報を取得するためにpcapファイルを変更する方法

いくつかの情報を含むPcapファイルがあります。

ファイルのデータを変更する必要があります。

例: Wiresharkの詳細

ご覧のとおり、パケットの詳細と追加履歴パートIにはTXT値があります。fn=Room 110

今TXT値を変更するのに役立ちます

例: からTXT: fn=Room 110までTXT: fn=Room 1234

例の終わり

私が今までにしたこと

1. Scapyと16進エディタを使用してメタデータを変更します。

Scapyを使用して宛先アドレス、MACアドレス、ポートを変更するなど、いくつかの点を変更しました。しかし、scapyでTXTレコードを変更することはできません。

16進数を使用すると、文字列を16進数に変換してTXT値を変更できますが、長さが異なる必要がある問題に直面しています。

例:TXT: fn=Room 110次のように変更できます。TXT: fn=Room 123

ただし、次のように変更することはできません。TXT: fn=Room 110このTXT: fn=Room 1234 場合、生成されたpcapは無効です。

以下は、Pythonを使用したサンプル作業のスクリーンショットです。

Pythonプログラム このコードは、ターゲットMac、ソースIP、およびTXT = Room <値:3ビット>を変更し、パケットの「TXT:fn = Room」の前後の16進値を確認してTXT値を変更します。

この問題に関連する支援をいただきありがとうございます。

ありがとうございます。

ベストアンサー1

私の考えにこのようなことが起こる理由は次のとおりfn=Room 1234です。fn=Room 110

パケット内で強調表示されたフィールド()fn=Room 110の前の16進数は0b10進数です11

ここに画像の説明を入力してください。

1文字を追加するので、フィールドの長さは1から12に増えます。

したがって、次のフィールドの長さが12文字であることがわかるように、前の0bフィールド(ダイアグラムで強調表示されている)を変更する必要があります。0cecho -n "fn=Room 1234" | wc -c)。0c16進値は12です。

おすすめ記事