Hlavní navigace

Čmuchalové ve fraku

Petr Šindelář 2. 6. 2000

Jistě znáte onu situaci, kdy se pokoušíte něco rychle stáhnout z internetu a ono to nejde a nejde. Kdopak nám to tu síť asi blokuje? A nebo: jak je možné, že mi ta služba nefunguje tak jak má, vždyť dotazy snad posílám dobře, nebo ne? A nebo také: jak to vypadá se sítí na našem routeru, jakpak jedou jednotlivé segmenty? A nebo jste prostě jen zvědaví, co ten či onen zrovna na síti dělá. A pokud jste zhýčkaní grafickým prostředím, asi se vám výstup programu tcpdump nebude moc líbit ...

A proto začali vznikat grafické utilitky, které jsou na oko pohlednější a oplývají větším množstvím funkcí než již zmíněný tcpdump. Tyto programy většinou používají standardní libpcap nebo jeho modifikaci. Pro zkoušení těchto programů potřebujete root práva, jednak abychom mohli nastavit promiskuitní mód síťové karty, a jednak abychom mohli také vše potřebné z oné karty načíst.

Ethereal

Ethereal, obrázek

Začnu starým známým Etherealem, o kterém tu byla zmínka v Softwarové sklizni z 12.8.1999. Tento produkt již dospěl k verzi 0.8.8. Program umí jak analyzovat pakety přímo ze sítě, tak načítat již odsniffované pakety ze souboru. A to buď vlastní nebo i spoustu jiných formátů. Samozřejmě umí i nachytaná data ukládat a opět ve více formátech. Hlavní okno je rozděleno na tři části. V první části je seznam paketů, pokud probíhá živé odposlouchávání, a je povolena funkce live update, seznam se automaticky obnovuje (jinak se seznam zobrazí až po ukončení odchytávání paketů). V druhé části jsou informace o aktuálním paketu (hlavička, protokol, parametry) a ve spodní části je pak hexadecimální výpis paketu. Pokud klikneme na nějakou část v paket tree, zvýrazní se barevně odpovídající bajty i dole v hexa výpisu. Úplně dole je pak řádek na nastavení zobrazovacího filtru a jméno souboru popř. info o „live capture at progress“. A tak lze celkem jednoduše nechat zobrazovat třeba provoz na WWW a FTP jednoduchou podmínkou

tcp.port eq 80 || t­cp.port == 21

Dále je možné omezit filtrem již sběr paketů, ne jen jejich zobrazení. Při startu odposlechu v položce filtr napíšeme třeba port 21 a budeme odchytávat veškeré FTP pakety – nikoliv FTP-data, to by pak bylo třeba použít

port 21 || port 20

Ethereal, obrázek

Pro přehlednější zobrazení seznamu paketů můžeme nastavit filtry na obarvení jednotlivých řádků s pakety. Např. na prvním obrázku jsou barevně odlišeny spojení FTP, WWW a SSH. Další možnosti zobrazovacího filtru je vybrat si v prostředním okně s paket tree třeba délku paketu a pak zvolit menu display|match selected. A rázem máme zobrazeny pouze pakety dané délky. Ethereal umí, v případě že se jedná o TCP Stream, pomocí funkce Follow TCP Stream zobrazit obsah tohoto streamu a to buď jako ASCII/EBDIC nebo hexadecimální výpis. Škoda jen, že neumí toto okno aktualizovat tak, jak přicházejí další a další pakety. Chvilku jsem takto kontroloval spolubydlícího, jestli už opravdu ukončuje svou session na mudu, aby jsme mohli jít udělat večeři. Kdyby ta služba jela kryptovaně, tak bych viděl jen „rozsypaný čaj“. Stačí se podívat na SSH spojení :-). Program umí i výsledky své práce uložit jako PostScript nebo plaintext nebo je rovnou poslat na tiskárnu.

KSnuffle

KSnuffle, obrázek

O tomto prográmku se na Rootovi psalo v Softwarové sklizni ze začátku května. KSnuffle je typu vše v jednom. Po instalaci ze zdrojáku (pokud nedáte make install, tak nenajde pluginy a ikonky a další věci) jej spustíte „nečekaně“ příkazem ksnuffle. Pokud jej chcete pustit na pozadí, doporučuji přesměrovat všechen výstup do černé díry /dev/null. Po prvním spuštění se vám objeví okno s listem config. Zde si nastavíte z jakého zařízení se budou pakety chytat, které pluginy budou v provozu, zda logovat apod. Pokud zvolíte binární logování, budete moci později soubor nechat přehrát, k tomu slouží tzv. replayer. Na dalších záložkách si pak můžete nastavit různé filtry a triggery a události (např. pokud dojde ke spojení FTP na ten a ten stroj, zapiš to do spec. logu a pošli mail nebo podobné). Filtr a trigger lze buďto naklikat nebo zaškrtnout program a použít filtr podle pravidel zapsaných do vstupního řádku. Pro kontrolu pak použijte tlačítko verify. Pokud máte vše potřebné nastaveno, lze toto nastavení aktivovat tlačítkem set. Pak již stačí kliknout na Go a už sledujete co všechno se po síti prohání. Jednotlivé druhy zobrazení lze přepínat s pomocí listů. Ty obsahují grafy s průměrným loadem za x a y sekund (nastavuje se v prvním listu), pak seznam paketů s doprovodnými informacemi (přes pravé tlačítko lze zobrazit paket strom jako je v Etherealu a i celý TCP Stream, kde je možnost refresh, avšak i zde bych uvítal auto-refresh s odrolováním na poslední data ne na začátek- prostě live sniff) a pak záložky pluginů. Zatím jsou zde tři (demo nepočítám). DNS zobrazuje veškeré dotazy na nameservery, end-to-end zobrazuje a počítá přenesené pakety mezi jednotlivými aktivními uzly sítě a konečně summary obsahuje součty přenesených bajtů pro daný sniffer.

KSnuffle, obrázek

Velice zajímavou funkcí je paralel display, který vám umožní sledovat aktivitu jednotlivých snifferů najednou. Např. pokud si nastavíte jeden filtr na WWW provoz a druhý na FTP, můžete porovnat, která služba zabírá větší šířku pásma. Tento display se hodí i pokud máte více síťových karet nebo pokud jich máte více v routeru.

KSnuffle umožňuje nainstalovat vlastní server na jiný počítač a pak můžete vzdáleně odposlouchávat pakety. Server je chráněn kombinací heslo/IP adresa. Ovšem doporučuji neposílat žádné informace a obsah paketů, pokud nejste připojeni alespoň 100 mbit linkou k onomu serveru. Může se vám totiž stát jako mě, že si hezky pustíte odposlech třech síťovek a pak jen slyšíte nadávat kolegy, co se děje se sítí. Naši 10 mbit síť zahltil rsnuffle velice spolehlivě a pomohl až restart KSnuffle. Takže pozor, remote sniffing je opravdu výborná věc, ale ne vždy je použitelný. Dalším vylepšením KSnuffle je správa uživatelů, kteří mohou program spouštět a zda mohou prohlížet i datovou část programu. Pod rootem nastavíte suidbit a nastavíte kdo co může poslouchat. Je to však trošku ošemetné, jako každý setuid program je potencionální díra do systému, pokud obsahuje nějakou chybu, která jde zneužít.

Etherape

Poslední program, který bych vám rád představil trošku vybočuje z řady. Nejedná se o klasický paket sniffer, ale o grafické udělátko na sledování síťového provozu. Provoz zobrazuje v kruhovém grafu, kde spojnice znamenají spojení. Spojnice je ve tvaru trychtýře, užší místo značí je na straně příjemce. Spoje jsou barevně odlišenu podle typu služby. Všechny aktivní služby jsou v levém pruhu vypsány svou barvou (při každém spuštění dostane daná služba jinou barvu). Více asi napoví obrázek.

Etherape, obrázek

Program lze stáhnout z domovské stránky buď jako zdrojáky nebo jako již hotové balíky pro Debian a pro Red Hat. Ze zdrojového kódu je instalace klasická – ./configure, make, make install. Funguje i make uninstall. Etherape má čtyři módy sledování sítě. Ethernet zobrazuje spojení dle jednotlivých síťových adres, pokud se mu podaří včas resolvnout jméno, doplní tam jeho jméno. Tento režim se mi zdá jako nejméně použitelný. Druhá možnost je sledovat TCP spojení, každý uzel obsahuje IP adresu/jméno a číslo portu. Pokud někdo začne zuřivě brouzdat, je krásně vidět, jak se paralelně navazuje několik spojení. Posledním módem je mód TCP, který v grafu obsahuje jednotlivé aktivní stanice a spojení mezi nimi. Pro všechny grafy platí, čím silnější je spojová čára, tím více dat mezi oněmi uzly probíhá. Posledním módem je FDDI. Bohužel k FDDI nemohu nic napsat, nemám jej k dispozici. Ostatně o FDDI vím zatím jen velmi málo (vím. že je to optické rozhraní, použité např. v počítači SP/6000 od IBM k propojení jednotlivých uzlů). Poslední verze je 0.5.6, která je již celkem stabilní, zatím jsem našel jen jednu malou chybku: tlačítko stop napodruhé nereaguje. Vývoj šel rychle dopředu, ale nyní je hlavní vývojář Juan Toledo před závěrečnou zkouškou ve škole, a tak nemá na další vývoj čas.

Závěr

Každý z výše uvedených programů má své. Pokud potřebujete důkladně zkoumat jednotlivé pakety, bude se vám s Etherealem pracovat lépe, má dobře rozmístěná okna, paket tree zůstává rozbalen i při přechodu na další paket (bohužel toto neplatí o KSnuffle), chybějící možnost sledovat spojení live je nepodstatná (asi málokdo potřebuje vidět spojení přesně tak jak probíhá, po pravdě řečeno moc užití by to asi nemělo) a ani KSnuffle nemá tuto možnost, byť tlačítko refresh při zobrazení TCP streamu má. Pokud však chcete sledovat i zatížení sítě, zjistit kolik mezi jednotlivými uzly prošlo dat nebo využít skvělou možnost remote sniffu, pak se vyplatí KSnuffle. No a pokud jen potřebujete narychlo a pěkně graficky zobrazit, jak to vypadá se zatížením a kdo že to tu síť tak blokuje, použijte Etherape. Programy jsou zatím všechny ve vývoji, KSnuffle je z nich dle mých zkušeností nejméně stabilní. Občas přestane chytat pakety (při větším počtu snifferů), ale jinak je vše v již použitelné podobě. Já sám používám všechny tři programy, avšak nejčastěji potřebuji právě pouze zjistit kdo zase ucpal dráty.

Pokud jste čekali, že vám zde dám návod jak odchytávat hesla z nešifrované komunikace, máte smůlu. Sice jdou k tomuto účelu použít i tyto programy (etherape ne), ale je to velmi nepohodlné a už dnes jsou k dispozici dokonce i balíčky se speciálním sniffovacím programem. A ostatním jsem doufám trošku přiblížil, co všechno tyto programy umí a že jim to bude někdy k užitku.

Testovací stroje a instalace

Celeron 333, 192 MB RAM, 10 mbit koax – TEN 155, přímé připojení (kolejní síť)

586 133, 32 MB RAM, 3X 10 mbit bridge, sloužil jako server pro KSnuffle (nemá ani grafickou kartu :-)

Pentium II 266, 128 MB RAM, připojení přes maškarádu na INET, proxy cache pro web

  • Ethereal – instalace z rpm včetně patchnutých libpcap knihoven, k dispozici i deb a spousta dalších balíčků
  • KSnuffle – ze zdrojáku oblíbenou cestou ./configure – make – make install, balíčky ještě nejsou
  • Etherape – dříve ze zdrojáků, testováno i bez make install, nyní již z rpm, potřebuje libglade 0.11 a novější Gnome knihovny (mě to na těch, co jsou v RH 6.1 nejelo i po upgrade libglade, nutno upgradovat i Gnome z RH updates), deb balík také k dispozici (rpm jen někdy)

Reference

http://ethere­al.zing.org/
http://www.qu­aking.demon.co­.uk/ksnuffle.html
http://ethera­pe.sourceforge­.net/

Našli jste v článku chybu?

16. 6. 2000 15:06

PeS (neregistrovaný)

Po snazeni jednoho ctenare a komunikaci s nim vyplynulo, ze u knihovny libglade z RH 6.2
jsou spatne definovane zavislosti. Potrebuje totiz novejsi
novejsi libxml (stahnete si jej take z rh 6.2).



Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

DigiZone.cz: Recenze Prostřeno: cirkus postižených

Recenze Prostřeno: cirkus postižených

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: Často čůrá a má žízeň? Příznaky dětské cukrovky

Často čůrá a má žízeň? Příznaky dětské cukrovky

DigiZone.cz: Sat novinky: slovenská TV8 HD i ruský NTV Mir

Sat novinky: slovenská TV8 HD i ruský NTV Mir

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Vitalia.cz: Drahé i levné. Tyhle potraviny nosili na charitu

Drahé i levné. Tyhle potraviny nosili na charitu

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Vitalia.cz: Co nabídne největší výživová konference FOOD21?

Co nabídne největší výživová konference FOOD21?

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Měšec.cz: Přejete si číslo účtu na přání?

Přejete si číslo účtu na přání?

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA