[google-chrome] Chrome에서 WebSocket 디버깅

WebSocket을 통과하는 “트래픽”을 볼 수있는 방법이나 확장이 있습니까? 디버깅 목적으로 클라이언트 및 서버 요청 / 응답을보고 싶습니다.



답변

Chrome 개발자 도구는 이제 WebSocket 프레임을 나열하고 프레임이 바이너리가 아닌 경우 데이터를 검사 할 수 있습니다.

방법:

  1. Chrome 개발자 도구 시작
  2. 페이지를로드하고 WebSocket 연결을 시작하십시오
  3. 네트워크 탭을 클릭하십시오 .
  4. 왼쪽의 목록에서 WebSocket 연결 을 선택하십시오 ( “101 스위칭 프로토콜”상태가 됨).
  5. 메시지 하위 탭을 클릭 하십시오. 이진 프레임은 길이와 타임 스탬프와 함께 표시되며 마스크 여부를 나타냅니다. 텍스트 프레임에는 페이로드 컨텐츠도 포함됩니다.

WebSocket 연결이 이진 프레임을 사용하는 경우 Wireshark를 사용하여 연결을 디버깅 할 수 있습니다. Wireshark 1.8.0 은 WebSockets에 대한 dissector 및 필터링 지원을 추가했습니다. 이 다른 답변 에서 대안을 찾을 수 있습니다 .


답변

Chrome Canary 및 Chromium에는 이제 WebSocket 메시지 프레임 검사 기능이 있습니다. 다음은 빠르게 테스트하는 단계입니다.

  1. websocket.org 사이트 에서 호스팅되는 WebSocket Echo 데모로 이동 하십시오.
  2. Chrome 개발자 도구를 켭니다.
  3. 네트워크를 클릭 하고 개발 도구가 표시하는 트래픽을 필터링하려면 웹 소켓을 클릭하십시오 .
  4. 에코 데모에서 연결을 클릭 하십시오 . Google 개발자 도구의 헤더 탭에서 WebSocket 핸드 셰이크를 검사 할 수 있습니다.
  5. 에코 데모에서 보내기 버튼을 클릭하십시오.
  6. 이 단계는 중요합니다 . Chrome 개발자 도구에서 WebSocket 프레임을 보려면 이름 / 경로 아래에서 WebSocket 연결을 나타내는 echo.websocket.org 항목을 클릭하십시오. 그러면 오른쪽의 기본 패널이 새로 고쳐지고 WebSocket 프레임 탭이 실제 WebSocket 메시지 내용과 함께 표시됩니다.

참고 : 새 메시지를 보내거나받을 때마다 왼쪽의 echo.websocket.org 항목을 클릭하여 메인 패널을 새로 고쳐야합니다.

나는 또한 게시 스크린 샷과 비디오로 단계를 .

필자가 최근에 출판 한 책인 HTML5 WebSocket에 대한 최종 안내서 에는 Chrome Dev Tools, Chrome net-internals 및 Wire Shark를 포함한 다양한 검사 도구에 대한 부록이 있습니다.


답변

Chrome에서 지속적으로 변경되는 것처럼 보이지만 현재 작동하는 내용은 다음과 같습니다. 🙂

  • 먼저 빨간색 레코드 버튼을 클릭해야합니다. 그렇지 않으면 아무 것도 얻지 못합니다.

  • WS이전에는 눈치 채지 못했지만 웹 소켓 연결을 필터링합니다.

  • 그것을 선택하면 오류 메시지 등을 표시하는 프레임을 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오


답변

웹 소켓에 액세스하는 페이지가없는 경우 Chrome 콘솔을 열고 JavaScript를 다음과 같이 입력 할 수 있습니다.

var webSocket = new WebSocket('ws://address:port');
webSocket.onmessage = function(data) { console.log(data); }

그러면 웹 소켓이 열리므로 네트워크 탭과 콘솔에서 웹 소켓을 볼 수 있습니다.


답변

다른 답변은 가장 일반적인 시나리오를 다룹니다. 프레임의 내용을 봅니다 (개발자 도구-> 네트워크 탭-> 웹 소켓 연결을 마우스 오른쪽 버튼으로 클릭-> 프레임).

현재 어떤 소켓이 열려 있거나 유휴 상태인지를 확인하거나 닫을 수있는 것과 같은 더 많은 정보를 알고 싶다면이 URL이 유용하다는 것을 알 수 있습니다

chrome://net-internals/#sockets


답변

Chrome (개발자 도구-> 네트워크 탭을 통해), Wireshark 및 Fiddler (로그 탭을 통해)의 세 가지 옵션이 있지만 모두 기본입니다. 트래픽이 매우 많거나 각 프레임이 매우 크면 디버깅에 사용하기가 매우 어려워집니다.

그러나 Fiddler를 FiddlerScript와 함께 사용하여 HTTP 트래픽을 감염시키는 것과 같은 방식으로 WebSocket 트래픽을 검사 할 수 있습니다. 이 솔루션의 장점은 여러 검사기 (HexView, JSON, SyntaxView), 패킷 비교 및 ​​패킷 찾기 등과 같은 Fiddler의 다른 많은 기능을 활용할 수 있다는 것입니다.WebSocket 트래픽 검사

Fiddler (FiddlerScript 사용)를 사용하여 WebSocket 트래픽을 디버깅 / 검사하는 방법을 보여주는 CodeProject에 대해 최근에 작성한 기사를 참조하십시오. http://www.codeproject.com/Articles/718660/Debug-Inspect-WebSocket-traffic-with-Fiddler


답변

Chrome이 많이 변경 되었으므로이 게시물을 게시하고 있으며 최신 답변이 없습니다.

  1. 개발 도구 열기
  2. 페이지 새로 고침 (네트워크 탭에서 WS 연결을 캡처하도록)
  3. 요청을 클릭하십시오
  4. “프레임”하위 탭을 클릭하십시오
  5. 다음과 같은 것이 보일 것입니다 :

여기에 이미지 설명을 입력하십시오