Apa yang dapat saya gunakan untuk memantau dan mencatat lalu lintas masuk / keluar ke / dari host jarak jauh?

13

Saya menjalankan server web (Debian Squeeze on VPS), dan grafik yang disediakan oleh perusahaan hosting menunjukkan secara konsisten bahwa sekitar dua kali lebih banyak lalu lintas masuk ke server dibandingkan dengan lalu lintas keluar. Saya sedikit bingung dengan hal ini, jadi saya ingin menjalankan beberapa jenis utilitas logging pada mesin yang tidak hanya akan mengkonfirmasi angka unggahan / unduhan, tetapi juga membaginya dengan host jarak jauh yang terlibat, sehingga saya dapat melihat apakah ada sebagian besar lalu lintas masuk berasal dari satu sumber tertentu.

Saya menduga sebagian besar lalu lintas keluar melalui Apache, tetapi lalu lintas masuk mungkin sebagian besar melalui Apache atau bisa didominasi oleh skrip dan pekerjaan cron lainnya, jadi saya lebih suka alat yang akan memantau lalu lintas di tingkat antarmuka daripada sesuatu di dalam Apache .

Idealnya saya ingin alat yang dapat saya biarkan berjalan selama beberapa hari, lalu kembali dan mendapatkan output "byte per host jarak jauh" untuk lalu lintas masuk dan keluar.

Apakah ini mungkin dengan alat Linux standar dan sedikit konfigurasi (jika demikian, bagaimana?) Atau dengan program spesialis (jika demikian, yang mana?)

Ian Renton
sumber

Jawaban:

11

ntop mungkin solusi terbaik Anda untuk melakukan ini. Ini dirancang untuk menjalankan jangka panjang dan menangkap apa yang Anda cari.
Ini dapat menunjukkan kepada Anda tujuan jarak jauh mana yang paling banyak digunakan, berapa banyak lalu lintas yang dikirim ke / dari, protokol dan port apa yang digunakan dll. Hal ini dapat melakukan hal yang sama untuk host sumber jika Anda menjalankannya pada router sehingga Anda dapat melihat statistik yang sama pada klien lokal juga.
Kemudian menggunakan GUI web untuk menavigasi dan menampilkan informasi ini.

tidak

Patrick
sumber
Wah Bertahun-tahun saya telah menggunakan ntopseperti ini top, saya tidak tahu itu memiliki mode daemon dan antarmuka web built-in! Sama sekali tidak ada yang salah dengan saran @ ckhan, tetapi saya akan menerimanya karena saya merasa ntopantarmuka web bawaan lebih mudah digunakan daripada tcpdumpdiikuti oleh Wireshark.
Ian Renton
9

Jika Anda memiliki root, Anda bisa menggunakan tcpdumpdan mengambil semuanya. Anda kemudian dapat menariknya di Wireshark dan menganalisis sesuka hati Anda.

$ sudo tcpdump -i <interface> -w mycapture.tcpdump  

... lalu tekan ctrl-c ketika Anda sudah cukup. Jalankan dalam sebuah screensesi jika Anda perlu mengirim, dll.

Secara default, itu hanya akan menangkap bagian pertama dari setiap paket, tetapi karena Anda sebagian besar tertarik pada analisis asal yang seharusnya baik-baik saja. Banyak opsi lain untuk tcpdump jika Anda ingin berpetualang.

SUNTING : Bahkan, setelah dimuat ke Wireshark, Anda cukup menggunakan opsi menu Statistics | Alamat IP ... dan dapatkan ringkasan lalu lintas yang bagus dengan jumlah / tarif / persen:

masukkan deskripsi gambar di sini

ckhan
sumber
Terima kasih, sepertinya itu cara yang masuk akal. Apakah Anda tahu jika Wireshark dapat secara otomatis menghasilkan jenis output yang saya kejar (mis. "1000 koneksi ke serverA, 967 koneksi ke serverB ...") atau haruskah saya menulis skrip untuk membangun informasi dari dump TCP diri?
Ian Renton
@IanRenton - Saya pikir itu akan melakukan apa yang Anda inginkan, lihat jawaban yang diedit. Saya percaya tcpdumpjuga bisa dimuntahkan ringkasan paket yang Anda bisa mudah grep, wc, dll
ckhan
4

Dan untuk metrik yang lebih canggih, Anda dapat menggunakan sesuatu seperti monitorix yang memiliki modul untuk layanan paling umum dan itu hanya sederhana:

apt-get install monitorix

Anda juga memiliki kaktus RDDtool GUI yang lengkap, tetapi tidak real time.

Dan di atas 1 bagi saya itu adalah grafana multi-dapat dikonfigurasi . Ini sedikit lebih sulit untuk menginstal & mengkonfigurasi tetapi itu sempurna, Anda dapat mengukur semuanya secara detail dan real-time. Perlu beberapa dependensi JVM, grafit, bisikan, ... beberapa pengetahuan tentang JSON, tetapi bekerja seperti pesona saya sangat merekomendasikannya!

Mungkin konfigurasi yang baik untuk kasus Anda adalah:

collectd + graphite + whisper + grafana

Sebenarnya grafana mengubah hidup saya di kantor.

Gxt
sumber
Bisikan memunculkan banyak hits, tidak ada yang tampaknya relevan. Kecuali beberapa firewall untuk Android ... Bisakah Anda memberikan url? Mungkin Anda memiliki repo github dengan pengaturan Anda.
oligofren
0

Tentu ;)

https://github.com/graphite-project/whisper

Juga jika Anda menginginkan mini-howto untuk cara menghubungkan semuanya: https://linuxboss.wordpress.com/2015/12/12/graphite-grafana/

Peter K
sumber
1
Halo Peter K - selamat datang di U&L! Kami lebih memilih untuk mengintegrasikan jawaban dari tautan sehingga jawaban tetap relevan meskipun halaman web eksternal dipindahkan atau dihapus. Bisakah Anda memberikan lebih banyak informasi sebagai jawaban?
Jeff Schaller