
CoWitness は、テスト作業の精度と効率を向上させる強力な Web アプリケーションテストツールです。HTTP サーバーと DNS サーバーを模倣でき、テストプロセス中に完全なレスポンスと貴重な洞察を提供します。

CoWitness は、HTTP、HTTPS、DNS サーバーとして機能するように設計されたツールです。Web ページの配信、HTTP リクエストのログ記録、DNS レスポンスのカスタマイズが可能です。この README では、CoWitness ツールの機能概要と、コンパイル方法および使用方法について説明します。
HTTP サーバー: CoWitness には、ポート 80 で待ち受ける HTTP サーバーが含まれています。カレントディレクトリから静的ファイルを配信できます。各 HTTP リクエストは、クライアントの IP アドレス、要求されたリソース、ユーザーエージェントを含めてログに記録されます。
HTTPS サーバー: HTTP サーバーに加えて、CoWitness はポート 443 で待ち受ける HTTPS サーバーも提供します。HTTP サーバーと同様に、静的ファイルを配信し、各リクエストをログに記録します。
DNS サーバー: CoWitness は、ポート 53 で待ち受ける DNS サーバーとして機能します。NS レコードや A レコードを含む DNS レスポンスをカスタマイズできます。DNS リクエストは、クライアントの IP アドレスと要求されたドメインを含めてログに記録されます。
ロギング: CoWitness は、HTTP および DNS リクエストのログファイルを作成します。ログは既存のファイルに追記されるため、サーバーアクティビティを追跡および分析できます。
クワイエットモード: CoWitness は、-q コマンドライン引数を渡すことでクワイエットモードで実行できます。このモードでは、ASCII アートのバナーは表示されません。
CoWitness を使用する前に、次の要件を満たしていることを確認してください:
CoWitness をインストールおよびコンパイルするには、次の手順に従います:
git clone https://github.com/your-username/CoWitness.git
cd CoWitness
make -f Makefile build
このコマンドは CoWitness のソースコードをコンパイルし、amd64 および arm64 用の実行可能ファイルを作成します。
リモートサーバーで CoWitness を使用するには、次の手順に従います:
SSH 経由でリモートサーバーに接続します:
ssh username@your-server-ip
CoWitness を簡単にインストールするには、ここ から自動パッケージビルドを取得する方法があります。 これを curl または wget でシステムにダウンロードするか、scp でシステムからファイルを転送できます。
cowitness
CoWitness は、特定のニーズに合わせてカスタマイズできます。可能な変更の例をいくつか示します:
デフォルトポートの変更: デフォルトポートを変更するには、CLI フラグの使用法ヘルプを参照してください。
ログファイルパスの変更: ソースコード内の os.OpenFile 呼び出しを更新することで、HTTP および DNS ログファイル (http.log および dns.log) のパスを変更できます。
コミュニティからのコントリビューションとフィードバックを歓迎します。問題が発生した場合や改善の提案がある場合は、GitHub リポジトリで issue を開くか、プルリクエストを送信してください!
CoWitness は MIT ライセンス の下でリリースされています。