Hlavní navigace

iftop: sledujte dění na síti

Nástroj iftop je příbuzný klasické utilitě top. Ta dokáže sledovat procesy ve vašem systému, ale iftop se dívá, co cvrliká na síťových rozhraních. Můžete tak jednoduše odhalit, kdo vám loupe perníček či který zlobivý uživatel vám tak moc vytěžuje linku. Pokud chcete mít přehled, je to rozhodně povinný nástroj.

Tweetni to Odměnte autora  Jak to funguje?

Pokud spravujete nějakou síť či server, určitě se vám někdy stalo, že jste potřebovali rychle zjistit, co se zrovna děje. Typicky třeba zjistíte, že vám DNS démon na vašem serveru nějak podezřele vytěžuje procesor. V tu chvíli se potřebujete podívat, kdo vám buší na vrata a zneužívá váš DNS server pomocí amplification attacku.

Právě k tomu slouží utilita iftop, která si bere příklad z klasického unixového příkazu top či spíše vylepšeného Htop. Namísto sledování procesů a sledování vytížení procesoru ale umožňuje sledovat zatížení síťových rozhraní a monitorování spojení, která právě z vašeho počítače probíhají.

Základní použití

Úplně nejjednodušší bude prostě iftop spustit. Pokud mu chcete říct, na kterém rozhraní má poslouchat, můžete použít parametr -i. Pro spuštění budete každopádně potřebovat práva roota:

# iftop -i eth1

Program začne postupně vypisovat všechna spojení, která jsou na daném rozhraní otevřená, a zároveň vám ukáže, jak tato spojení vytěžují vaši linku. Celý seznam je standardně setříděn právě podle náročnosti spojení, takže ta nejvytíženější budete mít nahoře na očích. Na následujícím obrázku vidíte, jak může iftop vypadat, pro demonstraci jsem spustil v prohlížeči speedtest.

Seznam obsahuje vlevo lokální adresu a uprostřed vzdálenou. Šipka ukazuje, zda jde o odchozí provoz (doprava) nebo o příchozí (doleva). Vpravo jsou pak k vidění toky za poslední 2, 10 a 40 sekund. Všechny hodnoty jsou uvedeny v bitech, pokud chcete raději vidět bajty, použijte přepínač  -B.

Aby byly toky lépe vidět graficky, zobrazuje program i „teploměry“ s aktuální zátěží. Ty se vybarvují standardně bílým pozadím pod jednotlivými řádky. Úplně nahoře v okně je vidět aktuální měřítko těchto grafů, které se průběžně mění. Pokud chcete nastavit jeho pevné maximum, použijte parametr -m například s hodnotou 10M. Nezapomeňte, že standardně je tato hodnota v bitech, pokud jste před chvíli neurčili jinak. Pokud chcete „grafiku“ úplně vypnout, použijte parametr  -b.

Ve spodní části obrazovky jsou pod čarou ještě vidět sečtené hodnoty pro celé rozhraní. Vpravo opět vidíte, kolik se přeneslo za tři zmíněná období a vlevo jsou pak celkové objemy přijatých a odeslaných dat. Možná vás na první pohled množství čísel na obrazovce zmate, ale po chvíli koukání vám bude vše jasné.

Technická poznámka: iftop do verze 1.0 neuměl monitorovat IPv6 provoz. Zkontrolujte si, zda máte dostatečně aktuální verzi, jinak nemusí být jeho výstupy kompletní.

Pokročilejší akce

Je sice fajn vidět úplně všechny informace najednou, ale nás obvykle zajímá jen konkrétní část provozu. Nástroj iftop umí filtrovat spojení podle sítě, hosta a portu, takže si můžete vybrat, co přesně chcete vidět.

Program přijímá filtry ve formátu pcap, tedy jako například tcpdump. Zapisují se za parametr -f. Jedná se o poměrně logický filtrační jazyk, který se skládá z několika základních klíčových slov. Je ovšem velmi mocný a je možné s ním zadat jednoduché i komplexní filtry.

Pokusím se zjednodušeně vysvětlit základní principy. Filtrační pravidlo obvykle začíná klíčovým slovem dst či src. Určujeme tím, zda nás zajímá cíl či zdroj provozu. Následuje informace o tom, která vlastnost provozu nás bude zajímat: host, net, port či portrange. Tedy v pořadí: IP adresa či doménové jméno, maska, port nebo rozsah portů. Možností je daleko více, ale tohle nám pro základní orientaci v problematice stačí.

Teď si můžeme vyfiltrovat jen spojení na konkrétní stroj. Pravděpodobně nás budou zajímat i porty, takže si přidáme parametr  -P.

# iftop -P -i eth1 -f "dst host time.is"

Stejně tak můžeme chtít provoz podle portu. Podíváme se třeba, kam se připojuje můj Jabber klient:

# iftop -P -i eth1 -f "dst port 5222"

Jak vidíte, moc velký provoz mi Jabber negeneruje. Program umí filtrovat i pomocí regulárních výrazů, stačí za běhu stisknout klávesu l a v horní části se objeví příkazová řádka, do které je možné výraz zapsat. Rozdíl proti pcap filtrům je ten, že program stále přijímá všechen provoz, ale zobrazuje jen ten vyfiltrovaný. Počítadla toků tak nejsou filtrem ovlivněna, vy můžete nastavení postupně měnit a čísla jsou stále správná.

Program je možné během zobrazení šikovně ovládat pomocí některých kláves. Užitečné je třeba přepínání zobrazení hostname/IP adresy pomocí malého n či přepínání názvu služby a jejího portu pomocí velkého  N.

Dále je velmi užitečné znát klávesu o, která zmrazí právě zobrazené pořadí procesů. Nezastaví se ovšem počítadla, takže pokud právě vidíte to, co potřebujete, stisknete tuto klávesu a pak už jen sledujete, jak se mění parametry zobrazených spojení. Pokud chcete úplně zamrazit displej, použijte velké  P.

Program iftop využívá i některé další klávesy, které umožňují například změnit zobrazení některých položek, změnit třídění seznamů, skrývat některé položky a podobně. K zobrazení těchto možností stiskněte h nebo  ?.

Veškeré parametry je možné zapsat do konfiguračního souboru ~/.iftoprc, takže si můžete uložit své oblíbené nastavení, konfiguraci síťové karty, přepnout si program na zobrazování bajtů místo bitů nebo si nastavit pevné osy a logaritmické zobrazení.

Utilita iftop je poměrně malá a nenáročná a podle obvyklých pravidel dělá jednu věc a dělá ji pořádně. Nainstalovat ji můžete prakticky na libovolný unixový operační systém. Hodí se zejména na serveru, ale ani na desktopu není občas špatné vědět, co vám kde lítá.

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Ohodnoťte jako ve škole:
Průměrná známka 1,20
Tweetni to Odměnte autora  Jak to funguje?

Školení: Digitální Public Relations aneb PR sociálního věku

DW - Školení PPC
  • Jak se liší digitální PR oproti klasickému PR
  • Jak tvořit tiskové zprávy, aby těžili z digitálních možností
  • Jak monitorovat a vyhodnocovat vlastní i konkurenční PR
  • Příklady povedených i nepovedených PR komunikací a aktivit.

Detailní informace o školení s Danem Dočekalem »

       

Přehled názorů

pripadne
lol 18. 7. 2012 03:38
Nový
spatny neni taky apachetop
jarda667 18. 7. 2012 06:50
Nový
└ 
Re: spatny neni taky apachetop
Xjmeno363 18. 7. 2012 17:53
Nový
iftop jako root
martin 18. 7. 2012 08:19
Nový
├ 
Re: iftop jako root
Petr Macek 18. 7. 2012 08:56
Nový
├ 
Re: iftop jako root
Petr Krčmář 18. 7. 2012 09:01
Nový
├ 
Re: iftop jako root
Ondřej Caletka 18. 7. 2012 09:03
Nový
│
└ 
Re: iftop jako root
pedro 19. 7. 2012 01:02
Nový
└ 
Re: iftop jako root
Miroslav Prýmek 18. 7. 2012 11:27
Nový
 
└ 
Re: iftop jako root
eee 19. 7. 2012 07:32
Nový
 
 
└ 
Re: iftop jako root
Miroslav Prýmek 19. 7. 2012 11:18
Nový
iwtop
norwi 18. 7. 2012 11:18
Nový
├ 
Re: iwtop
Diskobolos 18. 7. 2012 13:22
Nový
└ 
Re: iwtop
xurfa 19. 7. 2012 21:45
Nový
iptraf
norwi 18. 7. 2012 11:31
Nový
nic moc
j 18. 7. 2012 14:02
Nový
└ 
Re: nic moc
Petr Krčmář 18. 7. 2012 14:13
Nový
 
├ 
Re: nic moc
Ondřej Caletka 18. 7. 2012 14:43
Nový
 
└ 
Re: nic moc
j 18. 7. 2012 14:52
Nový
 
 
├ 
Re: nic moc
jarda 18. 7. 2012 17:53
Nový
 
 
│
└ 
Re: nic moc
asdf 19. 7. 2012 10:20
Nový
 
 
│
 
└ 
Re: nic moc
martin 19. 7. 2012 11:39
Nový
 
 
│
 
 
└ 
Re: nic moc
americký brouk 19. 7. 2012 23:45
Nový
 
 
└ 
Re: nic moc
Lol Phirae 18. 7. 2012 23:32
Nový
Re: iftop: sledujte dění na síti
ShepDog 19. 7. 2012 15:21
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem