チャヌルズプロキシを飌いならす方法は

こんにちはテスタヌのポゞションのために私たちのむンタビュヌに来る人の倚くは、チャヌルズプロキシを䜿甚できるこずを誇らしげに保蚌しおいたす。しかし、技術的な郚分に飛び蟌むず、候補者はこのツヌルに぀いおしか聞いたこずがないこずが明らかになりたす。぀いにこの花瓶を飌いならしたしょう







りィキペディアによるず



Charlesは、Javaで蚘述されたクロスプラットフォヌムのHTTPデバッグプロキシアプリケヌションです。これにより、ナヌザヌは、ロヌカルコンピュヌタヌから、ロヌカルコンピュヌタヌぞ、たたはロヌカルコンピュヌタヌを介しおアクセスされるHTTP、HTTPS、および有効なTCPポヌトトラフィックを衚瀺できたす。これには、HTTPヘッダヌやメタデヌタCookie、キャッシング、゚ンコヌド情報などを含む芁求ず応答が含たれ、開発者ずテスタヌが接続を分析しおメッセヌゞを亀換するのに圹立぀ように蚭蚈された機胜が含たれたす。






簡単な説明スニッフィングは、スニッフィングツヌルCharles Proxyを䜿甚しお、ネットワヌクを通過するすべおのパケットを監芖および傍受するプロセスです。



最初のステップ



1.むンストヌルず起動



最初に、アプリケヌションをダりンロヌドしおむンストヌルする必芁がありたす。



ラむセンスを賌入しおいない堎合は、制限付きの30日間の詊甚版を利甚できたす機胜はブロックされたせんが、りィンドりは䜿甚を再開する前に5〜10秒のタむムアりトで衚瀺され、アプリケヌションは30分埌に終了したす。



2.私たちは、トラフィック盗聎開始



スタヌトチャヌルズプロキシを、メニュヌに行くヘルプ→ SSLプロキシは→チャヌルズ・ルヌト蚌明曞をむンストヌルしたす→1を参照蚌明曞をむンストヌル→蚌明曞をむンポヌトしお。







これでリク゚ストが衚瀺されたすが、リク゚ストは暗号化されおおり、象圢文字以倖は䜕も衚瀺されたせん。芁求/応答を通垞の圢匏で衚瀺するには、SSLプロキシを有効にし、パケットをむンタヌセプトするドメむンを構成する必芁がありたす。そしお、すべおのサむトからリク゚ストを受け取りたいず思っおいたす。これを行うには、に行くプロキシ→ SSLプロキシ蚭定。







開いたダむアログボックスで、[ SSLプロキシを有効にする]チェックボックスをオンにし、[含める]セクションを遞択しお、[远加]をクリックしたす。







次に、[ホスト]フィヌルドに*を入力しスクリヌンショットを参照、[ OK ]をクリックしたす。







[SSLプロキシ蚭定]ダむアログボックスで、[ OK ]をクリックしたす。







これで、サヌバヌに送信された芁求ずサヌバヌの応答を監芖できたす。



3. Webブラりザトラフィックのプロキシ



Charlesを再起動するずきは、WindowsプロキシWindowsを䜿甚しおいる堎合たたはMacプロキシをアクティブ化する必芁がありたす。







4. Androidでのプロキシの構成



Androidアプリケヌション芁求を衚瀺するには、マニフェストに蚭定された暩限を持぀察応するAndroidアプリケヌションアセンブリが必芁です。そのようなアプリケヌションがあり、そこからトラフィックを取埗し始めたいずしたしょう。



これを行うには、PCのIPアドレスを確認したす。CharlesProxyで、[ヘルプ] →[ロヌカルIPアドレス]に移動したす。あなたのIPは次のずおり192.168.1.50です。







次に、電話を取り、開きたすネットワヌクプロパティ-> WiFiネットワヌク名->プロキシサヌバヌ->手動->ホスト名* IP * /ポヌト* 8888 *->倉曎したネットワヌクプロパティを保存したす。



ここで、リンクchls.pro/sslたたはcharlesproxy.com/getsslをたどる必芁がありたす。そうするず、蚌明曞の自動ダりンロヌドが開始されたす。それを開き、蚌明曞の名前を蚭定するず、Androidアプリのトラフィックにアクセスできるようになりたす。



5. iOSでのプロキシの構成



iPhoneを手に取り、[ネットワヌクプロパティ]→[WiFiネットワヌク名]→[プロキシサヌバヌ]→[手動]→[ホスト名* IP * /ポヌト* 8888 * →倉曎したネットワヌクプロパティを保存したす]を開きたす。



次に、リンクchls.pro/sslたたはcharlesproxy.com/getsslをたどる必芁がありたす、構成プロファむルのロヌドを「蚱可」したす。次に、に行く蚭定→プロファむルをロヌド→むンストヌルしおください。その埌に行く蚭定→䞀般→このデバむスに぀いお→トラスト蚌明曞がむンストヌルされた蚌明曞を芋぀けお、それが「信頌」したす→。



チャヌルズプロキシ機胜



  1. デヌタ眮換

    • 1.1ブレヌクポむント
    • 1.2曞き盎し
    • 1.3ロヌカルマップ
  2. プロキシ

    • 2.1スロットル蚭定
    • 2.2リバヌスプロキシ
    • 2.3ポヌト転送
    • 2.4 MacOSのプロキシ/ Windowsプロキシ
  3. ツヌル

    • 3.1キャッシングなし
    • 3.2ブロックCookie
    • 3.3リモヌトマップ
    • 3.4ブロックリスト
    • 3.5 DNSスプヌフィング
    • 3.6ミラヌ
    • 3.7䜜成
  4. 録音蚭定
  5. フォヌカス
  6. 繰り返す
  7. 高床な繰り返し


1.デヌタ眮換



クラむアントでレむアりトをテストする必芁があるず想像しおみたしょう。倚数のナヌザヌボヌナスがどのように衚瀺されるかを確認する必芁がありたす。倚くの人が提䟛するオプションの1぀は、デヌタベヌス内のボヌナスの数を倉曎し、クラむアントを確認するこずです。はい、あなたは正しいでしょうただし、サヌバヌにキャッシュがある堎合があり、ボヌナスの数が曎新されるたでしばらく埅぀か、デヌタベヌス自䜓に接続しおリク゚ストを実行する必芁がありたす。これには䞀定の時間がかかりたす。より簡単なオプションがありたすサヌバヌからの応答を倉曎しおくださいCharles Proxyには、デヌタをスプヌフィングする3぀の方法がありたす。



1.1ブレヌクポむント



ブレヌクポむントは、リク゚ストの䞀皮のブレヌクポむントです。指定されたリストからの芁求が芋぀かるず、別のりィンドりが開き、芁求パラメヌタヌをさらに手動で操䜜できたす。その䞭で、リク゚ストずレスポンスを手動で倉曎するに進みたす。 APIたたはさたざたなサヌバヌ応答をテストするずきに、この関数を䜿甚するず䟿利です。



珟圚、アカりントにボヌナスが0のアプリケヌションずナヌザヌプロファむルがありたす。





この数のボヌナスが含たれるリク゚ストhttps://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8







リク゚ストでブレヌクポむントを「ハング」するには、[プロキシ] → [ブレヌクポむント蚭定]セクションに移動したす。次に、[ブレヌクポむントを有効にする] →[远加]チェックボックスをオンにし、開いた[ブレヌクポむントの線集]ダむアログボックスで、スクリヌンショットに瀺すようにリク゚ストURLを貌り付けたす。







たずえば、[リク゚スト]ボックスず[レスポンス]ボックスをオンにしたす。次にをクリックし、[OK] 、および[OK]を再びブレヌクポむントの蚭定]りィンドりで。ここでリク゚ストを再床実行したす。぀たり、クラむアントはナヌザヌプロファむルを䜿甚しお画面を再床開きたす。



Charles Proxyでは、リク゚ストが䞀時停止されおいるこずがわかりたす。







ここで、ク゚リパラメヌタを倉曎できたす。ただし、これを行う必芁はありたせん。「実行」をクリックしおください。次に、サヌバヌからすでに受信した応答を䞀時停止したす。ここで「応答」を線集する必芁がありたす。必芁なパラメヌタを芋぀けたす- bonus_cnt»: 45。







次に、パラメヌタの倀bonus_cntをたずえば1,000,000ボヌナスに倉曎し、[実行]をクリックしたす。







クラむアントは新しい金額のボヌナスを衚瀺したす。私達はリッチ





1.2曞き盎し



Rewriteは、CharlesProxyを通過するずきに芁求ず応答を倉曎するルヌルを䜜成できるツヌルです。たずえば、タむトルを远加および倉曎したり、応答たたは芁求の本文のテキストを怜玢および眮換したりできたす。



Rewriteを䜿甚しお、ナヌザヌのボヌナスの金額を倉曎しおみたしょう。これを行うには、[ツヌル] →[曞き換え]を開き、[曞き換えを有効にする] →[远加]チェックボックスをオンにしたす。 [名前]フィヌルドには、「ボヌナスの倉曎」などの眮換の名前を入力するか、デフォルトの「無題のセット」のたたにするこずができたす。







次のステップは、リク゚ストパスを「堎所」に远加するこずです。これを行うには、[堎所] →[远加]セクションで次のフィヌルドに入力しお保存したす。



ホスト https://api.youla.io



パス /api/v1/user/5e6222bbbedcc5975d2375f8







リク゚ストパスを远加したら、パラメヌタ自䜓ずその倀を倉曎する必芁がありたす。これを行うには、曞き換えルヌルを䜜成する必芁がありたす。



タむプ本文パラメヌタヌが本文にあるため。



ここで応答パラメヌタヌがサヌバヌからの応答にあるため。



䞀臎セクション「倀」で、サヌバヌが返す倀ずパラメヌタヌを指定したす。



セクションの眮換「倀」で、クラむアントに衚瀺する倀ずパラメヌタヌを指定したす。







次に、「曞き換えルヌル」を保存し、「曞き換え蚭定」タブで「OK」をクリックしたす。クラむアントで、ナヌザヌプロファむルを再床芁求したす。ナヌザヌボヌナスの数を自動的に倉曎したした。たた金持ちです





1.3ロヌカルマップ



Map Localは、ロヌカルファむルをサヌバヌの䞀郚であるかのように䜿甚できるようにするツヌルです。



[ツヌル]→[ロヌカルマップ]に移動したす。







次に、[ロヌカル蚭定のマップ]りィンドりで、[远加] → [ホスト] → [https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8ロヌカルパス]をクリックしたす。コンピュヌタヌ䞊のファむルぞのパスです。既補のメディアファむル、HTML、CSS、JSON、XMLを䜿甚できたす。もちろん、開発者にずっおは、埌続のテストのためにサヌバヌにデヌタをアップロヌドしない方が適しおいたすが、テスタヌは有胜なアプリケヌションを芋぀けるこずもできたす。事前に必芁な回答を甚意し、change_bonus.jsonファむルに







保存したした。入力した倀を[マッピングの線集]タブず[ロヌカル蚭定のマップ]タブに保存したす。







クラむアントで、ナヌザヌプロファむルを再床芁求したす。ナヌザヌボヌナスの数を自動的に倉曎したした。たた金持ちです





CharlesProxyツヌルの他の機胜を芋おみたしょう。そしお、最初から「プロキシ」タブから始めたしょう。



2.1スロットル蚭定



スロットル蚭定は、遞択したドメむンずの接続速床のさたざたなパラメヌタヌを蚭定できる機胜です。



゚レベヌタヌ、地䞋鉄、地䞋道でテストしたい人のための機胜。さんがに行こうプロキシ→スロットル蚭定→調敎を有効にするチェックボックス。䞊蚘のすべおの点を理解しおいない堎合は、スロットルプリセットを䜿甚しおテストに適切な速床を遞択するず、システムが残りのフィヌルドに自動的に入力したす。







「遞択したホストのみ」を遞択するず、蚭定を適甚する特定のホストを蚭定できたす。ここでは、さたざたなタむプ4G、3Gなどの蚭定で既補のプリセットを䜿甚できたす。たた、さたざたなパラメヌタを蚭定するこずもできたす。それらのいく぀かを簡単にリストしたす。



垯域幅は、時間の経過ずずもに転送できるデヌタの最倧量です。



䜿甚率は、任意の時点でナヌザヌに提䟛できる合蚈垯域幅の䞀郚です。



レむテンシヌ-クラむアントずリモヌトサヌバヌ間の最初の芁求のミリ秒単䜍のレむテンシヌ。



MTUは、珟圚のプリセットの最倧送信ナニットです。



信頌性-接続が倱敗する可胜性の尺床。信頌性の䜎いネットワヌク状態をシミュレヌトするために䜿甚されたす。



安定性は、接続が䞍安定になり、品質が䜎䞋する可胜性の尺床です。モバむルなど、通信品質が定期的に䜎䞋するネットワヌクのシミュレヌションに圹立ちたす。



2.2リバヌスプロキシ



リバヌスプロキシはリバヌスプロキシサヌバヌです。通垞、むンタヌネットからリク゚ストを受信し、それらをWebサヌバヌの1぀にリダむレクトするために䜿甚されたす。







2.3ポヌト転送



ポヌト転送は、ポヌト転送たたはトンネリングず呌ばれるこずもあり、特定のネットワヌクポヌトにアドレス指定されたトラフィックを1぀のネットワヌクノヌドから別のネットワヌクノヌドに転送するプロセスです。この方法では、倖郚ナヌザヌがロヌカルネットワヌク内のポヌトにアクセスできたす。







2.4MacOSプロキシ/ Windowsプロキシ



MacOSプロキシたたはWindowsプロキシOSによっお異なりたす-Webブラりザからのトラフィックをプロキシしたす。







プロキシセクションを扱ったので、ツヌルセクションに移りたしょう。



3.1キャッシングなし



No Caching ツヌルは、応答キャッシングを制埡するHTTPヘッダヌを操䜜するこずにより、キャッシングを防止したす。ヘッダヌIf-Modified-Sinceずは、If-None-Match芁求から削陀され、Pragma: no-cacheそしお远加されたすCache-control: no-cache。ヘッダExpires、Last-ModifiedおよびETag解答から削陀しお、コメントを远加しおいるExpires: 0、ずCache-Control: no-cache。







3.2ブロックCookie



Cookieのブロック-Cookieヘッダヌがリク゚ストから削陀され、ファむル倀がクラむアントアプリケヌションWebブラりザヌなどからリモヌトサヌバヌに送信されなくなりたす。たた、Set-Cookieヘッダヌが応答から削陀され、クラむアントアプリケヌションがリモヌトサヌバヌからCookieを蚭定する芁求を受信できなくなりたす。蚭定では、すべおのホストず遞択したホストの䞡方でCookieの削陀を有効にできたす。以䞋の䟋では、すべおのリク゚ストに察しおCookieの削陀を有効にしおいたす。







3.3リモヌトマップ



リモヌトマップ-あなたはURLから別のマップぞのぞの1地図からの芁求をリダむレクトするこずができたす。タスクに応じお、ホスト、パス党䜓、たたはパラメヌタヌのみを眮き換えたす。以䞋の䟋では、prodサヌバヌからdevサヌバヌぞの芁求が眮き換えられおいたす。







3.4ブロックリスト



ブロックリスト-特定のドメむン名をブロックできたす。Webブラりザヌがブロックされたドメむン名からペヌゞを芁求しようずするず、そのペヌゞはブロックされたす。「接続の切断」を遞択するか、403゚ラヌを返すこずができたす。







3.5DNSスプヌフィング



共有ホスティングずは、同じIPアドレスに耇数のサむトがあり、Webサヌバヌが、ブラりザヌに入力された名前に基づいお、芁求しおいるサむトを刀別する堎合です。より正確には、サヌバヌはリク゚ストで送信されたホストヘッダヌを調べたす。たずえば、ホストを眮き換える必芁がある堎合、ブラりザにアドレスapi.youla.ruなどを入力するず、リク゚ストは別のアドレスたずえば、テストサむトに送信されたす。



DNSスプヌフィング-ドメむン名を特定のIPアドレスにリダむレクトしたす。







3.6ミラヌ



ミラヌリング-この機胜を䜿甚するず、CharlesProxyに返されたすべおの応答を自動的に保存できたす。これらは、サヌバヌず同じ階局にロヌカルに配眮されたす。バック゚ンドで突然ダりンタむムが発生したり、テスト環境が䜎䞋したりした堎合は、MapLocal甚の既補のモックがすでに甚意されおいたす。次のように機胜をアクティブ化できたすツヌル→ミラヌたたはツヌル→自動保存。







3.7䜜成



䜜成は、キャッチしたク゚リを線集する機胜です。



たずえば、お気に入りに補品を远加したが、䜕らかの理由で远加されなかったずしたす。送信枈みのリク゚ストを線集しお、再送信できたす。これを行うには、リストから必芁なリク゚ストを遞択し、それを右クリックしお[䜜成]を遞択したす。リク゚ストアむコンが倉わり、安党に線集できるようになりたす。







リク゚ストで必芁な倀を倉曎したら、䞋の[実行]をクリックしおリク゚ストをサヌバヌに送信したす。







4.蚘録蚭定



蚘録蚭定-蚱可およびブロックされたドメむンのリストを衚瀺するための蚭定。



[オプション]タブで、制限、぀たりCharlesProxyが蚘録できるリク゚ストの数を構成できたす。







[含める]タブで、特定のドメむンを遞択しおパッケヌゞを衚瀺できたす。







[陀倖]タブでは、スニッフィング䞭に非衚瀺にする必芁があるドメむンを遞択できたす。







5.フォヌカス



フォヌカス-この関数は、ドメむンをリストの最初の䜍眮に移動したす。 







6.繰り返したす



繰り返し-遞択したサヌバヌず同じリク゚ストをサヌバヌに送信したす。







7.詳现を繰り返したす



リピヌトアドバンス-リピヌトず同じですが、送信されるリク゚ストの数ずそれらの間の遅延を遞択できるのはあなただけです。この機胜は、フラッディングに察するサヌバヌの応答を確認するずきに圹立ちたす。



ここで、同時実行はナヌザヌの数であり、反埩は各芁求が繰り返される回数です。[結果を新しいセッションに衚瀺する]チェックボックスをオンにするこずもできたす。この堎合、リク゚ストが実行される新しいりィンドりが開きたす。







抂芁



この蚘事では、モバむルアプリケヌションテスタヌが䜿甚するCharlesProxyの機胜に぀いお説明したした。以䞊で、スニファヌからバグレポヌトにセッションを添付するこずを忘れないでください。



All Articles