답변1
노력하다미트프로시.
mitmproxy는 SSL을 지원하는 HTTP 중간자 프록시입니다. 트래픽을 동적으로 검사하고 편집할 수 있는 콘솔 인터페이스를 제공합니다.
mitmdump는 mitmproxy의 명령줄 버전으로, 기능은 동일하지만 사용자 인터페이스가 없습니다. HTTP용 tcpdump를 생각해 보세요.
특징
- HTTP 요청과 응답을 가로채서 즉시 수정합니다.
- 나중에 재생하고 분석할 수 있도록 전체 HTTP 대화를 저장하세요.
- HTTP 세션을 재생하기 위한 클라이언트입니다.
- 서버에서 이전에 기록된 HTTP 응답을 재생합니다.
- 역방향 프록시 모드는 트래픽을 지정된 서버로 전달합니다.
- Python을 사용하여 HTTP 트래픽에 대한 스크립트 변경을 수행합니다.
- 차단에 사용되는 SSL 인증서는 동적으로 생성됩니다.
스크린샷
예
예시를 세웠어요지킬 부트로더애플리케이션이 내 로컬 호스트의 포트 4000에서 수신 대기 중입니다. 트래픽을 가로채기 위해 다음을 수행합니다.
% mitmproxy --mode reverse:http://localhost:4000 -p 4001
그런 다음 내 웹 브라우저( )에서 포트 4001의 mitmproxy에 연결하면 http://localhost:4001
결과는 mitmproxy입니다.
그런 다음 결과를 선택하여 해당 GET
결과와 관련된 헤더 정보를 볼 수 있습니다 GET
.
인용하다
답변2
mitmproxy
/mitmdump
tcpdump
HTTPS에 해당하는 것은 mitmdump
. 다음과 같이 진행하세요:
- 설치
mitmproxy
패키지(macOSbrew install mitmproxy
: ). 설치하다mitmproxy CA 인증서다음 명령을 전달하십시오.
$ mitmdump --mode reverse:http://mitm.it/ -p 8080 $ wget --content-disposition http://localhost:8080/cert/pem $ open mitmproxy-ca-cert.pem # Open, install and mark the certificate as trusted.
이제 역방향 프록시를 테스트하는 방법에 대한 간단한 테스트는 다음과 같습니다.
- 달리기:
mitmdump --mode reverse:https://example.com/ -p 4433
. 다른 셸에서 다음을 실행합니다
curl https://localhost:4433
.이제 페이지 소스 코드가 표시되고
mitmdump
명령은 다음과 같은 출력을 생성해야 합니다.Proxy server listening at http://*:4433 [::1]:49446: clientconnect [::1]:49446: GET https://example.com/ HTTP/2.0 << 200 1.24k [::1]:49446: clientdisconnect
모든 트래픽에 대해 다음을 실행하세요. mitmdump
또는 mitmproxy
.
바라보다:mitmproxy
문서 페이지자세한 내용은.
찰스 프루
macOS를 사용하는 경우에도 다음이 있습니다.찰스 프루호스트 간의 모든 HTTP 및 SSL/HTTPS 트래픽을 볼 수 있는 애플리케이션(GUI)입니다.
답변3
어떤 경우에는 들어오는 HTTP 요청을 수락하고 나가는 HTTPS 요청을 만드는 프록시를 사용할 수 있습니다. 예를 들어, github.com 간의 트래픽을 캡처하고 싶습니다 git
. 나는 사용했다미트프로시:
mitmproxy -s httpser.py
어디 httpser.py
:
def request(context, flow):
flow.request.scheme = 'https'
flow.request.port = 443
그런 다음 git
다음과 같이 실행합니다.
export http_proxy="http://127.0.0.1:8080/"
git clone http://github.com/oxplot/difftr
이제 wireshark
Listen on을 사용하면 localhost
일반 트래픽을 캡처할 수 있습니다. 프록시가 없으면 github은 git
HTTPS를 사용하도록 리디렉션됩니다.