Perbarui:
Seperti yang ditunjukkan oleh Michal di komentar:Dari tcpflow versi 1.3 opsi -e digunakan untuk menentukan nama pemindai. Jadi kesalahan "Nama pemindai tidak valid '8983'" dicetak. Perintah yang benar adalah
sudo tcpflow -i any -C -J port 1234
(juga -J
telah diubah menjadi -g
dalam rilis terbaru)
Terima kasih kepada yves karena mengarahkan saya ke "tcpflow". Inilah baris perintahnya:
tcpflow -i any -C -e port 1234 # as root, or with sudo
Ini melakukan semua yang saya inginkan
- menampilkan byte-untuk-byte data saat masuk
- tidak menampilkan metadata lainnya
- mendengarkan semua antarmuka (sehingga menangkap data yang berasal dari dalam dan luar mesin)
Kode "-C
" memberitahunya untuk membuang ke konsol alih-alih file. "-e
" mengaktifkan warna sehingga client->server dan server->client berbeda secara visual.
Saya menginstal tcpflow hanya dengan melakukan
sudo apt-get install tcpflow
socat adalah alat yang Anda minta. Itu dapat bertindak sebagai proxy:
$socat -v TCP-LISTEN:4444 TCP:localhost:1234
hello
maka aplikasi Anda harus menghubungkan port 4444 daripada langsung terhubung ke 1234
Opsi -v adalah untuk socat untuk mencetak semua yang diterimanya pada kesalahan standar (stderr).
Pembaruan:
Jika socat tidak tersedia di komputer Anda, Anda masih dapat menirunya dengan netcat:
$netcat -l -p 4444 | tee output_file | netcat localhost 1234
peringatan:opsi ini searah. instance netcat kedua akan mencetak respons apa pun dari server Anda ke output standar. Anda masih dapat melakukannya:
$mkfifo my_fifo
$netcat -l -p 4444 < my_fifo | tee output_file | netcat localhost 1234 > my_fifo
Coba Wireshark. Ini adalah penganalisis protokol luar biasa yang ditargetkan untuk Linux dan Windows.