私は、Linux上のPythonで小さなプログラムを書いています。これは、ホストAからホストBまでの特定のポート上のワイヤーで飛んでくるパケットを傍受します。ホストCは、すべてのトラフィックはホストC(arp poisoning method)を経由します。私はsuccessfuly傍受の部分を書いているので、私は画面上のすべてのデータを見ることができますが、私はヘッダーデータを変更せずにパケットデータを変更する必要があります(もちろんcheksumが変更されます)。 pcapy/impacketで傍受されたパケットを使ってこれをどのように達成できますか?
少し曖昧かもしれませんが、主な考え方を以下に示します。
1.ホストAはホストBに「Hello」を送信します(ホストAとBは、ホストCを通過するようにARPスプーフィングされています)。
2.ホストCはホストAから 'Hello'を取得します(デフォルトでは、ホストCはホストBに「Hello」をリダイレクトしますが、他のものが必要です - ポイント3を参照)
3.ホストCは、ホスト 'B'にリダイレクトします。
4.ホストBは「バイバイ」を取得します。
多分、これを達成するためにいくつかのLinuxのメカニズムを使用する方法がありますか?今、私は立ち往生しており、私はどんなアイデアにも感謝します。パケットデータをpcapy/impacketで変更する
2
A
答えて
1
私はこの種のアプリケーションではscapyを好んでいます。これは強力なPythonパッケージで、プロトコルスタックのさまざまなレイヤーでパケットをキャプチャ、操作、送信することができます。
man-in-the-middle攻撃を実行する方法はいくつかあります。私はおそらく、ホストAからのパケットをキャプチャするフィルタで "sniff"関数を使用します。次に、パケットを変更して "sendp"を使用してホストBに再送信するコールバック( "prn"パラメータ経由)を指定します。 scapyには組み込みの "arpcachepoison"関数も含まれています。
関連する問題
- 1. scapyでパケットデータを変更するには?
- 2. パケットデータの傍受と変更
- 3. WinDivert - パケットデータ/ペイロードの内容を変更する
- 4. PCap.Netパケットデータを変更するにはどうすればよいですか?
- 5. SDL_net UDPパケットデータ
- 6. 生のパケットデータとinet_ntoa()でキャストする
- 7. iBeaconからパケットデータを転送するandroid
- 8. チェックサムを使用したパケットデータ?
- 9. ByteBufferからIPパケットデータを取得
- 10. Android:スリープモードのAndroidのパケットデータを聞く
- 11. ICSのAndroidで「パケットデータを使用する」設定を取得するには
- 12. scapyパケットデータの保存方法は?
- 13. 非同期ブーストでパケットデータを1つだけ読み取る方法は?
- 14. 文字列からパケットデータを引き出し、アレイ
- 15. グローバルプロパティを変更する方法KnockoutJSでイベントハンドラを変更する
- 16. サイズを変更するループでboost_array変数を更新する
- 17. ColdFusionでページ変更時のセッション変数を変更する
- 18. パケット内の文字列検索とパケットデータの印刷
- 19. jQueryタブで変数を変更する
- 20. キーダウンで変数を変更する
- 21. InvokeScriptでC#変数を変更する
- 22. OCamlで可変フィールドを変更する
- 23. JavaScript変数をSeleniumで変更する
- 24. bashで変数を変更する
- 25. Pythonで変数を変更する
- 26. onchangeイベントで変数を変更する
- 27. サブクラスで変数を変更する
- 28. AudioStream Androidからパケットデータを取得するにはどうすればよいですか?
- 29. SVN変更ログを変更する
- 30. リサイズ変更コンポーネントを変更する