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):
|
1 |
# apt install iftop |
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):
|
1 |
# apt install iftop |
Aby rozpocząć monitorowanie ruchu sieciowego, uruchamiamy iftop z parametrami -PpNn:
|
1 |
# iftop -PpNn |
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:
|
1 |
# truncate -s 1G 1G-file.txt |
Po utworzeniu pliku 1GB przesyłamy go na maszynę zdalną z ograniczeniem przepustowości:
|
1 |
# scp -l 800 -P2222 1G-file.txt soban@soban.pl:~ |
Opcja -l 800 ogranicza transfer do 800 Kbit/s. Aby przeliczyć to na KB/s, dzielimy przez 8 — otrzymujemy około 100 KB/s.
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.