Czego mogę użyć do monitorowania i rejestrowania ruchu przychodzącego / wychodzącego do / z hostów zdalnych?

13

Prowadzę serwer WWW (Debian Squeeze na VPS), a wykresy dostarczone przez firmę hostingową konsekwentnie pokazują, że około dwa razy więcej ruchu przychodzi na serwer w porównaniu do ruchu wychodzącego. Trochę mnie to zagubiło, dlatego chciałbym uruchomić na komputerze jakieś narzędzie do logowania, które nie tylko potwierdzi przesyłanie / pobieranie danych, ale także podzieli je przez zaangażowanego hosta zdalnego, dzięki czemu mogę sprawdzić, czy duża część ruchu przychodzącego pochodzi z jednego konkretnego źródła.

Podejrzewam, że większość ruchu wychodzącego przechodzi przez Apache, ale ruch przychodzący może być głównie przez Apache lub może być zdominowany przez inne skrypty i zadania cron, więc wolałbym narzędzie, które monitorowałoby ruch na poziomie interfejsu niż coś w Apache .

Idealnie chciałbym mieć narzędzie, które mogę pozostawić uruchomione na kilka dni, a następnie wrócić i uzyskać wyjście „bajtów na zdalny host” dla ruchu przychodzącego i wychodzącego.

Czy jest to możliwe przy standardowym narzędziu Linuksa i odrobinie konfiguracji (jeśli tak, to w jaki sposób?) Lub przy pomocy specjalistycznego programu (jeśli tak, to jakie?)

Ian Renton
źródło

Odpowiedzi:

11

ntop jest prawdopodobnie najlepszym rozwiązaniem. Został zaprojektowany, aby działać długoterminowo i rejestrować dokładnie to, czego szukasz.
Może pokazać, które zdalne miejsca docelowe są najczęściej używane, ile ruchu jest wysyłane do / z, jakie protokoły i porty były używane itp. To samo może zrobić dla hostów źródłowych, jeśli uruchomisz je na routerze, abyś mógł zobaczyć te same statystyki także dla lokalnych klientów.
Następnie używa internetowego interfejsu GUI do nawigacji i wyświetlania tych informacji.

ntop

Patrick
źródło
Whoa. Wszystkie te lata używam ntoptak jak top, nie miałem pojęcia, że miał tryb demon i wbudowany interfejs WWW! Nie ma nic złego w sugestii @ ckhan, ale zaakceptuję tę, ponieważ uważam, że ntopwbudowany interfejs WWW jest łatwiejszy w użyciu niż tcpdumppo Wireshark.
Ian Renton
9

Jeśli masz root, możesz po prostu użyć tcpdumpi złapać wszystko. Następnie możesz pobrać go w Wireshark i przeanalizować według własnego uznania.

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

... a następnie naciśnij ctrl-c, gdy masz dość. Uruchom w screensesji, jeśli chcesz detatch itp.

Domyślnie przechwytuje tylko pierwszą część każdego pakietu, ale ponieważ najbardziej interesuje Cię analiza pochodzenia, która powinna być w porządku. Mnóstwo innych opcji do tcpdump, jeśli masz ochotę na przygodę.

EDYCJA : Po załadowaniu do Wireshark możesz po prostu użyć opcji menu Statystyka | Adresy IP ... i uzyskaj ładne podsumowanie ruchu według liczby / stawek / procent:

wprowadź opis zdjęcia tutaj

ckhan
źródło
Dzięki, wydaje się, że to rozsądna droga. Czy wiesz, czy Wireshark może automatycznie generować dane wyjściowe, których szukam (np. „1000 połączeń z serwerem A, 967 połączeń z serwerem B ...”) czy też musiałbym napisać skrypt, aby zbudować te informacje ze zrzutu TCP siebie?
Ian Renton
@IanRenton - Myślę, że zrobi dokładnie to, co chcesz, zobacz zredagowaną odpowiedź. Wierzę, że tcpdumpmożna również wypluć podsumowania pakietów że można z łatwością grep, wcitp
ckhan
4

A dla bardziej zaawansowanych wskaźników możesz użyć czegoś takiego jak monitorix, które mają moduły dla większości popularnych usług, a to po prostu prosta:

apt-get install monitorix

Masz także kaktusy kompletny GUI RDDtool, ale nie w czasie rzeczywistym.

A dla mnie w pierwszej 1 znajduje się grafana z wieloma konfiguracjami . Jest trochę trudniejszy w instalacji i konfiguracji, ale jest po prostu idealny, możesz mierzyć wszystko szczegółowo i w czasie rzeczywistym. Potrzebuje pewnych zależności JVM, grafitu, szeptu ... trochę wiedzy o JSON, ale działa jak urok, naprawdę go polecam!

Może dobrą konfiguracją dla twojego przypadku powinno być:

collectd + graphite + whisper + grafana

W rzeczywistości grafana zmieniła moje życie w biurze.

Gxt
źródło
Whisper wywołuje wiele hitów, z których żaden nie wydaje się istotny. Z wyjątkiem niektórych zapór ogniowych dla Androida ... Czy możesz podać adres URL? Być może masz repozytorium github ze swoją konfiguracją.
oligofren,
0

pewnie ;)

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

Również jeśli chcesz mini-howto, jak połączyć wszystko: https://linuxboss.wordpress.com/2015/12/03/graphite-grafana/

Piotr. K.
źródło
1
Witaj Peter K - witaj w U&L! Wolimy zintegrować odpowiedzi z linków, aby odpowiedź pozostała aktualna, nawet jeśli zewnętrzna strona internetowa się poruszy lub zostanie usunięta. Czy możesz podać więcej informacji jako odpowiedź?
Jeff Schaller