Czasami są takie sytuacje gdzie trzeba sprawdzić zużycie jakiegoś interfejsu sieciowego, czy to na jakimś routerze czy na serwerze. Lub ogólnie sprawdzić przepustowość danego łącza. W niektórych sytuacjach najlepiej było by jeszcze określić jakie połączenia generują największe zużycie.
Jeśli mowa o testowaniu łącz to moim zdaniem najlepiej nadaje się do tego iperf. Jest to narzędzie klient / serwer które znajduje się domyślnie w każdym wydaniu livecd Knoppix. Przy okazji kiedyś opisywałem jak uruchamiać wiele obrazów z jednego flasha. Kiedyś opisywałem też jak używać iperf, który jest prosty w użyciu i ma parę przydatnych opcji takich jak np. generowanie równoległych połączeń.
Co do systemu operacyjnego, bardzo przydatny jest program nethogs który pokazuje jakie zużycie sieciowe generują procesy lub programy. Krótki opis tego programu pojawił się też jakiś czas temu: techfreak.pl/jak-sprawdzic-jakie-procesy-wykorzystuja-przepustowosc-karty-nethogs/
Niektóre routery są wyposażone w opcje logowania całego ruchu wybranego interfejsu do pliku pcap. A czasem trzeba samemu uruchomić wireshark’a na odpowiednim interfejsie aby zebrać potrzebne informacje. Przy okazji wspomnę też że jeśli dysponujemy tylko konsolą można uruchomić odpowiednik wiresharka, tshark.
tshark -i eth0 -w /home/tshark/log/out.cap -b filesize:100000
Ok, wireshark zbiera ruch i pomaga go analizować. Okazuje się że ma też bardzo przydatną opcję statystyki dzięki której można określić poziom transferu jaki były uzyskiwany w tym momencie. Jeśli nie zdefiniuje w filtrze zadęgo adresu IP wireshark podsumuje całość. Zrobiłem mały test i ściągałem 500MB plik i zbierałem ruch wiresharkiem. Pokazał taki sam poziom transferów jak przeglądarka.
Na pierwszym screenie widać, że plik ściągany jest z prędkością 2.5MB/s a na ostatnim wireshark pokazuje 26Mbit/s, wygląda na to że się wszystko zgadza. Przy głębszej analizie będą potrzebne filtry na konkretne IP, aby określić jaki IP np. ma największe zużycie.
Dzięki wireshark jestem w stanie określić jak duży ruch wychodzi lub wchodzi na konkretny interfejs. Można zastosować go też zamiast iperfa, wysycając łącze przy pomocy np. ftp i zbierać ruch wireshark’iem.