Dive into Charles Proxy


Hello, Habr! My name is Nastya, I work in the FunCorp mobile app testing team.


- . , , , . .


, , , , Rewrite Breakpoints.


, Funorp Charles Proxy.



, , .


1: , . , .


2: push-. , . , . : , .


? , . 500, , . API, . , , , .


? , .


FunCorp?


Charles Proxy Funorp -. , . , .


. -, , SSL-, . -, , , , .


1. , ,



, Charles , .


  1. Charles Proxy.
  2. SSL- . chls.pro/ssl .
  3. iOS : General -> About -> Trust Certificates. Android 7.0 network_security_config. .
  4. Charles:
    • c Charles Wi-Fi , Wi-Fi , -: IP- , Charles, Server (Hostname), 8888;
    • Charles , Wi-Fi, ;
    • Charles , , (), Port Forwarding . Β« < >Β».
  5. , Charles .
  6. SSL Proxying Settings .

: Charles, , .



1: Charles. , .



2: , .. (Twitter, Facebook, .), β€” Charles .



.


Structure view + Focus Mode

Structure view , , . . . Overview , , , Contents , .


Focused Mode. , , Focus.



, Focus, . Other Hosts.



: Charles , , , .


, . . , , . Sequence view.


Sequence view

Sequence , , . , .


. : , , , , ( ), , IP- , , Charles .


/. , SDK .
New Custom Header Column. .


Focused , Structure view.



β€” Focused . Settings :



, , , , , Focused.




, :


  1. URL.
  2. .
  3. .
  4. , .
  5. .
  6. , .
  7. ( ).
  8. ( ) .

:


  • ;
  • ;
  • 200 , ;
  • (, 500), ;
  • , .

2. API


, API, . developer mode, API, .


, URL , β€” https://api-1111.ifunny.mobi, URL API β€” https://api.ifunny.mobi.
Charles .


Map Remote


Map Remote URL (Map From) (Map To). , ( ).
Map Remote . Map Remote, Tools: Map Remote macOS (⌘βŒ₯M). Charles.




: Charles URL . URL Host, Tab. Protocol, Port, Path, Query .


Rewrite


Rewrite β€” Charles. 30 (Rewrite sets) (Rewrite rules).


Rewrite Tools -> Rewrite ( macOS β€” ⌘βŒ₯R). Rewrite set (1), (2). Rewrite sets , . (Location) , . Location (3).



, (4). , .



Rewrite β€” : (header rules), (URL), (query parameter rules) (body rules).


, , . (Type).


: (Request), (Response) , . -.


Rewrite. Match, , Replace. , β€” -. Match , . Host Body.
Β« Β» (Replace First), Rewrite . .


API Type: Host. :



Match, Location, , Value .


3.


, , . , , , .


, :


  • ;
  • : 500, 503;
  • : 403, 404;
  • ;
  • , .

:


  1. URL, , URL.
  2. β€” Rewrite Response Status.
    . Replace :
  3. 403 Block list ( macOS β€” ⌘βŒ₯B), Allow list ( macOS β€” ⌘βŒ₯W).

Block Lists, Allow Lists


Block List URL, 403 . :



Allow list : URL, . 403 .


4.


, : . , .


, , . ? .


Map Local


Map Local (⌘βŒ₯L). , , . , , , / (json, xml .., ). , Map Local.



Rewrite. Type: Body, Match , . Value Replace, .


/ Rewrite .
, - , -. Match , Β«-Β» API , Replace β€” .


5. .


, WiFi, . , usability , , ?


(β‡§βŒ˜T) Charles :



, , Breakpoints (β‡§βŒ˜K).
: .


Charles β€” . Β« CharlesΒ». Rewrite, .


Breakpoints , . β€” , . β€” . , . .



Rewrite


? , , . , .
- , , :


  1. , .
  2. .
  3. .

, ID . ID, . ID your_var, your_var -.



- , .


1: , , , , .


2: Β« , Rewrite Β».


  • , Rewrite , Overview Notes:



  • Charles Rewrite:



    Window -> Error Log . , : , , Rewrite.



  • , Rewrite . - , , .


  • Location.


  • , - .


  • , -. Charles macOS: , , .



Auto save


Charles β€” , . , . - , . , .


Tools -> Auto Save (⌘βŒ₯A), chls-. , Charles .



Mirror


β€” Mirror (⌘βŒ₯I). , Charles. , . , , Map Local.



. Charles Proxy ( ) , Funorp. - , , , , .


: - .


All Articles