HTTPプロトコル形式
HTTP プロトコルは、非常に広く使用されているアプリケーション層プロトコルです。ブラウザに URL (「ウェブサイト アドレス」) を入力すると、ブラウザは HTTP リクエストをクライアントに送信します。サーバーがリクエストを受信すると、HTTP が返されます。応答。
HTTP リクエストとレスポンスの詳細を確認できるようにするには、パケット キャプチャ ツールを使用する必要があります。この記事では例として Fiddler を使用します。
httpの作業プロセス
ブラウザでリクエストを送信するとき、この時点では http プロトコルが使用されますが、実際に送信するのは http リクエストであり、サーバーも http レスポンスを返します。
ここでリクエストを送信します。http リクエストとレスポンスの間には多くのやり取りが発生する可能性があります。
HTTP プロトコルがネットワークを介して対話する過程で、いくつかのキーワードを学びました。
クライアント: リクエストを送信する当事者 (ブラウザーでイベントをクエリするときはクライアントになります)
サーバー: 応答を返す当事者 (Baidu にリクエストを送信すると、Baidu は応答を返します。Baidu はサーバーとして理解できます)
リクエスト: クライアントからサーバーに送信されるデータ。
応答: サーバーからクライアントへ。
パケットキャプチャツールの原理
Fiddler パケット キャプチャ ツールは「プロキシ プログラム」に相当します。クライアントが HTTP リクエストをサーバーに送信すると、クライアントはまずリクエストを Fiddler に渡し、次に Fiddler がリクエストをサーバーに転送します。サーバーが戻ったときに、 HTTP 応答の場合、最初に応答が Fiddler に渡され、次に Fiddler がクライアントに応答を返します。
したがって、Fiddler はクライアントとサーバー間で交換されるデータの詳細を知ることになります。
簡単に理解すると、Fiddler はクライアントの用事をこなす弟に相当します。
エージェントには 2 つのタイプがあります。
フォワードプロキシ: クライアントにサービスを提供するエージェントプログラム。現時点では、フォワードプロキシは実際のクライアントを隠すことに相当し、サーバーは実際のクライアントが誰であるかを知りません。
リバースプロキシ: サーバーにサービスを提供するプロキシプログラム。このとき、リバースプロキシは実サーバーを隠すことに相当し、クライアントは実サーバーが誰であるかを知りません。
フィドラーを使用してパケットをキャプチャする
Fiddler ツールページの紹介
キャッチされたパッケージのリスト
フィドラーの左側には、キャプチャされたパケットのリストがあります。リストの内容は常に変化します。コンピュータがネットワークと通信している限り、HTTP パケットはキャプチャされるため、これは正常です。
パッケージの詳細
左側のパッケージをダブルクリックして、パッケージの詳細ページに入ります。
右上は http リクエスト メッセージです。
右下は http 応答メッセージです。
パッケージの詳細
raw はネイティブとして変換され、http の最もオリジナルなリクエスト データです。
右下隅の [メモ帳で表示] をクリックすると、データがメモ帳の形式で開き、データをより明確に確認できます。
必要なパッケージを見つけます
パケットをキャプチャした後、送信したパケットを素早く見つけるにはどうすればよいでしょうか?
黒いパケットは通常のデータを表し、青いパケットの応答は html です。
ドメイン名を見て、Baidu、Baidu などのドメイン名に応じた位置を確認してください。
応答のデータ長を確認し、通常は長い方を探します。
パケットキャプチャデータの分析
httpリクエスト
最初の行
https://mbd.baidu.com/newspage/api/getpcvoicelist?callback=JSONP_0& HTTP/1.1を取得する
リクエストヘッダー ヘッダー
最初の行の終わりから空行の終わりまで、空行はヘッダーの終了マークです。
文章
ヘッダー終了後、以下の内容が本文となりますが、本文がない場合もあります。
http 応答
最初の行
HTTP/1.1 200 OK
レスポンスヘッダー
最初の行の終わりから空行の終わりまで、空行はヘッダーの終了マークです。
文章
空行以降の内容。
一般に、インターネットをサーフィンするときに、ページに表示されるコンテンツは、たとえ単純なページであっても、サーバーから応答として返された結果です。
これは、Android リバース開発でパケットをキャプチャするための fiddler パケット キャプチャ ツールの使用です。リバース開発の詳細については、「Android リバース ドキュメント」を参照し、クリックして詳細カテゴリを表示してください。
最後に: パケット キャプチャ ツール フィドラーをダウンロードします。
パケット キャプチャ ツールは多数ありますが、ここでは主に http について学習するので、単純に http パケット キャプチャ ツールをダウンロードします。
- フィドラーの公式ウェブサイトに入る
ブラウザで直接 fiddler を検索するだけです。忘れずに公式 Web サイトにアクセスしてください。
公式 Web サイトの見分け方 右下に fiddler などの公式 Web サイトが表示され、そのページに fiddler に関連するものが表示されます。
- クリックしてクラシック バージョンをダウンロードします
クラシックバージョンは無料版で、これがあります
- 関連情報を入力してダウンロードしてください