Webデバッグができるツール「Fiddler」の紹介

こんにちは。都築です。
 
日々、高度化するサイバー攻撃。セキュリティ対策も合わせてしっかりとおこなう必要があります。
 
セキュリティ対策をする上で、ブラウザとサーバ間の通信内容を調査したい場合があります。そんな時にとても有益な、Webデバッグができる  Fiddler というツールをご紹介したいと思います。

Fiddlerで出来ること

Fiddlerはブラウザとサーバ間のプロキシのように動作し、HTTP(S)通信の監視や編集をすることができます。また、javascriptやcss等をローカルファイルに差し替えて実行することができるので、サーバーにアップせずに本番環境により近い環境で動作の検証や修正ができます。
 

主な特徴

  1. Webデバッグ
  2. HTTP(S)通信の監視
  3. Webセッションの操作
  4. パフォーマンス
  5. セキュリティテスト

実行方法

実行方法はとても簡単です。Fiddlerを起動して、IEなどで調べたいページを開きます。すると、以下の様にHTTP(S)通信の結果が表示されます。
fiddler_1
 
上記はAMG SolutionのサイトをChromeで開いた時の情報です。左側にamg-solution.jp/と表示され、httpステータスが200(成功)で返ってきているのが分かります。
 
また、左側のURLを選択、右側のInspectorsタブを選択するとリクエストの詳細が表示されます。
fiddler_2
 
例えばUser-Agentを見ると、chromeを使用してhttp通信されたといった情報が分かります。

リクエスト情報を変更して実行

Fiddlerでは監視だけでなく、リクエスト情報を変更してhttp通信のデバッグなどもできます。例えば、上記イメージではchromeを使用したリクエストでしたが、User-Agentを削除した場合、どのようなレスポンスが返ってくるのか調査できます。
 
まず、以下の様に変更したいリクエストを選択し、右クリック→「Replay」→「Reissue and Edit」でリクエストをコピーします。
fiddler_3
 
User Agentを選択し、右クリック→「Remove Heder」で削除できます。
fiddler_4
 
削除ではなく内容を変更したい場合は、右クリック→「Edit Header」で編集もできます。
fiddler_5
 
最後に、画面真ん中付近にある緑のボタン「Run To Completion」を押下で、リクエストが実行されます。
fiddler_6
 
User Agentがなくても正常にhttpステータス200で返ってくるのが分かります。
 
リクエスト情報を改ざんされても問題ないページになっているか等、Webページのセキュリティチェックなどで重宝しそうですね。

まとめ

今回は基本的な部分の説明だけでしたが、Fiddlerではjavascriptをローカルファイルに差し替えるなど、様々な機能が用意されています。
 
またの機会に、ご紹介できればと思います。

記事をシェア
MOST VIEWED ARTICLES