Apakah ada cara untuk login ke file semua koneksi keluar yang menciptakan suatu proses? Saya menyadari netstat
tetapi itu tampaknya lebih merupakan snapshot dari titik waktu daripada sesuatu yang berjalan dan mencatat informasi selama periode.
Saya hanya perlu IP atau nama host, port dan proses membuat koneksi.
watch -n 2 netstat
itu sementara itu, tapi itu bukan solusi yang tepat, bukan.Jawaban:
Di Linux, Anda dapat mengatur subsistem audit untuk mencatat setiap upaya untuk membuat koneksi jaringan. Untuk informasi tentang subsistem audit, baca
auditctl
halaman manual atau tutorial ini atau contoh lain di situs ini . Instalauditd
paket distribusi Anda jika perluLog ada di
/var/log/audit/audit.log
semua distribusi yang saya tahu. Anda juga dapat mencari mereka denganausearch
.sumber
auditctl -d exit,always -S connect
less /var/log/audit/audit.log
Jika Anda dapat menginstal kernel khusus, Anda harus melihat di SystemTap . Ada banyak contoh cara melacak aktivitas jaringan.
sumber
Di Linux, Anda dapat menggunakannya
ip_conntrack
untuk mencapai hal ini. Ini adalah modul pelacakan koneksi, yang biasanya digunakan untuk memonitor koneksi untuk protokol berperilaku aneh (seperti FTP) yang dikelola oleh firewall / kotak NAT.Anda dapat grep file pseudo untuk melihat koneksi yang dibuat, dan selanjutnya grep IP sumber untuk melihat kapan itu berasal dari kotak Anda.
sumber
Saya akan melihat ke dalam menggunakan
tcpdump
pada antarmuka keluar melihatSYN
permintaan keluar .Jika Anda merasa sangat suka berpetualang, Anda dapat membuat utilitas seperti:
strace
atautruss
melaporkan semuaconnect
panggilan sistem saat melacak eksekusi program tetapi ini sedikit lebih berbahaya dan memiliki kelemahan saat berurusan dengan proses multithreaded.sumber