Saya tidak yakin tentang sintaks yang tepat untuk tcpdump... pada kenyataannya, saya telah menandai pertanyaan ini sebagai favorit karena saya ingin tahu! Tetapi sebagai solusi alternatif, Anda bisa mencoba menggunakannya tcpflow. Ini pada dasarnya bekerja dengan cara yang sama, tetapi mencetak output ASCII jauh lebih baik; itu mengecualikan header dan paket cetakan secara berurutan sebagai aliran, sehingga lebih mudah untuk membaca dan mengikuti pada waktu daripada tcpdump.
Terkadang Anda tidak memiliki alat lain dan untuk mengintip ke dalam payload ini sudah cukup. Ini tidak baik jika Anda membutuhkan muatan yang tepat untuk injeksi atau analisis yang tepat, tentu saja.
Jika Anda hanya membutuhkan bagian ASCII, Anda dapat menggunakan: tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'atau dengan ngrep:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'
Jawaban:
Seperti yang disarankan Josh, tcpflow hanya dapat mencetak data paket TCP ke file atau STDOUT. Anda dapat mengirimkan tcpdump ke tcpflow seperti ini:
Untuk hanya melihat satu sisi percakapan, Anda dapat menggunakan filter untuk tcpdump, mis
dst port 23
.sumber
tcpflow
sebagai root?Saya tidak yakin tentang sintaks yang tepat untuk
tcpdump
... pada kenyataannya, saya telah menandai pertanyaan ini sebagai favorit karena saya ingin tahu! Tetapi sebagai solusi alternatif, Anda bisa mencoba menggunakannyatcpflow
. Ini pada dasarnya bekerja dengan cara yang sama, tetapi mencetak output ASCII jauh lebih baik; itu mengecualikan header dan paket cetakan secara berurutan sebagai aliran, sehingga lebih mudah untuk membaca dan mengikuti pada waktu daripadatcpdump
.sumber
Saya merasa solusi yang paling elegan adalah dengan membuang tcpdump. Tidak ada pipa dalam bentuk apa pun:
Dan itu saja.
sumber
Cara cepat dan kotor untuk melakukan ini adalah memfilter output melalui string:
Terkadang Anda tidak memiliki alat lain dan untuk mengintip ke dalam payload ini sudah cukup. Ini tidak baik jika Anda membutuhkan muatan yang tepat untuk injeksi atau analisis yang tepat, tentu saja.
sumber
Jika Anda hanya membutuhkan bagian ASCII, Anda dapat menggunakan:
tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'
atau dengan ngrep:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'
sumber
Saya memiliki masalah yang sama minggu lalu - saya menggunakan wireshark gui dan melakukan "copy ascii yang dapat dibaca" untuk paket yang menarik.
Saya (berhasil) mencoba menjabarkan masalah dengan permintaan http ke layanan web dan XML-jawabannya.
sumber