두 프록시를 연결하는 방법 또는: 한 프로세스에서 로컬 프록시로 네트워크 트래픽을 리디렉션하는 방법

두 프록시를 연결하는 방법 또는: 한 프로세스에서 로컬 프록시로 네트워크 트래픽을 리디렉션하는 방법

시나리오는 다음과 같습니다. Chrome이 요청을 매핑하도록 설정된 경우 Chrome의 요청과 실제 서버의 응답을 기록하는 프록시가 있습니다. 이 모든 것을 하나의 파일에 기록합니다.특별한 형식이므로 이 서비스를 다른 서비스로 대체하는 것은 불가능합니다. 프록시는 Python을 통해 요청을 수신 127.0.0.1:80하고 127.0.0.443네트워크에 직접 보냅니다(소스 코드는 위 링크에서 찾을 수 있음).

문제는 응답을 기록하기 위해 Chrome을 통해 일반적인 이전 사이트에 액세스하고 싶지 않다는 것입니다. 몇 가지 방법으로 서버를 통해 응답을 수정해야 합니다.중개 대리인이 목적에 적합하며 이 프록시를 사용하는 클라이언트에 필요한 특정 항목을 수정하기 위해 루트 인증서로 설정했습니다.

내 문제는 하나만 사용할 수 있다는 것입니다또는또 다른. 누구나:

  • Chrome은 요청을 전달할 수 있습니다 ==> 프록시 로그, 요청 전송 ==> 네트워크(mitm 프록시 우회) 또는
  • Chrome은 요청을 전달할 수 있습니다 ==> mitm 프록시는 요청을 보내고 ==> 네트워크를 통해 Chrome이 원하는 방식으로 응답을 조작합니다(그러나 로깅 프록시는 우회함).

로깅 에이전트가 중간자 에이전트의 변경 응답을 기록하도록 두 가지를 함께 연결하는 데 문제가 있습니다. 한 가지 방법은 Chrome 지도 요청 ==> 프록시를 기록하고(cli 플래그를 통해) 시스템 수준 프록시 설정을 설정하여 모든 것을 mitm 프록시에 매핑하는 것이라고 생각했지만 이는 Chrome 설정을 재정의하고 Agent of Record를 우회합니다. 그것이 타당하다면 두 에이전트가 나란히 서 있는 것이 아니라 한 에이전트가 다른 에이전트 앞에 서 있는 것이 어려운 것 같습니다.

그래서 제가 정말로 알아야 할 것은: 기록된 응답을 조작할 수 있도록 트래픽을 mitm 프록시로 전달하는 대신 네트워크에 직접 요청을 보내는 로깅 프록시를 만드는 방법이 있습니까?

프로세스 등에서 모든 트래픽을 리디렉션하는 것 외에는 로깅 에이전트를 크게 수정하지 않고도 이 작업을 수행할 수 있기를 바랍니다. 미리 감사드립니다 :)

관련 정보