跳转至

MITMProxy#

Installation#

  1. Install ca-certs on Linux
  2. Install ca-certs on macOS

    sudo security add-trusted-cert -d -p ssl -p basic -k /Library/Keychains/System.keychain ~/.mitmproxy/mitmproxy-ca-cert.pem
    
  3. Capture HTTP Traffic with MITMProxy

Usage Examples#

  • Capture gh-cli packets:

    1. Make sure mitmweb started

      % mitmweb
      [13:36:23.832] HTTP(S) proxy listening at *:8080.
      [13:36:23.834] Web server listening at http://127.0.0.1:8081/
      ...
      
    2. Now run gh command via HTTPS proxy

      HTTPS_PROXY=http://127.0.0.1:8080 gh repo list
      
    3. Go to a browser, open http://127.0.0.1:8081/ to see the results.

  • Capture chisel client packets:

    1. Run mitmweb with socks mode at a port you prefer, e.g.

      % mitmweb --mode socks5@8080
      [13:37:33.413] SOCKS v5 proxy listening at *:8080.
      [13:37:33.415] Web server listening at http://127.0.0.1:8081/
      ...
      
    2. Run chisel client with --proxy:

      % chisel client --proxy socks5h://127.0.0.1:8080 https://XXXXXXXXXX 0.0.0.0:1088
      [yyyy/mm/dd HH:MM:SS] client: Connecting to wss://XXXXXXXXXX:443 via socks5h://127.0.0.1:8080
      [yyyy/mm/dd HH:MM:SS] client: tun: proxy#1088=>0.0.0.0:1088: Listening
      [yyyy/mm/dd HH:MM:SS] client: Connected (Latency 171.816963ms)
      ...
      
    3. Go to a browser, open http://127.0.0.1:8081/ to see the results.