Apakah ada cara, atau ekstensi, yang memungkinkan saya menonton "traffic" melalui WebSocket? Untuk keperluan debugging, saya ingin melihat permintaan / tanggapan klien dan server.
Apakah ada cara, atau ekstensi, yang memungkinkan saya menonton "traffic" melalui WebSocket? Untuk keperluan debugging, saya ingin melihat permintaan / tanggapan klien dan server.
Jawaban:
Alat pengembang Chrome sekarang memiliki kemampuan untuk membuat daftar frame WebSocket dan juga memeriksa data jika frame tersebut bukan biner.
Proses:
Jika koneksi WebSocket Anda menggunakan frame biner maka Anda mungkin masih ingin menggunakan Wireshark untuk men-debug koneksi. Wireshark 1.8.0 menambahkan dukungan dissector dan filtering untuk WebSockets. Alternatif dapat ditemukan dalam jawaban lain ini .
Chrome Canary dan Chromium sekarang memiliki fitur inspeksi bingkai pesan WebSocket. Berikut langkah-langkah untuk mengujinya dengan cepat:
Catatan : Setiap kali Anda mengirim atau menerima pesan baru, Anda harus menyegarkan panel utama dengan mengeklik entri echo.websocket.org di sebelah kiri.
Saya juga memposting langkah - langkah dengan tangkapan layar dan video .
Buku saya yang baru-baru ini diterbitkan, The Definitive Guide to HTML5 WebSocket , juga memiliki lampiran khusus yang membahas berbagai alat inspeksi, termasuk Alat Dev Chrome, internal internet Chrome, dan Wire Shark.
Mereka tampaknya terus mengubah hal-hal di Chrome, tapi inilah yang bekerja sekarang :-)
Pertama, Anda harus mengklik tombol rekam merah atau Anda tidak akan mendapatkan apa-apa.
Saya tidak pernah memperhatikan WS
sebelumnya tetapi menyaring koneksi soket web.
Pilih dan kemudian Anda dapat melihat bingkai yang akan menampilkan pesan kesalahan kepada Anda, dll.
Jika Anda tidak memiliki halaman yang mengakses websocket, Anda dapat membuka konsol Chrome dan mengetikkan JavaScript di:
var webSocket = new WebSocket('ws://address:port');
webSocket.onmessage = function(data) { console.log(data); }
Ini akan membuka soket web sehingga Anda dapat melihatnya di tab jaringan dan di konsol.
Jawaban lain mencakup skenario yang paling umum: tonton konten frame (Developer Tools -> Network tab -> Klik kanan pada koneksi websocket -> frames).
Jika Anda ingin mengetahui lebih banyak informasi, seperti soket mana yang saat ini terbuka / idle atau dapat menutupnya, Anda akan menemukan url ini berguna
chrome://net-internals/#sockets
Anda memiliki 3 opsi: Chrome (melalui Alat Pengembang -> tab Jaringan), Wireshark, dan Fiddler (melalui tab Log), namun semuanya sangat mendasar. Jika Anda memiliki volume lalu lintas yang sangat tinggi atau setiap bingkai sangat besar, menjadi sangat sulit untuk menggunakannya untuk debugging.
Namun Anda dapat menggunakan Fiddler dengan FiddlerScript untuk memeriksa lalu lintas WebSocket dengan cara yang sama seperti Anda menghargai lalu lintas HTTP. Beberapa keuntungan dari solusi ini adalah Anda dapat memanfaatkan banyak fungsi lain di Fiddler, seperti beberapa inspektur (HexView, JSON, SyntaxView), membandingkan paket, dan menemukan paket, dll.
Silakan merujuk ke artikel saya yang baru-baru ini ditulis pada CodeProject, yang menunjukkan kepada Anda bagaimana Debug / Memeriksa lalu lintas WebSocket dengan Fiddler (dengan FiddlerScript). http://www.codeproject.com/Articles/718660/Debug-Inspect-WebSocket-traffic-with-Fiddler
Jawaban singkat untuk Chrome Versi 29 dan lebih tinggi:
Alat pengembang Chrome memungkinkan untuk melihat permintaan jabat tangan yang tetap tertunda selama koneksi dibuka, tetapi Anda tidak dapat melihat lalu lintas sejauh yang saya tahu. Namun Anda bisa mengendusnya misalnya.
Saya telah menggunakan ekstensi Chrome yang disebut Simple WebSocket Client v0.1.3 yang diterbitkan oleh pengguna hakobera. Ini sangat sederhana dalam penggunaannya di mana ia memungkinkan membuka websockets pada URL yang diberikan, mengirim pesan dan menutup koneksi soket. Ini sangat minimalis.