iftop jako dobre narzędzie do monitorowania ruchu sieciowego

iftop to narzędzie wiersza poleceń służące do monitorowania przepustowości sieci w czasie rzeczywistym. Wyświetla na bieżąco aktualizowaną listę połączeń sieciowych wraz z ilością przesłanych danych między nimi. Połączenia prezentowane są w formie tabeli i mogą być sortowane według wykorzystania pasma.

iftop oferuje różne opcje filtrowania, które pozwalają ograniczyć wyświetlane dane do konkretnych hostów, sieci lub portów. Obsługuje IPv6 oraz umożliwia wyświetlanie adresów IP źródłowych i docelowych, numerów portów oraz używanych protokołów.

Narzędzie to jest szczególnie przydatne do monitorowania ruchu w czasie rzeczywistym i identyfikowania usług lub hostów zużywających najwięcej przepustowości. Może również pomóc w wykrywaniu problemów wydajnościowych sieci oraz w diagnozowaniu usterek.

Podsumowując, iftop to lekkie, a jednocześnie bardzo skuteczne narzędzie stanowiące wartościowe uzupełnienie zestawu narzędzi każdego administratora systemów i sieci.

Jednym z najbardziej przydatnych narzędzi do monitorowania sieci, z których korzystam, jest iftop. Staje się szczególnie pomocne, gdy łącze sieciowe jest wysycone. W praktyce może również pomóc wykryć nietypowe wzorce ruchu, w tym ataki typu DoS. W poniższym przykładzie prześlę duży plik na maszynę zdalną z ograniczeniem przepustowości i będę obserwował ruch przy użyciu iftop.

Najpierw instalujemy iftop na maszynie lokalnej (w tym przypadku Kali Linux):

Instalacja iftop w Kali Linux

Dystrybucja nie ma większego znaczenia — iftop jest dostępny w większości repozytoriów Linuksa, w tym w Debianie.

Następnie instalujemy iftop na maszynie zdalnej (Debian Linux):

Instalacja iftop w Debian Linux

Aby rozpocząć monitorowanie ruchu sieciowego, uruchamiamy iftop z parametrami -PpNn:

iftop w trakcie monitorowania ruchu

Ponieważ jestem połączony z maszyną zdalną przez SSH, widzę swoją aktywną sesję SSH na liście połączeń.

Teraz wracamy na maszynę lokalną i tworzymy duży plik:

Po utworzeniu pliku 1GB przesyłamy go na maszynę zdalną z ograniczeniem przepustowości:

Transfer pliku przez scp z ograniczeniem prędkości

Opcja -l 800 ogranicza transfer do 800 Kbit/s. Aby przeliczyć to na KB/s, dzielimy przez 8 — otrzymujemy około 100 KB/s.

Ruch wychodzący widoczny w iftop
Ruch przychodzący widoczny w iftop

W ten sposób możemy obserwować zarówno ruch wychodzący, jak i przychodzący w czasie rzeczywistym. Choć iftop jest prostym narzędziem, zapewnia bardzo dobrą widoczność bieżącej aktywności sieciowej.

W przypadku prób brute-force widoczna będzie duża liczba krótkotrwałych połączeń. Natomiast atak DoS ma na celu wysycenie pasma, co objawia się znacznym ruchem przychodzącym. Jeśli wzrost ruchu jest uzasadniony, można rozważyć ograniczenie prędkości połączeń — pomocne będzie np. iptables.