Mengendus paket UDP di port lokal

12

Saya ingin tahu apa isi aplikasi paket satu "Perencana APM" kirim ke "MAVProxy" lainnya. Saya tahu mereka berkomunikasi melalui port UDP 14550. Saya mencoba menggunakan tcpdump dengan menjalankan perintah berikut

tcpdump -u port 14550

dan

tcpdump udp

dan

netstat -uanpc | grep 14550

tetapi tidak satupun dari mereka yang menunjukkan kepada saya apa yang sebenarnya dipertukarkan oleh kedua aplikasi ini. Saya memerlukan sesuatu seperti cutecom untuk memonitor koneksi UDP. Apakah ada yang seperti ini? Saat saya menjalankan perintah

netstat -lnpuc

, ini menunjukkan berikut di antara outputnya

udp 5376 0 0.0.0.0:14550 0.0.0.0:* 23598/apmplanner2 
Salahuddin Ahmed
sumber
Sudahkah Anda mempertimbangkan program GUI yang dipanggil wireshark? Ini akan membedah paket-paket dan menunjukkan kepada Anda informasi yang dikirim oleh masing-masing, dan Anda kemudian dapat menggunakan udp.port == 14550atau serupa dengan perintah penyaringan untuk hanya menunjukkan lalu lintas itu. Masalahnya adalah, Anda harus mengumpulkan apa yang terjadi bolak-balik berdasarkan isi paket. Tapi kedengarannya seperti ini pada akhirnya apa yang ingin Anda lakukan sendiri ... (Hanya mengendus loantarmuka jika Anda melakukan ini - itulah kisaran 'lokal' 127. *. *. * Dan IPv6 lokal secara internal pada sistem Anda)
Thomas Ward
Terima kasih atas komentar Anda. Saya telah menginstal Wireshark dan diketik udp.port == 14550di Apply a display filtermengajukan tapi tidak ada yang muncul. Saya juga mencoba udp port 14550di Enter a capture filterlapangan. Juga ketika saya menjalankan perintah netstat -lnpuc, itu menunjukkan berikut di antara hasilnyaudp 5376 0 0.0.0.0:14550 0.0.0.0:* 23598/apmplanner2
Salahuddin Ahmed
Bagi saya sepertinya tidak perlu mendengarkan secara lokal. Sudahkah Anda mencoba melacak pada antarmuka lain untuk melihat apakah itu berkomunikasi keluar?
Thomas Ward
1
Sekarang berhasil. Saya harus lari wiresharkdengan sudo. Terima kasih banyak
Salahuddin Ahmed

Jawaban:

17

tcpdump mendukung penangkapan UDP . contoh penggunaan:

tcpdump -n udp port 14550

Edit

Karena aplikasi Anda berkomunikasi dengan antarmuka lo, Anda harus menentukan antarmuka seperti ini:

tcpdump -i lo -n udp port 14550

perintah ini hanya mencetak tajuk. jika Anda ingin mencetak bagian data paket dalam hex dan ASCII gunakan ini:

tcpdump -i lo -n udp port 14550 -X

atau jika Anda ingin menyimpan paket ke file dan melihat isinya di Wireshark gunakan ini:

tcpdump -i lo -n udp port 14550 -w packets.pcap
Ghasem Pahlavan
sumber
Saya mencoba perintah ini tetapi tidak menangkap paket. Ini menghasilkan yang berikut listening on wlo1, link-type EN10MB (Ethernet), capture size 262144 bytesdan tidak ada yang lain!
Salahuddin Ahmed
@SalahuddinAshraf Saya memperbaikinya :)
Ghasem Pahlavan
terima kasih, ini berfungsi sekarang. Ini menampilkan sumber, tujuan dan panjang data yang ditransfer. Apakah mungkin membuatnya menampilkan data yang ditransfer sendiri?
Salahuddin Ahmed
@SalahuddinAshraf ya. Anda harus menambahkan opsi -A ke tcpdump untuk melihat data. Anda juga dapat mengirim paket ke file dan melihat paket di Wireshark oleh-w packets.pcap
Ghasem Pahlavan
Pahlvan, Luar Biasa. Sekarang saya bisa melihat datanya. Apakah mungkin membuat data ditampilkan dalam hex? Terima kasih banyak
Salahuddin Ahmed
1

Anda dapat menggunakan ngrep . Contoh:

# Any UDP from any local interfaces to 91.22.38.4:12201
ngrep -W byline -d any udp and host 91.22.38.4 and dst port 12201
Alexander Yancharuk
sumber