minix

minix

别烦我,正在追查宇宙大爆炸的嫌疑犯!

Linuxで使用可能なHTTPモックテストツール

工作プロセスでは、マイクロサービスの基本機能が正常かどうかを検証する必要がありますが、SE の設計があまり良くないため、マイクロサービスの結合が非常に重く、個別のテストシナリオを構築することができません。そのため、インターフェースレベルのモックが必要です。以前は自分でマイクロサービスを作成し、エンドポイントのマイクロサービスの返答を模擬していましたが、これは非常に面倒です。そのため、以下のツールを考案しました。

iptables を使用して NAT を行い、その後、mitmproxy を使用してストリームをインターセプトおよび改ざんし、モックサービスの目的を達成します。現在、RESTful インターフェースのモックをサポートしています。

# アーキテクチャ#

naughtymonkey がない場合:

サービス A(1.1.1.1)→サービス B(2.2.2.2:8888)リクエストを受け取る

サービス A(1.1.1.1)←サービス B(2.2.2.2:8888)レスポンスを返す

naughtymonkey を使用する場合:

サービス A(1.1.1.1)→サービス B のネットワークカード(iptables)→naughtymonkey(3.3.3.3:8080)→サービス B(2.2.2.2:8888)

サービス A(1.1.1.1)←サービス B のネットワークカード(iptables)←naughtymonkey(3.3.3.3:8080)ここでレスポンスを改ざんできます←サービス B(2.2.2.2:8888)レスポンスを返す

1 サービス B で monkeyagent.sh を実行し、iptables ルールを設定し、サービス A のリクエストストリームをすべて naughtymonkey に透過します

2 naughtymonkey のインターフェースでインターセプトする URL アドレスを設定し、URL に一致する場合にのみインターセプト操作を実行します

3 naughtymonkey のインターフェースでインターセプトおよび改ざんタスクを設定し、条件に一致するリクエストが来た場合は、タスク内のストリームに従って返答します

# 依存関係#

1 naughtymonkey は mongodb に依存しているため、mongodb をデプロイする必要があります
2 python3 が必要であり、多くのパッケージに依存しています。自分で追加してください

GitHub アドレス:https://github.com/flyfire100/naughtymonkey

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。