Categorygithub.com/jonascheng/mitmproxy-demo
repository
0.0.0-20221228015916-9412c2756e98
Repository: https://github.com/jonascheng/mitmproxy-demo.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

To find a common way to get source IP no matter direct connection, via forward proxy, via MITM proxy, or NAT

How to test?

  1. vagrant up

  2. ssh to server

    cd /vagrant
    make setup-server-key
    make run-greeter-server
    
  3. ssh to proxy

    • Forward proxy
    cd /vagrant
    make run-squidproxy
    
    • MITM proxy
    cd /vagrant
    make run-mitmproxy
    
  4. ssh to client

    cd /vagrant
    make setup-server-key
    make run-greeter-server
    

Test result

Bridge Network

Client (172.31.1.10) > [(opt) Proxy (172.31.1.20) >] Server (172.31.1.30)

Use Casepeerx-real-ipx-forwarded-hostx-forwarded-forauthority
DIRECT GRPC172.31.1.10N/AN/AN/A172.31.1.30:8081
DIRECT HTTP127.0.0.1N/A172.31.1.30:8080172.31.1.10172.31.1.30
FWProxy GRPC172.31.1.20N/AN/AN/A172.31.1.30:8081
FWProxy HTTP127.0.0.1N/A172.31.1.30:8080172.31.1.20172.31.1.30
MITM GRPC172.31.1.20N/AN/AN/A172.31.1.30:8081
MITM HTTP127.0.0.1N/A172.31.1.30:8080172.31.1.20172.31.1.30
NGXProxy GRPC
NGXProxy HTTP127.0.0.1N/A172.31.1.30:8080172.31.1.20172.31.1.30

NAT Network (1.160.105.176)

Client (172.31.1.10) > [(opt) Proxy (172.31.1.20) >] Server (44.204.136.57)

Use Casepeerx-real-ipx-forwarded-hostx-forwarded-forauthority
DIRECT GRPC1.160.105.176N/AN/AN/A44.204.136.57:8081
DIRECT HTTP127.0.0.1N/A44.204.136.57:80801.160.105.17644.204.136.57
FWProxy GRPC1.160.105.176N/AN/AN/A44.204.136.57:8081
FWProxy HTTP127.0.0.1N/A44.204.136.57:80801.160.105.17644.204.136.57
MITM GRPC1.160.105.176N/AN/AN/A44.204.136.57:8081
MITM HTTP127.0.0.1N/A44.204.136.57:80801.160.105.17644.204.136.57
NGXProxy GRPC
NGXProxy HTTP127.0.0.1N/A44.204.136.57:80801.160.105.17644.204.136.57