Ada cara untuk menunjukkan koneksi dari suatu proses? Sesuatu seperti itu:
show PID
di mana show
adalah perintah untuk melakukan ini, dan PID
merupakan pid dari proses. Output yang saya inginkan terdiri dari semua koneksi proses (secara real-time). Misalnya, jika proses mencoba menghubungkan ke 173.194.112.151 hasilnya adalah 173.194.112.151
.
Contoh yang lebih spesifik dengan Firefox:
show `pidof firefox`
dan dengan firefox saya mulai pada awalnya di google.com , kemudian di unix.stackexchange.com dan akhirnya 192.30.252.129 . Outputnya, ketika saya menutup browser, harus:
google.com
stackexchange.com
192.30.252.129
(Tentunya dengan browser output ini tidak realistis, karena ada banyak koneksi lain yang terkait, tetapi ini hanya sebuah contoh.)
Jawaban:
Anda sedang mencari
strace
! Saya menemukan jawaban ini di askubuntu , tetapi ini valid untuk Unix:Jika tidak, tetapi itu khusus untuk Linux, Anda dapat menjalankan proses di namespace jaringan yang terisolasi dan menggunakan wireshark untuk memantau lalu lintas . Ini mungkin akan lebih nyaman daripada membaca
strace
log:sumber
strace
sebenarnya khusus untuk kernel Linux, jadi itu tidak berlaku untuk semua sistem operasi mirip Unix. Seperti yang saya pahami, sistem mirip BSD memiliki utilitas serupa (DTrace dan truss). Bagaimanapun, jawaban yang bagus (jadi terunggul). Selamat datang di Stack Exchange.strace
keluaran sambil memeriksagit fetch
. Saya mengharapkan untuk melihat semacam URL yang termasuk dalam output, seperti juga diminta oleh OP. Adakah yang bisa membantu?Mencoba
sumber
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /home/user/.gvfs Output information may be incomplete.
-r1
untuk mengulangi output setiap detik dan-w
untuk menekan peringatan.(in real-time)
sebagaifrom the point in time of tracking and forward
.Inilah pendekatan lain:
ss -nap | grep $(pidof firefox)
Output sampel:
sumber
Anda bisa coba juga dengan
netstat -p
. Dari halaman manual:Untuk hanya menampilkan koneksi jaringan gunakan
netstat -tup
. Perhatikan bahwa untuk melihat proses PID Anda mungkin perlu root.Jika Anda tidak memiliki
netstat
pada sistem Anda, Anda mungkin memilikiss
, yang hampir memiliki sintaks yang tepat. Anda dapat menggunakannyass -tup
(sebagai root).sumber