GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara melacak aktivitas jaringan dari suatu perintah?

netstat untuk kesederhanaan

Menggunakan netstat dan memahami PID atau nama proses:

# netstat -np --inet | grep "thunderbird"
tcp        0      0 192.168.134.142:45348   192.168.138.30:143      ESTABLISHED 16875/thunderbird
tcp        0      0 192.168.134.142:58470   192.168.138.30:443      ESTABLISHED 16875/thunderbird

Dan Anda bisa menggunakan watch untuk pembaruan dinamis:

watch 'netstat -np --inet | grep "thunderbird"'

Dengan:

  • -n :Menampilkan alamat numerik alih-alih mencoba menentukan nama host, port, atau pengguna simbolis
  • -p :Menampilkan PID dan nama program tempat masing-masing soket berada.
  • --inet :Hanya tampilkan soket protokol mentah, udp, dan tcp.

strace untuk verbositas

Anda bilang Anda mencoba strace alat, tetapi apakah Anda mencoba opsi trace=network ?Perhatikan bahwa hasilnya bisa sangat bertele-tele, jadi Anda mungkin memerlukan beberapa grepping. Anda bisa mulai dengan memahami "sin_addr".

 strace -f -e trace=network <your command> 2>&1 | grep sin_addr

Atau, untuk proses yang sudah berjalan, gunakan PID:

 strace -f -e trace=network -p <PID> 2>&1 | grep sin_addr

sysdig memungkinkan Anda memantau semua aktivitas kernel atau beberapa perintah yang berjalan di sistem Anda sekaligus, termasuk dan tidak terbatas pada aktivitas jaringan.

Karena hasilnya bisa besar, Anda harus membuat filter, halaman default untuk filter paling dasar cukup mudah dipahami.

Ini juga memiliki keuntungan tidak digunakan sebagai pembungkus aplikasi seperti pada strace , dan itu bisa sangat kuat.

Dari Contoh Sysdig

Jaringan

Lihat proses teratas dalam hal penggunaan bandwidth jaringan

sysdig -c topprocs_net 

Tampilkan data jaringan yang dipertukarkan dengan host192.168.0.1

Sebagai biner:

sysdig -s2000 -X -c echo_fds fd.cip=192.168.0.1   

Sebagai ASCII:

sysdig -s2000 -A -c echo_fds fd.cip=192.168.0.1 

Lihat port server lokal teratas:

Dalam hal koneksi yang dibuat:

sysdig -c fdcount_by fd.sport "evt.type=accept"   

Dalam hal totalbyte:

sysdig -c fdbytes_by fd.sport 

Lihat IP klien teratas

Dalam hal koneksi yang dibuat

sysdig -c fdcount_by fd.cip "evt.type=accept"   

Dalam hal totalbyte

sysdig -c fdbytes_by fd.cip 

Cantumkan semua koneksi masuk yang tidak dilayani oleh apache.

sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"

Saya akan membuat ruang nama jaringan baru, menjembataninya ke jaringan sebenarnya, lalu memantau jembatan dengan tcpdump .


Linux
  1. Cara menggunakan Perintah Su di Linux

  2. Bagaimana Cara Menjadwalkan Perintah Rsync?

  3. Bagaimana cara keluar jika perintah gagal?

  1. Cara Menggunakan Telnet Di Windows

  2. Cara Mengganti Nama File di Linux

  3. Cara menggunakan alat baris perintah sipcalc Linux

  1. Cara Menginstal Dig di Windows

  2. Cara Menggunakan Perintah Disown di Linux

  3. Cara Menggunakan Perintah SS Linux