HTTP 및 HTTPS 브라우저 트래픽을 기록하여 후자를 해독


14

컴퓨터의 파일에 모든 HTTP 및 HTTPS 브라우저 통신 (요청, 응답, 전체 헤더 및 본문 포함)을 저장할 수있는 방법이 있습니까?

HTTPS 통신은 해독 된 상태로 저장해야합니다.

이상적으로는 Firefox 또는 Chrome 용 확장 프로그램과 같은 것을 찾고 있습니다.

Linux에서 작동해야합니다.

답변:


4

HAR 은 HTTP Archive이며 정확히 저장하려는 것입니다 (HTTPS 암호화되지 않음 포함).

운 좋게 이것은 이제 모든 주요 브라우저의 기본 기능입니다 (질문을 물었을 때가 아님). 더 이상 타사 확장이 필요하지 않습니다.

Firefox (v41 +)에서 :

  • 네트워크 모드에서 Firefox 개발자 도구 시작 (오른쪽 상단 메뉴> 개발자> 네트워크 또는 ctrl-shift-Q)
  • 목표 시나리오를 재현
  • 그리드를 마우스 오른쪽 버튼으로 클릭하고 "HAR로 모두 저장"을 선택하여 캡처를 저장하십시오.
  • 캡처를 HAR 파일로 내보내기

다른 브라우저:

모든 브라우저의 최신 버전에서 HAR를 쉽게 저장할 수 있습니다.

https://toolbox.googleapps.com/apps/har_analyzer/


6

HTTPFox 는 작업을 수행 할 Firefox 확장입니다.

=== 편집 ===

요청 패널을 마우스 오른쪽 단추로 클릭하고 "모든 행 복사"를 클릭하십시오. 그런 다음 원하는 편집기 (예 : Openoffice 스프레드 시트)에 파일을 저장할 수 있습니다. 내가 제공 한 이미지를 참조하십시오.

대답


나는 그렇게 생각하지 않습니다. 방금 HttpFox 0.8.9를 설치했는데 기록 된 모든 트래픽을 파일에 저장하는 방법을 볼 수 없습니다. 수천 개의 HTTP (S) 요청이 있으며 모든 요청을 저장하기 위해 수천 번의 클릭을 기꺼이하지 않습니다. HttpFox를 사용하여 모든 데이터를 저장하는 방법을 명확히하십시오.
pts

그렇게 생각합니다 내 답변 편집을 참조하십시오.
slotishtype 2016 년

1
@ 슬롯 타입 : 설명 이미지에 감사드립니다. 이전에 모든 행 복사 에 대해 몰랐 으므로 제안한대로 시도했습니다. 제공 한 이미지를 사용하여 쉽게 찾을 수있었습니다. 불행히도 그것은 HTTP 요청과 응답 본문을 복사하지 않으므로 내 질문에 대한 해결책이 아닙니다.
pts

@ 내 나쁜. 방금 알아 차렸어요 파이어 폭스 외부에 무언가를 넣지 않으면 다른 도구를 모릅니다. 행운을 빈다
slotishtype 2016 년

참고로 HttpFox에는 일부 요청을 제외하고 응답 본문을 볼 수 있는 콘텐츠 탭이 있습니다 Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED). 그러나 모든 요청의 응답 본문이 필요하므로 HttpFox는이 문제에 대한 해결책이 될 수 없습니다.
pts

3

Fiddler 는 확장 기능이 아니라 별도의 응용 프로그램 인 경우에도 고려해야 할 사항입니다.


1
죄송합니다. Fiddler가 작동하지 않습니다. Microsoft Windows가 필요하기 때문입니다. 우분투가 있습니다. 원래 요청한대로 브라우저 확장 프로그램은 여러 운영 체제에서 작동 할 수 있습니다.
pts

3

이 답변 이이 작업을 원한다는 것을 알았으므로 OP와 같은 HTTPS 응답 본문을 덤프해야했기 때문에 여기에 적합한 답변이 없습니다. 제가 여기에 온 것처럼 여기에 온 사람들을 위해 제가 찾은 것이 있습니다.

필자는 결국 Firefox 확장이 아닌 mitmproxy에 착륙 했지만 모든 Firefox 트래픽을 기록한다는 목표를 달성했습니다. 그것은 모두 파이썬이므로 함께 설치했습니다 pip install mitmproxy. 원한다면 패키지 관리자를 사용하십시오.

mitmproxy초기 설정 / 디버깅 을 위해 시작한 다음 mitmdump스트림을 작동시키고 수정하면 스트림을 덤프하는 데 사용 되었습니다.

방금 Firefox를 127.0.0.1:8080프록시 서버 로 사용하도록 설정했습니다 (8080은 mitmproxy의 기본 포트 임). 모든 Firefox 트래픽이 mitmproxy를 통해 들어오는 것을 보았습니다. HTTPS 트래픽을 활성화하려면 mitmproxy가 생성 한 인증서를 수락해야합니다. 프록시가 설정되어 있으면 Firefox에서 http://mitm.it 의 "마법 주소"로 이동하여 "기타"버튼을 클릭 한 후 확인란을 선택하십시오. 인증서를 신뢰하고 확인을 누르십시오.

암호화되지 않은 응답 본문을 덤프하려면 매우 간단한 인라인 스크립트 를 사용해야했습니다 .

from libmproxy.model import decoded

def response(context, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        with open("body.txt","ab") as f:
            f.write(flow.response.content)

여기에서 설명 -다운로드 save_response.py하여 함께 사용하십시오 mitmdump -s save_response.py. 에 응답 기관이 쌓이기 시작합니다 body.txt.

mitmproxy에는 필요한 것을 가져 오기 위해 mitmdump 를 지정할 수있는 유용한 필터 가 많이 있습니다 .


2

httpFox, httpScoop (Mac 만 해당) 및 httpWatch (IE, Firefox, Windows 만 해당)는이 작업을 수행하는 데 사용하는 모든 도구입니다. 또한 Fiddler (사전 제안 된대로)를 시도하고 yuo가 Mac을 사용하는 경우 Charles Proxy를 시도 할 수 있습니다. 내가 개인적으로 좋아하는 것은 httpWatch (헤더, 콘텐츠, URL 등을 쉽게 필터링 할 수 있음)이지만 비용이 많이 들기 때문에 옵션이 아닐 수도 있습니다.

또한 HAR 프로젝트 (HAR은 HTTP Archive를 나타냄) 를보고 싶을 수 있으며 http 트랜잭션, 헤더, 컨텐츠 등을 기록하는 표준 기반의 접근 방식입니다. HAR Viewer (Firebug의 폭포 기능을 살펴보면 익숙 할 것입니다). 실제로 Firebug를 사용하여 NetExport를 사용하여 이러한 파일 / 로그를 생성 할 수 있습니다.

FWIW httpScoop 무선 네트워크에 디버깅 / 추적 HTTP 트래픽을위한 좋은 방법입니다, 내가 전에이 시간이 일에 대해 기사를 쓴 : http://blog.adtools.co.uk/trace-debug-mobile-application-http- requests-using-macos /


언급 한 도구 중 기록 된 모든 통신의 덤프를 디스크에 저장할 수있는 도구는 무엇입니까? httpFox는 할 수 없습니다. httpScoop은 Mac 전용이며 Linux 솔루션을 요청했습니다. httpWatch는 Windows 전용이며 Linux 솔루션을 요청했습니다. Fiddler는 Windows 전용이며 Linux 솔루션을 요청했습니다. Charles Proxy는 Mac 전용이며 Linux 솔루션을 요청했습니다. 작동 할 수있는 Firebug + NetExport를 언급 해 주셔서 감사합니다.
pts

Firebug + NetExport는 Linux에서 저에게 매력처럼 작동합니다. 그들은 원하는대로 SSL 트래픽을 암호화되지 않은 채로 내 보냅니다. 귀하의 답변을 기꺼이 받아들이겠습니다. 먼저 다른 모든 제안을 삭제하거나 별도의 답변으로 이동하십시오.
pts

1

Wireshark 를 사용하여 http 프로토콜 계층의 항목을 포함하여 네트워크 패킷을 캡처하여 컴퓨터에 저장할 수 있습니다. 또한 https 정보를 캡처 할 수는 있지만 아무것도 해독하도록 구성 할 수 있을지 의심됩니다.


1
Wireshark를 제안 해 주셔서 감사하지만 HTTPS 스트림의 암호가 해독되지 않으므로 내 질문에 대한 답변으로 쓸모가 없습니다.
pts

2
개인 서버 인증서가있는 경우 Wireshark는 마지막 버전 중 하나부터 SSL 트래픽을 해독 할 수 있습니다 .
cweiske 2016 년

1
개인 서버 인증서가 없습니다.
pts
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.