Saya mencoba Wireshark. Ini menunjukkan sumber dan alamat IP tujuan, nomor port, dan isi paket, tetapi tidak ada yang tentang aplikasi mana yang menggunakan paket.
Rupanya tcpdump serupa; data jaringan tetapi tidak ada info tentang aplikasi mana.
Wireshark menunjukkan aktivitas yang jauh lebih daripada yang saya harapkan (termasuk IP tujuan di luar jaringan rumah saya) ketika browser, email, dan program terkait internet lainnya yang diketahui ditutup dan komputer lain mati. Tetapi tanpa mengetahui program mana yang mengirim atau menerima, sulit untuk melakukan apa-apa.
Saya menggunakan Ubuntu 11.04.
Saya tidak mencari sniffer jaringan umum; Saya hanya ingin melihat apa yang masuk dan keluar dari mesin yang sama di mana sniffer berjalan.
Apakah ada yang seperti itu di Linux? Bahkan jika itu membutuhkan uang? Atau apakah saya tidak tahu bagaimana atau di mana mencari nama aplikasi di Wireshark?
sumber
:-)
Jawaban:
Saya pikir sebagian besar sniffer tidak berusaha untuk menentukan apakah mesin yang sedang mereka jalankan adalah titik akhir untuk setiap arus lalu lintas yang mereka lihat (berlawanan dengan, katakanlah, melihat bingkai mesin lain melalui hub) atau port mirror pada sakelar, atau pada saluran nirkabel, atau melihat bingkai bahwa mesin saat ini hanya menjembatani / routing / NAT-gatewaying). Jadi kebanyakan sniffer tidak repot-repot melihat apakah proses atau nama aplikasi dapat ditemukan, karena itu hanya dapat ditemukan jika mesin lokal adalah titik akhir dari lalu lintas.
Ini tidak semudah membuat sniffer melakukannya untuk Anda, tetapi inilah solusinya:
Karena Anda tahu alamat mana yang milik mesin lokal Anda, setelah Anda menemukan nomor port lokal, Anda dapat mencari nama proses menggunakan nomor port yang menggunakan
lsof
seperti ini:... di mana "$ PORT" adalah nomor port yang Anda pedulikan.
sumber
sudo lsof -lMnP -i4 +c15
- itu bisa diulang untuk mengumpulkan data juga.Saya telah melihat ini beberapa waktu lalu dan tidak menemukan apa pun.
Ada teknik skrip kasar yang bisa Anda lakukan berdasarkan
netstat
.Itu bergantung pada detail (seperti yang telah Anda amati) bahwa tidak perlu mengendus semua lalu lintas - yang ingin Anda lihat adalah
connection table
id program yang terkait .Beginilah cara kerja opsi,
Ini berfungsi cukup cepat dan dapat dilingkarkan melalui skrip untuk terus mencatat data (dicolokkan ke cron?).
Anda bisa menyaring data untuk mendapatkan database dari
Kelemahannya adalah, karena tidak ada entri koneksi UDP (seperti yang dipertahankan TCP), itu akan sangat mengendus untuk aplikasi UDP.
Saya benar-benar ingin tahu apakah ada alat yang ada melakukan ini :-) Ini proyek yang bagus.
Saya pikir saya menulis skrip python pada baris-baris ini di masa lalu.
sumber
netstat
danlsof
cukup sejalan dengan filosofi Unix. Sniffing dan Firewalling membutuhkan tindakan intrusif. Mencari tabel koneksi untuk id proses relatif pasif.