문제

원격 웹 서비스와 대화하는 로컬 애플리케이션 (글을 쓰지 않고 변경할 수없는)이 있습니다. HTTPS를 사용하고 트래픽의 내용을보고 싶습니다.

내가 할 수있는 방법이 있습니까? Windows 시스템을 선호하지만 이것이 쉬워지면 Linux에서 프록시를 설정하게되어 기쁩니다.

내가 고려하고있는 것 :

  1. 내 호스트 파일을 해킹하여 웹 사이트를 리디렉션 (또는 대체 DNS 설정).
  2. 해당 사이트에 HTTPS 서버를 자체 서명 한 (그러나 신뢰할 수있는) 인증서로 설치합니다.
  3. 분명히, Wireshark는 개인 키를 공급하면 HTTPS의 내용을 볼 수 있습니다. 나는 이것을 시도한 적이 없다.
  4. 어쨌든,이 트래픽을 실제 서버로 프록시합니다 (즉, 완전한 중간의 "공격"입니다).

이 소리가 합리적입니까? Wireshark가 실제로 HTTPS 트래픽에서 무엇이 있는지 볼 수 있습니까? 누구든지 저를 적절한 프록시 (및 같은 구성)로 가리킬 수 있습니까?

도움이 되었습니까?

해결책

하다 바이올리니스트 당신이 원하는 것을합니까?

피들러는 무엇입니까?

Fiddler는 컴퓨터와 인터넷간에 모든 HTTP 트래픽을 기록하는 웹 디버깅 프록시입니다. Fiddler를 사용하면 모든 HTTP (S) 트래픽을 검사하고, 중단 점을 설정하고, 수신 또는 나가는 데이터로 "바이올린"을 검사 할 수 있습니다. Fiddler에는 강력한 이벤트 기반 스크립팅 서브 시스템이 포함되어 있으며 .NET 언어를 사용하여 확장 할 수 있습니다.

피들러는 프리웨어이며 Internet Explorer, Mozilla Firefox, Opera 등을 포함하여 거의 모든 응용 프로그램에서 트래픽을 디버깅 할 수 있습니다.

다른 팁

Wireshark는 TLS/SSL 암호화 스트림을 일반 텍스트로 확실히 표시 할 수 있습니다. 그러나 서버의 개인 키가 필요합니다. 개인 키는 선호도에서 SSL 옵션으로 Wireshark에 추가해야합니다. 처음부터 SSL 스트림을 따라갈 수있는 경우에만 작동합니다. SSL 연결이 재사용되면 작동하지 않습니다.

Internet Explorer의 경우 인터넷 옵션 대화 상자를 사용하여 SSL 상태를 지우 면서이 (SSL 세션 재사용)를 피할 수 있습니다. 다른 환경에서는 브라우저를 다시 시작하거나 시스템을 재부팅해야 할 수도 있습니다 (SSL 세션 재사용을 피하기 위해).

다른 주요 제약 조건은 RSA 암호를 사용해야한다는 것입니다. Wireshark는 DFH (Diffie-Hellman)를 사용하는 TLS/SSL 스트림을 디코딩 할 수 없습니다.

위의 제약 조건을 만족시킬 수 있다고 가정하면 "SSL 스트림 팔로우"오른쪽 클릭 명령이 잘 작동합니다.

로컬 애플리케이션에 대한 프록시를 설정해야하며 프록시 설정을 존중하지 않으면 투명한 프록시를 넣고 외부에 나가기 전에 모든 HTTPS 트래픽을 배출하십시오. 이와 같은 것은 중간에 "사람"이 될 수 있습니다. http://crypto.stanford.edu/ssl-mitm

또한 Wireshark와 함께 이것을 보관하는 방법에 대한 간단한 지침이 있습니다. http://predev.wikidot.com/decrypt-ssl-traffic

당신은 또한 고려해야합니다 찰스. 이 답변 당시 제품 설명에서 :

Charles는 HTTP 프록시 / HTTP 모니터 / 리버스 프록시로 개발자가 기계와 인터넷 사이의 모든 HTTP 및 SSL / HTTPS 트래픽을 볼 수 있도록합니다. 여기에는 요청, 응답 및 HTTP 헤더 (쿠키 및 캐싱 정보가 포함되어 있음)가 포함됩니다.

나는 Wireshark를 추천합니다. 다른 트래픽을 따르는 것이 가장 좋은 도구입니다. 그러나 SSL을 켜고 무엇을 볼 수 있는지 잘 모르겠습니다. 아마도 인증서를 제공한다면?

  1. 모니터링하기 위해 HTTPS 프록시를 사용하려면 핸드 셰이크 유형에 따라 다릅니다. 로컬 애플리케이션이 가짜가없는 CA의 서명으로 서버의 인증서를 확인하지 않으면 서버가 로컬 응용 프로그램의 인증서를 확인하지 않습니다 (또는 HTTPS 프록시에서 설정할 수있는 경우) HTTPS 프록시를 설정할 수 있습니다. HTTPS 트래픽을 모니터링하십시오. 그렇지 않으면 HTTPS 프록시로 트래픽을 모니터링하는 것은 불가능하다고 생각합니다.

  2. 시도 할 수있는 또 다른 방법은 HTTPS 라이브러리에서 메시지를 보내고받는 클라이언트 프로그램의 루틴에서 계측 프로브를 추가하는 것입니다. 리버스 엔지니어링 작업이 필요하지만 모든 상황에서는 귀하에게 적합해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top