Wireshark, aneb jak odposlouchávat síť - 1.díl Pokud jste někdy přemýšleli, jak funguje přenos protokolů na síti, nebo jste jenom bádali nad tím, jak by se dalo odposlouchávat vaše síťové zařízení, až do úplného rozkladu paketů, tak tento miniseriál je přesně pro vás. O co jde? Wireshark (dříve Ethereal) je protokolový sniffer (sniffer program, který umožňuje odposlouchávání všech protokolů, které počítač přijímá/odesílá v tomto případě přes síťové rozhraní). Wireshark dokáže, celý paket (paket balíček informací putující sítí) dekódovat a ukázat vám ho celý jak ho počítač poslal. Jeho výhoda je také, že je šířen pod licencí GNU/GPL. Linux není žádný problém Program je dostupný pro mnoho platforem (MS Win96 Vista, GNU/Linux, Apple/Mac OS X, FreeBSD, HP-UX, Solaris a další), ale já zde popíši jen instalaci pro MS Windows a částečně pro GNU/Linux pro většinu distribucí je dostupná instalace pomocí balíčků, takže je instalace úplně triviální. Pro vaší platformu si stáhnete balík popř. instalační program (pro MS Windows) na adrese uvedené níže, jediné co vám může při klasické instalaci připadat navíc je instalace knihovny Winpcap na MS Win a libpcap na Unixových platformách, tato knihovna umožňuje přistupovat k síti a síťovým zařízením. V MS Windows se přes instalaci proklikáte úplně normálně jako v jiných instalacích a při dokončení instalace je Wireshark plně funkční. Pod GNU/Linux je nejjednodušší program nainstalovat ve formě balíčků, buď přímo z repositářů nebo jej stáhnout již ze zmíněné adresy a vybrat si balíček pro vaši distribuci, při instalaci ve formě balíčků se vám automaticky stáhne závislost na knihovnu libpcap. Tolik k instalaci a teď k programu. Wireshark Práce s programem Na začátek je nutno říct, že Wireshark pracuje pouze pasivně neodesílá nic z vašeho počítače. Teď se s Wiresharkem drobet seznámíme. Pokud ho spustíte, objeví se před vámi přívětivé menu, ve kterém si vybereme položku Interface List kde máte dostupné vaše síťové prvky, které můžete
odposlouchávat a tlačítkem start jednoduše začnete odposlouchávat příslušné zařízení. Teď zkuste např. napsat kamarádovi přes IM klient (ICQ, Jabber aj.) nebo něco vyhledat ve vašem prohlížeči a uvidíte kolik toho na vás vyskočí. Začneme v horní části okna, kde se vypisují pakety. Pakety se standardně řadí podle času (Time), který je zobrazen jako druhý zleva hned za číslem paketu No. Dále je zde IP adresa (adresa počítače v síti, podle které se identifikuje, funguje podobně jako adresa vašeho bydliště) od koho byl paket poslán Source a IP adresa příjemce Destination a typ protokolu a dále jenom základní informace o paketu. Pod tím následuje další okno, ve kterém se zobrazují podrobnější informace o paketu, který byl z horní nabídky vybrán. Ještě více dole jsou zobrazeny data, která přímo putují po síti. Tak to bychom měli počáteční seznámení s programem. Když program necháte běžet delší dobu při aktivním síťovém provozu zjistíte, že se vám zobrazilo tolik dat, že se v tom těžko vyznáte. Odposlouchávání Filtry jak najít jen to co opravdu chceme Tímto se dostáváme k filtrům, které vám umožní odchytávat pakety např. jenom od určité IP adresy. Klikněte na Capture v horní části menu a zadejte stop. Tím ukončíte skenování síťového provozu a místo na tlačítko start klikněte na tlačítko Options. Zde se nastavují filtry. Klikněte na Capture Filter a zde vyberte položku IP address 192.168.0.1 a poté zaměňte uvedenou IP adresu na adresu, kterou chcete skenovat. Vedle tlačítka Capture Filtres, kde se nastavují filtry pro skenování si můžete nastavit svůj vlastní filtr a to pomocí základní Booleovy algebry. Toto na začátek k filtrům. Dále bych zde ještě něco uvedl k vlastnímu nastavení programu. V menu Edit Preferences se nalézá nastavení programu. Základní volby vzhledu jsou v nabídce User Interfaces kde si můžete nastavit v nabídce Layout jiné rozvržení oken, v nabídce Columns si můžete předefinovat pořadí informací o paketu nebo v nabídce ////Font si dát jiné písmo atd. Jsou tu i ostatní nabídky, ale ty doporučuji zatím nechat tak jak jsou.
A o čem příště? Toto je vše k prvnímu dílu, příště ještě drobet rozvedu filtry, poté ukážu, jak se zálohuje komunikace a ještě ukážu jak jednoduše odposlouchávat vlastní ICQ. Wireshark si stáhněte zde: Wireshark download: http://www.edownload.cz/sw/wireshark/ Wireshark, aneb jak odposlouchávat síť - 2.díl Máme tu další pokračování seriálu o programu Wireshark. Minule jsme se s programem seznámili a dnes si ukážeme nějaké praktické vlastnosti programu. Jak sem v prvním díle slíbil, dnes by měla přijít řada na podrobnější rozebrání filtrů a také si ukážeme jak odposlouchávat ICQ pakety odeslané vaším IM klientem, také si ukážeme tímto rozborem, že ICQ protokol nepoužívá žádné šifrování na rozdíl od protokolu XMPP. Dále zde popíšu jak zálohovat váš odposlouchávaný provoz na síti. Filtry V minulém díle jsem popsal základ nastavení filtrů. V tomto odstavci bych zde napsal ještě pár tipů o filtrech. K filtrům se dostanete přes horní panel a volbu Capture a zde vyberte volbu Options, pro zvolení odposlouchávání i jiné komunikace než, která je určena pro váš počítač nechte zatrženo Capture packets inpromiscuous mode hodí se to, především když máte Wireshark spuštění na routeru, kde jde komunikace i jiných uživatelů. Když kliknete na Capture filtres nabídne se vám nabídka filtrů, které můžete vybrat a odposlouchávat jenom vámi vybraný typ spojení. Po potvrzení se vám váš vybraný filtr objeví v textovém poli vedle tlačítka, kde ho můžete dál modifikovat pomocí jednoduché Booleovy algebry (not) výraz and / or (not) výraz, např. předepsáním po vybrání
položky IP address 192.168.0.1 a předepsáním před tento výraz not vám automaticky Wireshark vyřadí z výpisu všechny pakety příchozí nebo odchozí od 192.168.0.1 (pro ty kdo nečetli první článek). Podobně se zde definují filtry na (ne)odposlouchávání portů např. tcp port http vám bude odposlouchávat jen komunikaci, kterou vede váš prohlížeč. Capture Options Wireshark obsahuje ještě druhý způsob filtrování a to, že se vyfiltrované pakety nezobrazí ve výpisu, tento filtr nabízí větší možnosti než Capture filtres a najdete ho na horním, panelu pod položkou Analyze Display filtres. Zde je trošku jiné nastavení výrazů, než v Capture filtres, ale pro ukázku tu máte na výběr pár výchozích, výrazů ze kterých si můžete vybrat a poté pomocí operátorů poskládat v textovém poli Filter string vlastní filtr. Zde je základní seznam operátorů, které se podobají operátorů v programovacím jazyce C, které se pro toto filtrování dají použít == Rovná se,!= nerovná se, && log. AND, log. OR.
Ukládání Komunikace Ukládání je také jednoduché a jako v jiných programech se ukládají soubory přes hlavní panel File Save As, kde si můžete ukládat svojí datovou komunikaci a podobně přes File Open jí znovu prohlížet. Všechny tyto operace jde pochopitelně dělat až po ukončení sledování Praktická ukázka Na praktické ukázce ukážu, jak se dobře odposlouchává cizí komunikace přes protokol ICQ. Takže si zapněte váš ICQ účet a zkuste někomu napsat pro snadnější sledování komunikace přes Wireshark přestaňte využívat prohlížeč či jinou komunikaci na přes vaší síti. Až napíšete něco přes ICQ klient a vyskočí na vás z Wiresharku plno paketů tak najděte ve sloupečku protokol typ AIM Messaging a klikněte na něj pravím tlačítkem a vyberte položku Follow TCP Stream. Tato volba vám vybere všechny data ze streamu (proudu) vaší komunikace. Modře se zvýrazňuje příchozí komunikaci a červenou odchozí. Výsledek se bude lišit od různých klientů, ale celkem slušně se zde dá číst celá vaše datová komunikace. Závěr Wireshark je šikovný nástroj s velice širokým zaměřením a během těchto dvou dílu se zde určitě nevyjádřím ani k jedné desetině, proto bych zde uvedl knihu pro ty, které zajímá podrobněji o programu Wireshark jmenuje se Wireshark a Ethereal a vydává jí nakladatelství Computer Press.