python 에이전트 mitmproxy 사용 안내

머리말
mitmproxy 는 man-in-the-middle proxy 의 약칭 으로 중개인 에이전트 로 번역 되 어 HTTP/HTTPS 요청 을 차단,수정,저장 할 수 있 습 니 다.명령 행 터미널 형식 으로 나타 나 며,동작 상 Vim 과 유사 하 며,mitmweb 플러그 인 을 제공 하 며,Chrome 브 라 우 저 개발 자 모드 와 유사 한 시각 화 도구 입 니 다.
이것 은 Python 을 기반 으로 개발 한 오픈 소스 도구 입 니 다.가장 중요 한 것 은 Python API 를 제공 하 는 것 입 니 다.Python 코드 를 통 해 요청 과 응답 을 제어 할 수 있 습 니 다.이것 은 다른 도구 가 할 수 없 는 것 입 니 다.이것 도 제 가 이 도 구 를 좋아 하 는 이유 중 하나 입 니 다.
설치 하 다.

sudo pip3 install mitmproxy
시동 을 걸다

mitmproxy
#      
mitmproxy -p 8888
mitmproxy 를 시작 한 후 기본적으로 8080 포트 를 엽 니 다.mitmproxy 명령 은 Windows 플랫폼 을 지원 하지 않 습 니 다.mitmdump 또는 mitmweb 명령 으로 대체 해 야 합 니 다.윈도 시스템 도 홈 페이지 에서 EXE 파일 을 다운로드 해 설치 할 수 있다.
핸드폰 이나 브 라 우 저 에 프 록 시 를 설정 한 후에 패키지 분석 을 할 수 있 습 니 다.브 라 우 저 를 열 어 특정한 사이트 주 소 를 방문 하면 mitmproxy 가 보 이 는 효 과 는 다음 과 같 습 니 다.

현재 136 개의 요청 이 있 습 니 다.현재 16 번 째 요청 을 선 택 했 습 니 다.요청 방법 은 GET 입 니 다.돌아 오 는 상태 코드 는 200 이 고 프 록 시 포트 는 8080 입 니 다.J,K 키 를 통 해 상하 로 서로 다른 요청 으로 전환 할 수 있 습 니 다.돌아 오 는 차 는 현재 선택 한 요청 의 상세 한 정 보 를 볼 수 있 습 니 다.세 부분 을 포함 하여 Request 와 Response,그리고 Detail 을 볼 수 있 습 니 다.

mitmproxy 단축 키

?      
q   /     
b   response body 
f       
k  
j  
h  
l  
space   
enter       
z   
e   
r     
HTTPS 패키지 설정
HTTPS 요청 에 대해 서 는 정상적으로 요청 을 잡 을 수 있 도록 인증 서 를 설치 해 야 합 니 다.인증 서 를 설치 하지 않 은 요청 의 효 과 는 이 렇 습 니 다.

사이트 주소http://mitm.it를 열 고 일치 하 는 플랫폼 을 선택 하여 HTTPS 인증 서 를 다운로드 합 니 다.대응 하 는 절차 에 따라 설치 합 니 다.

mitmweb

$ mitmweb
mitmweb 명령 을 시작 하면 Chrome 개발 자 도구 와 유사 한 웹 페이지 가 있 습 니 다.기능 상 mitmroxy 와 같이 모든 요청 의 상세 한 정 보 를 볼 수 있 습 니 다.요청,응답 을 포함 하고 요청 과 응답 내용 을 수정 할 수 있 습 니 다.필터,재 전송 요청 등 일반적인 기능 도 포함 합 니 다.

mitmdump

$ mitmdump -s script.py
mitmdump 명령 의 가장 큰 특징 은 스 크 립 트 를 사용자 정의 할 수 있다 는 것 입 니 다.스 크 립 트 에서 요청 이나 응답 내용 을 프로 그래 밍 방식 으로 제어 하여 데이터 의 해석,수정,저장 등 을 실현 할 수 있 습 니 다.

# script.py
from mitmproxy import http

def request(flow: http.HTTPFlow) -> None:
  #             
  flow.request.query["mitmproxy"] = "rocks"

def response(flow: http.HTTPFlow) -> None:
  #                 
  flow.response.headers["newheader"] = "foo"
  print(flow.response.text)
브 라 우 저 요청http://httpbin.org/get에서 보 이 는 효과:

너 는 또한 이 링크 들 을 참고 할 수 있다.
  • 공식 문서https://docs.mitmproxy.org/stable/
  • GitHub 주소https://github.com/mitmproxy/mitmproxy
  • 더 많은 스 크 립 트 예https://github.com/mitmproxy/mitmproxy/tree/master/examples/simple
  • 이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기