tcpdumpを使用してTCP要求を再生成できますか?

tcpdumpを使用してTCP要求を再生成できますか?

バックエンドサーバーを開発中です。バックエンドのアーキテクチャは次のとおりです。

APP --> Server1 --> Server2 --> Server3 --> MyServer

APPはバックエンドにHTTP要求を送信し、Server1バックエンドサーバーはTCPプロトコルベースのRPCを使用して通信します。

開発中ですが、まだ作業が完了していないため、常に利用できないMyServer多くのテストを実行する必要があります。Server3

Server1私はRPCが何であるかわからず、Server2実際にそうしました。 RPCはServer3本当に複雑で、これには私が知らなかった多くのパラメータが含まれていました。必要なのは、リクエストをキャプチャし、その内容をスクリプトにコピーしてスクリプトを実行してリクエストをシミュレートすることです。Server3MyServerServer3

たとえば、見てみましょう。

Server3パラメータMyServer付きRCPが送信されます。私はそれが私が興味のあるすべてであるので、それを処理し、新しいパラメータを生成して別のサーバーに送信します。したがって、必要に応じてテストできるようにRPCをシミュレートする必要があります。p1p2p3p3p3p4p1p2p4Server3MyServer

契約について

私たちのチームは、RPC用の独自のプロトコルを含む独自のフレームワークを使用しています。私が知っているのは、プロトコルがHTTPではなくTCPに基づいているということだけです。したがって、私にとって必要なのは、要求をキャプチャし、必要に応じて再生するServer3ことです。

ベストアンサー1

HTTPを扱う場合、より良いツールtcpdumpは「透明なプロキシ」です。その後、要求を再実行することもできます。

Googleの周りには透明なプロキシがたくさんあります。

たとえば、次のようにmitmproxyなります。再生リクエスト

おすすめ記事