Saya punya layanan, menjaga port tertentu tetap terbuka.
Saya mendapatkan data untuk itu, yang saya tidak harapkan atau tidak ingin dapatkan, dan saya mencoba untuk menunjukkan dengan tepat sumber data ini. Jadi bagaimana saya bisa menemukan proses mana yang mengirimkan data ke port tertentu, sebagai lawan dari proses mana yang mendengarkan.
sumber
Coba ikuti:
Atau:
Untuk menghindari hasil localhost:
Untuk mencantumkan hanya koneksi ESTABLISHED:
sumber
Bergantung pada jenis koneksi yang dibangunnya untuk mengirim data, salah satu dari pendekatan ini akan membawa Anda ke suatu tempat.
Gunakan
tcpdump port 1234
untuk memperoleh data yang dikirim ke port ini. Anda dapat menggunakan program seperti Wireshark untuk menganalisisnya di komputer lain (ditangkap ke file menggunakan-w
opsi). Atau, gunakan Wireshark secara langsung.Dalam kasus itu membangun dan tetap membuka koneksi tcp / udp yang dapat Anda gunakan
netstat
untuk menemukan IP jarak jauh dari koneksi.Tuliskan soket terbuka dari suatu proses seperti dalam jawaban yang diberikan oleh @StephaneChazelas.
sumber
Anda dapat menggunakan
sockstat
perintah untuk menemukan proses yang memulai koneksi ke layanan Anda pada host lokal.Cocokkan semua koneksi sumber ke tujuan Anda. Ini berfungsi dengan baik untuk soket TCP / UDP / UNIX.
sumber
Pada Solaris, menjalankan pfile pada semua proses harus menunjukkan proses mana yang memiliki koneksi terbuka. Ini membutuhkan pengarsipan yang cermat, mungkin menggunakan opsi -A, -B ggrep ...
Di Linux,
netstat -anp --inet
akan berfungsi, bahkan tanpa lsof diinstal. (jatuhkan juga--inet
untuk mendapatkan soket domain Unix)sumber