フィドラーは、原則をキャプチャし、詳細な使用しています

iddlerパケットキャプチャツールは非常に頻繁に、開発プロセスで使用されるAPPは、問題分析の原則と開発者のためのHTTPネットワークトランスポートネットワークの位置決め側面は非常に参考に理解します。今日は、実際の開発プロセスのフィドラーのアプリケーションを要約するためにいくつかの時間を取ります。


私は、パケットキャプチャツールの比較的多数の開発に使用MiniSniffer、フィドラーとWiresharkのです。MiniSnifferはスニッフィング古いネットワークキャプチャツールのコンパクト、各種プログラム、オープンデータキャプチャ、ネットワーク接続されています。Wiresharkのは非常に人気の、非常に強力なWebデータ分析ツールは、ネットワークパケットは、詳細情報を表示することができ、あなたはネットワークプロトコルのいくつかの知識がWiresharkのを理解することは比較的容易である持っている必要があります。フィドラーは、HTTP / HTTPS、ブレークポイントを設定し、監視することができ、すべてのHTTPおよびHTTPSは、クライアントとサーバに要求を記録、さらには入力データと出力データを変更することができ、デバッグ位置決めツールです。あなたは、通常は、開発プロセスのhttp / httpsの上位層ネットワークプロトコルに関与している場合、十分なフィドラーを使用し、ここでのバイオリン弾きの下に主な用途をまとめます。
関係本稿の内容は以下のとおりです。

  1. フィドラーの概要
  2. フィドラー作品
  3. フィドラークロールHTTPSメッセージ原理
  4. シオマネキの基本構成
  5. マウントの設定を把持フィドラーHTTPS
  6. FiddlerCertMakerは、プラグインのインストール
  7. 携帯電話の証明書のインストールを終了します

 

I.概要

フィドラーは無料で、強力なパケットキャプチャソフトウェアです。これは、プロキシプログラムのhttpの方法を通じて、それは彼らの状況と対話することができますし、Webサーバを検出するために、クライアントとサーバ間のすべてのHTTP要求を記録することが可能な、サポートを監視し、ブレークポイントを設定し、さらにはデータ入力と出力の機能を変更してデータ通信を取得します。シオマネキは、強力なイベントベースのスクリプトサブシステムを含む、および.NET Frameworkの言語拡張を使用することができます。

二、フィドラー作品

フィドラーHTTPプロキシが、クライアントとサーバ側との間に配置され、ネットワークを介して送信されたデータを分析する、特定のHTTP(S)要求のために、設けられていてもよい、クライアントとサーバの間のすべてのHTTP(S)要求を記録することが可能ですブレークポイントの変更要求データとサーバから返されたデータ。
フィドラーは、ブラウザとサーバとの間のプロキシサーバを確立し、HTTP(S)を捕捉することができる7のアプリケーション層フィドラー作業は、スルー要求します。スタート後フィドラーのプロキシ設定が自動的にマシンのコスト、デフォルトのポートは8888です。フィドラーだけでなく、ネットワークPCのブラウザ要求データを記録し、また、同じ要求されたデータに他のネットワークデバイスのHTTP(S)を記録することができます。:データ転送プロセスは、次のとおりです。

1)クライアントは、HTTP(S)、要求がWEBサーバなどのプロキシサーバープロキシフィドラーを経由します要求されて送信されます。
2)フィドラープロキシサーバは要求パケットのクライアントをインターセプトして、WEBサーバに転送、修正動作パラメータを転送する前に、いくつかの要求メッセージを行うことができます。
後3)WEBサーバは、要求が応答、フィドラープロキシサーバインターセプトWEBサーバ応答パケットを送信する処理します。
4)フィドラーは、クライアントに応答パケットの後に処理します。

三、フィドラーは、HTTPS原理をクロール

今、APPは、データ伝送に基本的にクロールすることができ、送信、データ送信がより良いフィドラーのHTTPパケットに加えて、我々はデータパケットを分析する難しさを増加させる、暗号化されてHTTS使用し、あなたはまた、HTTPSパケットをつかむことができます。いくつかの特別な設定を行う必要があるCA証明書によるHTTPSトランスポートに必要なので、クロールは、HTTPSパケットをクロールしています。フィドラーは、次のようにHTTPSパケット処理がある傍受する:

1)クライアント要求は、リンクを確立するために、HTTPS暗号化プロトコルをサーバーにクライアントにサポートされているバージョンおよびその他の情報のリストを送信します。
2)フィドラーは、クライアントによって送信され、Webサーバーに同じ要求を装ったクライアント要求を受け入れます。
WEBサーバは要求を受信した後3)フィドラーリクエストから適切な暗号化プロトコルをスクリーニングしました。そして、サーバーCA証明書、公開鍵情報を含む証明書を返します。
4)フィドラーは、サーバ、クライアントの下に発行された証明書を装ったサーバ証明書のWEBサーバと自己署名CA証明書を、保存した後の応答を受け取りました。
5)クライアント認証証明書の正当性。(このステップにHTTPSパケットキーをクロールすることができフィドラー)
6)公開鍵暗号化証明書を介してサーバに送信された対称鍵クライアントを製造。
フィドラーは、メッセージを復号化する秘密鍵を使用して、クライアントの要求を傍受)7後、対称暗号化キーを取得し、対称鍵と公開鍵暗号を使用して、サーバ証明書にWEBサーバに送信されます。クライアントとサーバ側インタフェース送信の秘密鍵データを使用することができた後に、この場合、対称鍵は、漏洩してきました。
8後)WEBサーバは、暗号化された秘密鍵、およびクライアントに暗号化された対称鍵のテストデータを使用して対称鍵を復号化するためにクライアントから送信された受信します。
9)フィドラーパケット前部を解読するために、対称鍵を使用して得られました。
HTTPS接続が確立された後、10)クライアント認証データは、クライアントがサービスサーバに対称鍵データを使用して暗号化送信を開始正確です
11)フィドラーは、クライアントによって送信され、再暗号化取得したクライアントに転送前のデータを解読するために、対称キーを使用して。

四、フィドラーの設定プロセス

1.ダウンロードしてインストール

:A)フィドラー無料のインストールパッケージダウンロードする公式サイトに行くことができhttps://www.telerik.com/fiddlerをプラグインFiddlerCertMakerはフィドラーのHTPPS古いバージョンを取り込むので、ここで私はシオマネキやFiddlerCertMakerが含まれている圧縮されたパッケージを詰め、あなたがクリックすることができます使用する必要があるため、ここでダウンロードします。

b)のフィドラーをインストールされている(私はここFiddler5.0バージョンをデモを使用)フィドラーのインストールファイルをクリックします。

2.フィドラー基本構成

あなただけのネイティブブラウザのHTTPパケットに耳を傾ける必要がある場合は、任意の追加設定を行う必要があり、オープンフィドラーを直接使用することができます。一般的に、我々は次のような構成を行う必要があり、リモート端末機器のネットワーク要求に耳を傾ける必要があります。オープンフィドラーは、メニューバーの[ツール] - > [オプション]> [接続]を選択します。リスニングポートを入力します(デフォルトは8888である)、remotecomputersが接続を許可する]を選択し、[フィドラーを再起動するには、[OK]をクリックします。

我々はネットワーク要求携帯電話側を監視する必要があるので、携帯電話側を設定することも必要です。まず確認してください携帯電話ネットワークを作り、同じ無線LANネットワークにフィドラーのコンピュータネットワークをインストールします。フィドラーは、フィドラーは、ホスト名とIPアドレスをホスト参照するには、「オンライン」ボタンのメインインターフェイスの右上隅をクリックすることができます、あなたは携帯電話網のIPアドレスを設定する必要があります。

打开手机网络设置,选择跟Fiddler主机在统一网络,打开wifi设置界面,进入wifi的高级设置(不同手机设置不一样,有一些手机长按选中的wifi名称可以出来,有一些手机是点击wifi名称后面的按钮,自己尝试)。Fiddler本身就是代理服务器,在wifi高级设置中的代理栏下面选择手动设置,设置输入Fiddler主机的IP地址(上一步显示的IP)和监听端口号(前面默认8888那个),点击确认。

这些配置按成以后,你在APP中打开有网络请求的操作,即可在Fiddler中看到。

在右边的Inspectors窗口中可以看到这个请求的请求报文和响应报文信息。

以上配置只能监听到HTTP报文,对于HTTPS报文无法显示内容,还需要做其他配置。

3. Fiddler抓包HTTPS

前面也讲了,HTTPS数据报文传输的时候涉及到证书及数据加密的问题,所以Fiddler需要抓取HTTPS报文的话还需要做其他配置。
首先还是打开Fiddler配置:Tools->Options->HTTPS:

勾选Capture HTTPS CONNECTS和Decrypt HTTPS traffic选项,如果只是想抓取本机或者远程终端的数据报文,可以在…from all processes这个下拉框中选择。这里还有一点需要注意的就是,低版本的Fiddler自签名的CA证书有一些问题,后面导入到手机上时无效,这里就需要安装上面说的FiddlerCertMaker插件。安装后要重启Fiddler,如果安装成功在上图Certificates generated by CertEnroo engine的位置的内容就会显示安装的FiddlerCertMaker插件信息。
设置完成以后点击OK,重启Fiddler。此时在手机端操作一些有https传输的app就会发现可以看到传输的内容,但是有局限性,只有设置了信任所有证书的APP中的HTTPS报文才能查看到,这类APP是非常不安全的。如果需要抓取大部分HTTPS报文怎么办呢?
大家都知道手机系统中集成了系统认为可信的CA根证书,如果服务器的证书是这些机构颁发了,HTTPS请求时系统才认为是安全的,否则SSL握手失败(前提是APP中使用系统默认证书信任机机制)。Fiddler自签名证书肯定不在系统信任的证书列表中,那怎么办呢?我们可以在手机中把Fiddler自签名的证书导入到信任证书列表中就可以解决这个问题了。
接下来打开手机中的浏览器,在地址栏输入Fiddler监听的IP:端口,比如:192.168.1.106:8888。

点击页面中的FiddlerRoot Certificate,下载并安装证书(如果下载了没有自动提示安装,可进入设置->系统安全->从存储设备安装中手动安装)。

输入证书名称,这里命名fiddler,点击确认。如果安装成功在系统安全->信任的凭据->用户中可以看到刚才安装的证书(如果证书名称是乱码,可能是Fiddler生成的证书有问题,需要安装FiddlerCertMaker插件,重新操作)。
我们在手机端打开有HTTPS链接的APP发现可以抓取HTTPS中的数据报文了。


这样就大功告成了,大家发现大部分HTTPS请求是可以抓取到的。大家有没有发现好像HTTPS传输也不是100%安全,怎么保证不被抓包呢,下次整理一篇文章总结一下怎么防止APP被抓包。

五、总结

以上哪里写的不对或者有待改进,欢迎大家提意见,谢谢!
原文出处:http://www.luoxudong.com/?p=306

おすすめ

転載: www.cnblogs.com/sucretan2010/p/11526467.html