Nejlepší nástroje pro testování per: sniffery a práce s balíčky. Wireshark (zachycovač síťových paketů) Připraven sniffer

Čichači Sniffery jsou programy, které dokážou zachytit a následně analyzovat síťový provoz. Sniffery jsou užitečné v případech, kdy potřebujete zachytit hesla nebo provést diagnostiku sítě. Program lze nainstalovat na jedno zařízení, ke kterému máte přístup a během krátké doby přijímat všechna přenášená data z podsítě.

Jak fungují čichaři

Provoz můžete zachytit pomocí snifferu následujícími způsoby:

  • Při poslechu v normálním režimu síťového rozhraní je tato metoda účinná pouze tehdy, když se v určité oblasti používají rozbočovače a nikoli přepínače.
  • Pokud připojíte sniffer k místu, kde se kanál zlomí, můžete zachytit provoz.
  • Adaptér nebo program změní cestu provozu a odešle kopii do snifferu.
  • Vedlejší efekty elektromagnetická radiace analyzovat a obnovit naslouchací provoz.
  • Napadena je linková a síťová vrstva, která přesměruje provoz na sniffer k získání dat, načež je provoz přesměrován po předchozí trase.

Provoz zachycený snifferem je analyzován, což nám umožňuje identifikovat:

Konvenční sniffery analyzují provoz velmi jednoduše pomocí nejdostupnějších automatizovaných nástrojů a jsou schopny analyzovat pouze velmi malé objemy.

Příklady nejznámějších snifferů:

  • WinSniffer 1.3 je nejlepší sniffer, má mnoho různých přizpůsobitelných režimů a je schopen zachytit hesla pro různé služby;
  • CommViev 5.0 zachycuje a analyzuje internetový provoz lokální síť. Shromažďuje informační data spojená s modemem a síťovou kartou a dekóduje je. To umožňuje vidět úplný seznam síťová připojení, statistiky IP. Zachycené informace jsou uloženy v samostatný soubor pro následnou analýzu navíc, pohodlný systém filtrování umožňuje ignorovat nepotřebné pakety a ponechává pouze ty, které útočník potřebuje;
  • ZxSniffer 4.3 je malý sniffer o objemu 333 kb, vejde se na každé moderní paměťové médium a může být použit;
  • SpyNet je poměrně známý a oblíbený sniffer. Mezi hlavní funkce patří zachycení provozu a dekódování datových paketů;
  • IRIS má rozsáhlé možnosti filtrování. Schopný zachytit pakety se stanovenými omezeními.

Klasifikace snifferů

Sniffery se dělí podle způsobu použití na legální a nelegální. Přitom samotný koncept snifferů je aplikován specificky ve vztahu k nelegálnímu používání, zatímco legální se nazývají „Traffic Analyzer“.

Aby bylo možné přijímat úplné informace o stavu sítě a rozumí tomu, co dělají zaměstnanci na svých pracovištích, používají legální sniffery (dopravní analyzátory). Pomoc snifferů nelze přeceňovat, když je potřeba „naslouchat“ programovým portům, přes které mohou posílat důvěrná informace jejich majitelům. Programátorům pomáhají při ladění a interakci s programy. Pomocí analyzátorů provozu můžete rychle odhalit neoprávněný přístup k datům nebo útok DoS.

Nelegální použití zahrnuje špehování uživatelů sítě, útočník bude moci získat informace o tom, které stránky uživatel používá, odesílat data a dozvědět se o programech používaných ke komunikaci. Hlavním účelem „naslouchání“ provozu je získat přihlašovací jména a hesla přenášená v nešifrované podobě.

Analyzátory provozu se liší v následujících schopnostech:

  • Podpora protokolů spojové vrstvy i fyzických rozhraní.
  • Kvalita dekódování protokolu.
  • Uživatelské rozhraní.
  • Poskytování přístupu ke statistikám, prohlížení provozu v reálném čase atd.

Zdroj ohrožení

Sniffers může pracovat na:

  • Router – veškerý provoz procházející zařízením lze analyzovat.
  • Na koncovém uzlu sítě jsou všechna data přenášená sítí dostupná všem síťovým kartám, ale ve standardním provozním režimu si toho síťové karty, pro které nejsou data určena, jednoduše nevšimnou. Navíc když přeložíme síťová karta do promiskuitního režimu, bude možné přijímat všechna data přenášená v síti. A sniffery vám samozřejmě umožňují přepnout do tohoto režimu.

Analýza rizik

Každá organizace může být ohrožena šňupáním. Zároveň existuje několik možností, jak ochránit organizaci před únikem dat. Nejprve musíte použít šifrování. Za druhé, můžete použít antisniffer.

Antisniffer – software popř Hardware práci na síti a umožňuje vám najít sniffery.

Při použití pouze šifrování při přenosu dat nebude možné skrýt skutečnost přenosu. Proto můžete použít šifrování ve spojení s antisnifferem.

V tomto článku se podíváme na vytvoření jednoduchého snifferu pro OS Windows.
Kdo má zájem, vítejte na kočičce.

Úvod

Cílová: napsat program, který bude zachycovat síťový provoz (Ethernet, WiFi) přenášený přes IP protokol.
Vybavení: Visual Studio 2005 nebo vyšší.
Přístup, který je zde popsán, nepatří autorovi osobně a je úspěšně používán v mnoha komerčních i kategoricky bezplatné programy(ahoj, GPL).
Tato práce je určena především začátečníkům v síťovém programování, kteří však mají alespoň základní znalosti v oblasti socketů obecně a socketů Windows konkrétně. Sem budu často psát známé věci, protože předmětová oblast je specifická, když něco vynechám, bude se mi motat hlava.

Doufám, že vás to zaujme.

Teorie (čtení není povinné, ale doporučeno)

V tento moment Naprostá většina moderních informačních sítí je založena na základu zásobníku protokolů TCP/IP. Zásobník protokolů TCP/IP (Transmission Control Protocol/Internet Protocol) je souhrnný název pro síťové protokoly různé úrovně, používané v sítích. V tomto článku nás bude zajímat především protokol IP - směrovaný síťový protokol sloužící k negarantovanému doručování dat rozdělených do tzv. paketů (správnější termín je datagram) z jednoho síťového uzlu do druhého.
Zvláště nás zajímají IP pakety určené k přenosu informací. Tohle stačí vysoká úroveň síťový datový model OSI, kdy se můžete izolovat od zařízení a média pro přenos dat, fungující pouze s logickou reprezentací.
Je zcela logické, že se dříve či později měly objevit nástroje pro zachycování, sledování, záznam a analýzu síťového provozu. Takové nástroje se obvykle nazývají analyzátory provozu, paketové analyzátory nebo sniffery (z angličtiny sniff - sniff). Jedná se o analyzátor síťového provozu, programové nebo hardwarově-softwarové zařízení určené k zachycení a následné analýze nebo pouze analýze síťového provozu určeného pro jiné uzly.

Cvičení (podstatná konverzace)

V současné době se toho vytvořilo poměrně hodně software poslouchat provoz. Nejznámější z nich: Wireshark. Cílem samozřejmě není sklidit vavříny – zajímá nás úkol zachytit provoz pouhým „poslechem“ síťového rozhraní. Je důležité pochopit, že nebudeme hackovat a zachycovat cizinec provoz. Potřebujeme pouze zobrazit a analyzovat provoz, který prochází naším hostitelem.

Proč to může být potřeba:

  1. Zobrazení aktuálního toku provozu přes síťové připojení (příchozí/odchozí/celkový).
  2. Přesměrujte provoz pro následnou analýzu na jiného hostitele.
  3. Teoreticky to můžete zkusit využít k hacknutí WiFi sítě (to se nechystáme, že?).
Na rozdíl od Wiresharku, který je založen na knihovně libpcap/WinPcap, náš analyzátor tento ovladač nepoužívá. A co víc, nebudeme mít vůbec žádný ovladač a nebudeme psát vlastní NDIS (och hrůza!). O tom si můžete přečíst v tomto tématu. Bude prostě pasivním pozorovatelem, pomocí pouze Knihovna WinSock. Použití ovladače v v tomto případě redundantní.

Jak to? Velmi jednoduché.
Klíčový krok ve zjednodušení síťová aplikace v síťovém analyzátoru je přepnutí síťového rozhraní do promiskuitního režimu, který mu umožní přijímat pakety adresované jiným rozhraním v síti. Tento režim je vynucený síťová karta přijímat všechny rámce bez ohledu na to, komu jsou v síti adresovány.

Počínaje Windows 2000 (NT 5.0) bylo velmi snadné vytvořit program pro poslech segmentu sítě, protože její síťový ovladač umožňuje přepnout zásuvku do režimu příjmu všech paketů.

Povolení promiskuitního režimu
dlouhá vlajka = 1; zásuvka SOCKET; #define SIO_RCVALL 0x98000001 ioctlsocket(socket, SIO_RCVALL, &RS_Flag);
Náš program pracuje na IP paketech a používá knihovnu Windows Sockets verze 2.2 a raw sokety. Aby bylo možné získat přímý přístup k IP paketu, musí být soket vytvořen následovně:
Vytvoření raw socketu
s = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
Tady místo konstanty SOCK_STREAM(protokol TCP) popř SOCK_DGRAM(UDP protokol), použijeme hodnotu SOCK_RAW. Obecně lze říci, že práce s raw sockety je zajímavá nejen z pohledu traffic capture. Ve skutečnosti získáváme úplnou kontrolu nad tvorbou balíčku. Nebo jej spíše tvoříme ručně, což umožňuje například odeslat konkrétní ICMP paket...

Pokračuj. Je známo, že IP paket se skládá z hlavičky, servisních informací a ve skutečnosti dat. Doporučuji vám podívat se sem, abyste si osvěžili své znalosti. Pojďme si IP hlavičku popsat ve formě struktury (díky výbornému článku o RSDN):

Popis struktury IP paketu
typedef struct _IPHeader ( unsigned char ver_len; // verze záhlaví a délka unsigned char tos; // typ služby unsigned short length; // délka celého paketu unsigned short id; // Id unsigned short flgs_offset; // příznaky a offset unsigned char ttl ; // doživotní nepodepsaný char protokol; // protokol bez znaménka short xsum; // kontrolní součet unsigned long src; // IP adresa odesílatele unsigned long dest; // cílová IP adresa unsigned short *params; // parametry (až 320 bity) unsigned char *data; // data (až 65535 oktetů) )IPHeader;
Hlavní funkce naslouchacího algoritmu bude vypadat takto:
Funkce zachycení jednoho paketu
IPHeader* RS_Sniff() ( IPHeader *hdr; počet int = 0; počet = recv(RS_SSocket, (char*)&RS_Buffer, sizeof(RS_Buffer), 0); if (count >= sizeof(IPHeader)) (hdr = (LPIPHeader )malloc(MAX_PACKET_SIZE); memcpy(hdr, RS_Buffer, MAX_PACKET_SIZE); RS_UpdateNetStat(počet, hdr); return hdr; ) jinak vrátí 0; )
Zde je vše jednoduché: přijímáme část dat pomocí standardní funkce socket rev a poté je zkopírujte do struktury jako IPHeader.
A nakonec začneme nekonečnou smyčku zachycování paketů:
Pojďme zachytit všechny pakety, které dosáhnou našeho síťového rozhraní
while (true) ( ​​​​IPHeader* hdr = RS_Sniff(); // zpracování IP paketu if (hdr) ( // tisk záhlaví v konzole) )
Trochu offtopic
Zde a níže autor vytvořil předponu RS_ (z Raw Sockets) pro některé důležité funkce a proměnné. Projekt jsem dělal před 3-4 lety a dostal jsem šílený nápad napsat plnohodnotnou knihovnu pro práci s raw sockety. Jak se často stává, po získání některých významných (pro autora) výsledků nadšení vyprchalo a věc nedošla dále než k příkladu školení.

V zásadě můžete jít dále a popsat záhlaví všech následujících protokolů umístěných výše. Chcete-li to provést, musíte pole analyzovat protokol ve struktuře IPHeader. Podívejte se na ukázkový kód (ano, měl by tam být přepínač, sakra!), kde je hlavička barevná podle toho, jaký protokol má paket zapouzdřený v IP:

/* * Zvýraznění balíčku barvou */ void ColorPacket(const IPHeader *h, const u_long haddr, const u_long whost = 0) ( if (h->xsum) SetConsoleTextColor(0x17); // pokud balíček není prázdný else SetConsoleTextColor(0x07) ; // prázdný balíček if (haddr == h->src) ( SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_RED | FOREGROUND_INTENSITY); // "nativní" balíček pro návrat ) else if (haddr == h->dest ) ( SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_GREEN | FOREGROUND_INTENSITY); // "nativní" příjem paketu ) if (h->protocol == PROT_ICMP || h->protocol =) (SetColorConsole =) PROT_IGMP (0x70) ; // ICMP paket ) else if(h->protokol == PROT_IP || h->protokol == 115) ( SetConsoleTextColor(0x4F); // paket IP-in-IP, L2TP ) else if(h - >protokol == 53 || h->protokol == 56) ( SetConsoleTextColor(0x4C); // TLS, IP se šifrováním ) if(whost == h->dest || whost == h->src) ( SetConsoleTextColor (0x0A); ) )

To však výrazně přesahuje rámec tohoto článku. Pro náš tréninkový příklad bude stačit podívat se na IP adresy hostitelů, ze kterých a na který provoz přichází, a vypočítat jeho množství za jednotku času (hotový program je v archivu na konci článku) .

Chcete-li zobrazit data záhlaví IP, musíte implementovat funkci pro převod záhlaví (ale ne dat) datagramu na řetězec. Jako příklad implementace můžeme nabídnout následující možnost:

Převod IP hlavičky na řetězec
inline char* iph2str(IPHeader *iph) ( const int BUF_SIZE = 1024; char *r = (char*)malloc(BUF_SIZE); memset((void*)r, 0, BUF_SIZE); sprintf(r, "ver=% d hlen=%d tos=%d len=%d id=%d příznaky=0x%X offset=%d ttl=%dms prot=%d crc=0x%X src=%s dest=%s", BYTE_H (iph->ver_len), BYTE_L(iph->ver_len)*4, iph->tos, ntohs (iph->length), ntohs (iph->id), IP_FLAGS(ntohs(iph->flgs_offset)), IP_OFFSET (ntohs(iph->flgs_offset)), iph->ttl, iph->protocol, ntohs(iph->xsum), nethost2str(iph->src), nethost2str(iph->dest)); return r; )
Na základě výše uvedených základních informací získáme tento malý program (creepy name ss, zkratka pro simple sniffer), který implementuje lokální naslouchání IP provozu. Jeho rozhraní je znázorněno níže na obrázku.

Poskytuji zdrojový a binární kód tak, jak je, jako před několika lety. Teď se na to bojím dívat, a přesto je to docela čtivé (samozřejmě nemůžete být tak sebevědomí). Pro kompilaci bude stačit i Visual Studio Express 2005.

Čím jsme skončili:

  • Sniffer pracuje v uživatelském režimu, ale vyžaduje oprávnění správce.
  • Pakety se nefiltrují a zobrazují se tak, jak jsou (můžete přidat vlastní filtry - doporučuji se na toto téma podrobně podívat v dalším článku, pokud vás to zajímá).
  • Zachycuje se také provoz WiFi (vše závisí na konkrétní modelčip, nemusí vám to fungovat, jako mně před několika lety), ačkoli existuje AirPcap, který to umí skvěle, ale stojí peníze.
  • Celý datový proud je zaprotokolován do souboru (viz archiv přiložený na konci článku).
  • Program běží jako server na portu 2000. Můžete se připojit pomocí nástroje telnet k hostiteli a sledovat toky provozu. Počet připojení je omezen na dvacet (kód není můj, našel jsem ho na internetu a použil k experimentům; nesmazal jsem ho - škoda)
Děkuji za pozornost, blahopřeji obyvatelům Chabrovska a obyvatelům Chabrovska a všem, všem, Veselé Vánoce!

Zde je dobrý sniffer (analyzátor síťového provozu, můžete jej použít k zachycení informací), který vám umožní získat poměrně úplné informace ve vizuálním videu o všech paketech procházejících vámi zvoleným protokolem; v úplných zprávách můžete snadno stáhnout IP Sniffer. Vývojáři se pokusili a vytvořili z běžného snifferu výkonnější program, protože nyní je možné filtrovat zpracovaná data a kompletně dekódovat celý obsah paketů.

IP Sniffer má řadu dalších utilit, včetně docela dobrého sledování provozu, v diagramech si můžete prohlédnout nejčastěji používané IP adresy, totéž lze říci o protokolech. Pokud chcete, můžete pracovat s Address Determination Protocol, nebo lépe známým jako ARM - prohlížet jej, mazat různé záznamy, odesílat odpovědi. Existuje funkce, která vám pomůže získat název Netbios pro danou IP adresu. Rád bych poznamenal nástroj Netstat v IP Sniffer - zobrazí různé typy síťová připojení a budete mít možnost vynutit ukončení vámi vybraných připojení, což je docela pohodlné.

Pokud potřebujete získat úplné informace o síťovém adaptéru, který používáte, program vám pomůže i zde. Mimo jiné existuje podpora pro Spoofing různých protokolů, včetně ARP, což znamená podporu pro zachycování provozu mezi různými hostiteli. IP Sniffer umí vyhledávat DHCP servery, je zde vestavěná služba pro vydávání informací o IP adresách, které potřebujete, IP můžete převést na Hostname a podle toho i naopak, samozřejmě je možné pingovat i hostitele a sítě.

IP Sniffer nevyžaduje instalaci, lze jej spustit z média, nemá ruskou podporu a má jednoduché rozhraní bez podpory pro výměnu sněhových vloček. Obecně je to vývoj před vámi, myslím, že pro určité účely to bude docela užitečné. Nezapomeňte zanechat své názory na tento program, pokud pro něj někdo najde využití, podělte se o své dojmy a nezapomeňte, že je zcela zdarma.

Název vydání: IP.Sniffer.1.99.3.6
Vývojář:

Erwanův blog

Licence: FreeWare
Jazyk: Angličtina
Velikost: 7,16 MB
OS:Okna
Stažení:

- 7,16 MB

SmartSniff umožňuje zachytit síťový provoz a zobrazit jeho obsah v ASCII. Program zachycuje procházející pakety síťový adaptér a zobrazuje obsah paketů v textové podobě (protokoly http, pop3, smtp, ftp) a ve formě hexadecimálního výpisu. K zachycení paketů TCP/IP používá SmartSniff následující techniky: raw sockets - RAW Sockets, WinCap Capture Driver a Microsoft Network Monitor Driver. Program podporuje ruský jazyk a je snadno použitelný.

Program Sniffer pro zachycení paketů


SmartSniff zobrazuje následující informace: název protokolu, místní a vzdálenou adresu, místní a vzdálený port, místní uzel, název služby, objem dat, celkovou velikost, čas zachycení a čas posledního paketu, trvání, místní a vzdálenou MAC adresu, země a datový paket obsah . Program má flexibilní nastavení, implementuje funkci zachytávacího filtru, rozbalování http odpovědí, převod IP adres, utilita je minimalizována na systémovou lištu. SmartSniff generuje zprávu o tocích paketů ve formuláři HTML stránky. Program umí exportovat TCP/IP streamy.

Čichač není vždy zlomyslný. Ve skutečnosti, tenhle typ Tento software se často používá k analýze síťového provozu k detekci a nápravě anomálií a zajištění hladkého provozu. Sniffer však může být použit se zlým úmyslem. Sniffery analyzují vše, co jimi prochází, včetně nešifrovaných hesel a přihlašovacích údajů, takže hackeři s přístupem k snifferu mohou získat osobní údaje uživatelů. Sniffer lze navíc nainstalovat na jakýkoli počítač připojený k lokální síti, aniž by bylo nutné jej instalovat na samotné zařízení – jinými slovy, nelze jej detekovat po celou dobu připojení.

Odkud pocházejí čichači?

Hackeři používají sniffery ke krádeži cenných dat sledováním síťové aktivity a shromažďováním osobní informace o uživatelích. Útočníci se obvykle nejvíce zajímají o uživatelská hesla a přihlašovací údaje, aby získali přístup k online bankovnictví a účtům online obchodů. Nejčastěji hackeři instalují sniffery do míst, kde je distribuován nechráněný software. Wi-Fi připojení např. v kavárnách, hotelech a na letištích. Sniffery se mohou maskovat jako zařízení připojené k síti v takzvaném spoofingovém útoku, aby ukradli cenná data.

Jak poznat čichače?

Neautorizované sniffery je velmi obtížné virtuálně rozpoznat, protože je lze nainstalovat téměř kdekoli, což představuje velmi vážnou hrozbu. zabezpečení sítě. Běžní uživateléčasto nemají šanci rozpoznat, že sniffer sleduje jejich síťový provoz. Teoreticky je možné nainstalovat si vlastní sniffer, který by vše sledoval DNS provoz pro přítomnost dalších snifferů je však pro běžného uživatele mnohem snazší nainstalovat anti-sniffovací software nebo antivirové řešení, které zahrnuje ochranu síťové aktivity, aby zastavil jakékoli neoprávněné narušení nebo skryl své síťové aktivity.

Jak odstranit sniffer

Můžete použít vysoce účinný antivirus k detekci a odstranění všech typů malwaru nainstalovaného ve vašem počítači pro účely sniffování. Nicméně pro úplné odstranění sniffer, musíte ze svého počítače odstranit absolutně všechny složky a soubory, které s ním souvisejí. Důrazně se také doporučuje používat antivirus se síťovým skenerem, který důkladně prověří lokální síť na zranitelnosti a v případě jejich nalezení dá pokyn k dalšímu postupu.

Jak se nestát obětí sniffera
  • Šifrujte všechny informace, které odesíláte a přijímáte
  • Prohledejte místní síť, zda neobsahuje zranitelnosti
  • Používejte pouze ověřené a zabezpečené sítě Wi-Fi
Chraňte se před čichači

První věc, kterou může uživatel udělat, aby se ochránil před sniffery, je použít vysoce kvalitní antivirus, jako je Antivirus zdarma Avast, který je schopen důkladně prohledat celou síť kvůli bezpečnostním problémům. Dalším a vysoce účinným způsobem ochrany informací před sniffováním je šifrování všech dat odeslaných a přijatých online, včetně e-mailů. pošta. Avast SecureLine vám umožňuje bezpečně šifrovat všechny výměny dat a provádět online akce ve 100% anonymitě.