už jste někdy byli v obtížné pozici jako síťový inženýr, kde budete mít řešení problému, ale neděláte pokrok? V určitých případech, jako je tento, si jen přejete, abyste viděli, co se skutečně děje s každým paketem v toku provozu.

pokud jste na směrovači Cisco, možná budete chtít použít příkaz debug IP packet IOS, ale pravděpodobně jste slyšeli(a zažili?) že zapnutí ladění ve výrobní síti může mít vážné dopady na výkon. Co děláte v takových chvílích, kdy máte pocit, že máte svázané ruce?

Zadejte Zachycení Paketů.

pomocí funkce Packet capture se můžete podívat do jednotlivých paketů, které proudí po síti, a použít informace získané z tohoto procesu pro několik účelů-ať už se snažíte prozkoumat využití velké šířky pásma nebo monitorovat síť kvůli podezřelému provozu – uvidíme výhody, jak budeme pokračovat v naší laboratoři.

v tomto článku budeme podrobně diskutovat o zachycení paketů tím, že se podíváme na jeho použití, výzvy spojené se zachycením paketů, nástroje, které mohou pomoci se zachycením paketů, a také nakonfigurovat laboratoř, která se zaměřuje na zachycení paketů pomocí Wireshark a analýzu paketů, které jsme čichali, abychom pochopili, co dělají.

co je to „Paket“?

než budeme pokračovat v tomto článku, promluvme si nejprve o tom, co máme na mysli „pakety“. Pokud jste ve světě sítí ještě krátkou dobu, pak budete obeznámeni s modelem OSI:

7 vrstev, od aplikace až po fyzickou vrstvu.

 OSI model diagram

co se tedy stane, když dvě zařízení v síti chtějí komunikovat? Vezměme si příklad klienta, který chce přistupovat k určité stránce na webovém serveru. Z vysoké úrovně klient provede požadavek HTTP pro danou stránku na webovém serveru.

aby se však tento požadavek HTTP dostal na server, musí být data „zapouzdřena“ v různých vrstvách modelu OSI. Například požadavek HTTP bude zapouzdřen v záhlaví TCP a poté v záhlaví IP a poté se stane rámcem Ethernet, dokud nebude odeslán přes drát na server. Server pak provede reverzní proces (dekapsulaci), dokud načte požadavek HTTP od klienta a poté jej nezpracuje.

Poznámka: Jedná se o zjednodušení procesu. Než bude možné odeslat požadavek HTTP, proběhnou další formy komunikace, jako je Arp a TCP Handshake.

ve většině případů bude mezi klientem a serverem odesláno několik „paketů“, které vytvoří komunikaci/konverzaci mezi těmito zařízeními. Co paket capture dělá, je zachytit každý paket, který tvoří konverzaci, aby tyto pakety mohly být zkoumány na hlubší úrovni.

poznámka: v terminologii sítě nazýváme data v transportní vrstvě segmentem, data v síťové vrstvě paketem a data v datové vrstvě rámcem. Nicméně, když mluvíme o zachycení paketů,“ paket “ označuje data, která byla zapouzdřena v horních vrstvách (e .g aplikační vrstva) až do okamžiku, kdy je paket připraven k ukončení / zadání rozhraní.

Paket Capture Use-Cases

Nyní, když jsme dostali definice z cesty, pojďme diskutovat o některých případech použití pro zachycení paketů – proč byste chtěli provést zachycení paketů?

řešení problémů se sítí

na začátku tohoto článku jsem popsal příliš běžný scénář, kdy zachycení paketů může být velmi užitečné, což je při řešení problémů v síti, včetně ztráty paketů a přetížení sítě.

pro řešení problémů není zachycení paketů jen o tom, co vidíte; je to také o tom, co nevidíte. Pokud si například někteří uživatelé v určitém segmentu sítě stěžují, že nemají přístup k serveru, paket capture vám může pomoci tento problém vyřešit.

možná, že uživatelé, kteří mají přístup k serveru, používají jinou výchozí bránu než ti, kteří nemohou. pokud zachytíte pakety na jedné z bran, můžete objevit pakety, které přes tuto bránu nepřicházejí.

vyšetřování bezpečnostních incidentů

během jednoho z mých cvičení pro řešení problémů pro společnost jsme si všimli, že některá zařízení jsou ochromena určitým provozem, který jimi prochází. Problém byl tak špatný, že to ovlivňovalo připojení konzoly k zařízením a sotva jsme mohli zařízení řešit na místě.

naštěstí tato společnost monitorovala veškerý provoz procházející jejich sítí a udržovala zálohu všech těchto paketů.

když jsme se podívali na zachycení paketů, všimli jsme si konkrétní IP adresy, která odeslala velké množství paketů. Další šetření odhalilo, že tato IP adresa byla použita k provedení útoku Denial of Service (DoS) na síť společnosti. Blokování této IP adresy dočasně vyřešilo problém.

Toto je jedno z použití zachycení paketů, které pomáhá vyšetřovat bezpečnostní incidenty, jako je ten popsaný výše. Zachycením paketů protékajících sítí je možné identifikovat viry, spyware a další formy malwaru a bezpečnostních hrozeb.

učení

jedním z mých oblíbených použití paketů je pro účely učení. Když se učím novou technologii a možná si přečtu RFC o této technologii, je obvykle užitečné použít zachycení paketů, abyste viděli technologii v akci.

například běžně slyšíme, že TCP handshake se skládá ze tří paketů: SYN, SYN+ACK, ACK,ale viděli jste někdy TCP handshake mezi dvěma zařízeními?

zachycením paketů mezi zařízeními komunikujícími přes TCP se můžete naučit a vidět proces podání ruky TCP.

nástroje pro zachycení paketů

takže jste se rozhodli, že chcete provést zachycení paketů,jak to děláte? První věc, kterou musíte udělat, je rozhodnout, jaký je váš cíl. Zajímá Vás pouze zachycení paketů nebo chcete také analyzovat zachycené pakety?

příkladem první instance je společnost, o které jsem hovořil výše. V době zachycení paketů se zajímali pouze o ukládání paketů pro účely zálohování, které by mohly být použity pro forenzní analýzu nebo jako regulační požadavek. V případě, jako je řešení problémů se sítí, však chcete zachytit pakety a také je okamžitě analyzovat, abyste zjistili, jaký je problém v síti.

existuje několik nástrojů, které lze použít k zachycení (a analýze) paketů (včetně NetFlow a dalších protokolů flow) a mnoho z nich se spoléhá na nějakou formu implementace pcap pro zachycení živého síťového provozu. Pro unixové systémy se používá knihovna libpcap, zatímco Windows používá port libpcap nazvaný WinPcap. Existují ještě další implementace jako Npcap a Win10Pcap.

Wireshark

první na našem seznamu nástrojů je Wireshark, dříve známý jako éterický. Wireshark je pravděpodobně nejslavnější nástroj pro zachycení paketů, známý také jako analyzátor síťových protokolů, protože jde nad rámec pouhého zachycení.

s Wireshark můžete zachytit pakety na různých médiích (Ethernet, wireless atd.), analyzovat je, konfigurovat filtry, hledat pakety a tak dále. Wireshark má také některé skvělé pokročilé funkce, jako je schopnost sledovat toky TCP, provádět analýzu TCP a znovu sestavovat pakety.

Wireshark je založen na GUI, což může být problém v případech, kdy GUI nelze použít, jako na některých serverech Linux, které jsou založeny na terminálu. Existují dva způsoby, jak tento problém obejít. Jedním ze způsobů je použít jiný nástroj k zachycení paketů a poté Použít Wireshark k analýze zachycených paketů (pokud jsou pakety uloženy ve formátu souboru čitelném Wiresharkem, obvykle pcap).

druhým způsobem, jak obejít problém bez GUI s Wiresharkem, je použít terminálovou verzi Wiresharku nazvanou Tshark. Podporuje stejné možnosti jako Wireshark a není nijak omezen / horší.

tcpdump

starší nástroj než samotný Wireshark je tcpdump, který lze také použít pro zachycení a analýzu paketů. Zatímco Wireshark funguje v několika operačních systémech včetně systémů Windows, Mac a Unix, tcpdump funguje pouze na systémech založených na Unixu (včetně Mac). Na rozdíl od Wiresharku je tcpdump striktně nástrojem příkazového řádku a má velmi nízkou režii. To umožňuje tcpdump být spuštěn vzdáleně přes, řekněme, SSH přihlášení.

Poznámka: K dispozici je port tcpdump s názvem WinDump, který funguje na Windows.

na druhou stranu jednou z výhod Wireshark oproti tcpdump je počet protokolů, o kterých může Wireshark poskytnout podrobné informace. tcpdump je více zaměřen na TCP/IP, i když může být použit k zachycení všech forem paketů. Někteří administrátoři proto raději používají tcpdump k zachycení paketů, uložení jako soubor pcap a následnému importu do Wiresharku pro analýzu.

nástroje pro monitorování sítě

různé nástroje pro monitorování sítě, jako je PRTG a SolarWinds Network Performance Monitor, také implementují určitou formu zachycení paketů, kterou používají pro svou interní analýzu. Nezdá se, že by tyto nástroje poskytovaly možnost exportu zachycení paketů, které mají být analyzovány jinými nástroji.

existují i jiné nástroje pro zachycení paketů, jako je Colasoft Capsa, a některá zařízení také implementují vestavěnou funkci pro zachycení paketů (např.

úvahy o zachycení paketů

Chcete-li úspěšně provést zachycení paketů, je třeba zvážit několik věcí, včetně toho, co zachytit, kde zachytit a kam uložit zachycené pakety.

co zachytit

jaké pakety chcete zachytit? Chcete pakety pouze z / do konkrétního zařízení, na kterém je spuštěn nástroj pro zachycení paketů, nebo chcete zachytit pakety i z jiných zařízení? Důvodem je to, že většina rozhraní na zařízení bude ve výchozím nastavení poskytovat zařízení pouze pakety určené k tomuto zařízení(včetně multicastu a vysílání). Pro zachycení paketů určených pro jiná zařízení musí rozhraní běžet v režimu“ promiskuitní „(nebo v případě bezdrátového režimu“ monitor“).

je důležité si uvědomit, že některá rozhraní nepodporují promiskuitní režim AI když ano, některé operační systémy jej nepodporují.

kde zachytit

i když je rozhraní umístěno v promiskuitním režimu, nemusíte přijímat provoz z / z jiných zařízení. To platí zejména u přepínaných sítí. Na rozdíl od rozbočovačů, které zaplavují pakety na všech svých rozhraních (podobně jako generátory síťového provozu), přepínače obvykle zajistí, že paket bude odeslán pouze na port, ke kterému paket patří.

to znamená, že i když připojíte zařízení, na kterém je spuštěn nástroj pro zachycení paketů, k přepínacímu portu a umístíte rozhraní do promiskuitního režimu, nedostanete pakety určené jiným zařízením.

běžným způsobem, jak tento problém překonat, je nakonfigurovat něco, co se nazývá „zrcadlení portů“. Pomocí zrcadlení portů lze přepínač nakonfigurovat tak, aby kopíroval pakety na jednom rozhraní / VLAN do jiného portu, ke kterému je obvykle připojeno zařízení se systémem pro zachycení paketů.

Poznámka: Různí dodavatelé používají pro tuto funkci různé terminologie, včetně zrcadlení portů, analyzátoru přepínaných portů (rozpětí) atd.

úložiště se týká

posledním faktorem, který je třeba zvážit, je, kam uložit zachycené pakety. V závislosti na velikosti segmentu sítě, který má být zachycen, a na tom, jak je tento segment zaneprázdněn, může velikost zachycení paketů růst velmi rychle, na stovky megabajtů a dokonce i gigabajtů.

existuje několik možností, jak tuto obavu překonat. Nejprve můžete zachytit pakety na krátkou dobu. Za druhé, můžete nakonfigurovat filtr tak, aby zachytil pouze určitou podmnožinu paketů, např. pouze HTTP provoz na konkrétní webový server.

nakonec můžete použít externí paměťové jednotky k uchování souborů zachycených paketů. Tato poslední možnost je zvláště užitečná pro ty, kteří chtějí udržovat zálohy veškerého provozu protékajícího jejich sítí.

Lab: Wireshark v GNS3

podívejme se, jak užitečné Wireshark může být pomocí jednoduchého nastavení laboratoře v GNS3:

Chcete-li sledovat, Stáhněte si GNS3 zdarma!

stáhnout GNS3 Free

konfiguraci nastavíme, jak je vidět níže:

konfigurace na směrovačích je velmi jednoduchá. R1 je nakonfigurován s IP adresou 10.0.0.1 na rozhraní Fa0 / 0, zatímco R2 je nakonfigurován s IP adresou 10.0.0.2 na rozhraní Fa0/0. K dispozici je také heslo vty „cisco“ nakonfigurované na R2 spolu s povoleným tajemstvím „cisco“.

jednou z opravdu skvělých věcí na GNS3 je schopnost zachytit pakety přímo z GNS3 a vidět tyto pakety ve Wiresharku.

Poznámka: nastavení GNS3 je ve výchozím nastavení součástí nastavení Wireshark. Všiml jsem si však, že nastavení Wireshark zahrnuté v nedávném nastavení systému Windows GNS3 z nějakého důvodu selže. Pokud se vám to stane, stačí stáhnout Wireshark a nainstalovat jej normálně.

Chcete-li zachytit v GNS3, klepněte pravým tlačítkem myši na odkaz, na který chcete zachytit, a vyberte „Spustit snímání“. Přijměte výchozí nastavení v dialogovém okně, které se otevře, nebo jej podle potřeby upravte.

pokud vše půjde dobře, Wireshark by se měl automaticky spustit a měli byste vidět zachycené pakety. Nyní vygenerujeme některé pakety mezi R1 a R2. Otevřeme připojení telnet z R1 na R2 a jen si trochu pohrajeme (zde můžete vidět některé z nejběžnějších příkazů iOS Cisco):

a teď ta zábavná část. Pokud se podíváte na Wireshark, měli byste vidět některé pakety související s relací telnet, kterou jste právě udělali, pakety jako ARP, TCP a Telnet.

podívejme se na jeden z takových paketů, např. na první TCP paket (součást TCP handshake). První věc, kterou si všimnete, je zapouzdření, o kterém jsme hovořili dříve v tomto článku. Data TCP jsou zapouzdřena v IP paketu, který je zapouzdřen v ethernetovém rámci a nakonec odeslán na drát.

můžeme přejít do detailů paketu a podívat se na každou vrstvu v paketu. Nejprve je záhlaví TCP. Můžete to porovnat s hlavičkou TCP, jak je podrobně popsáno v RFC 793, a mělo by to být velmi podobné.

pár věcí vyniká jako cílový port 23 (Telnet), náhodně generované pořadové číslo (961636601) a délka záhlaví 24 bajtů.

pokud přejdeme do síťové vrstvy, uvidíme hlavičku IPv4, která zobrazuje zdrojové a cílové adresy IP, přenášený protokol, délku záhlaví atd.

další je hlavička Ethernet, která nám ukazuje MAC adresy zařízení zapojených do této konverzace spolu s EtherType.

konečně vidíme, že se paket vysílá na drát.

pamatujete si, když jsme mluvili o handshake TCP? Dobré. Už jsme viděli první paket, kterým je paket SYN. Podle znalostí by dalším paketem měl být paket SYN+ACK s náhodným pořadovým číslem a potvrzovacím číslem, které je o 1 vyšší než pořadové číslo předchozího paketu SYN, tj. 961636601 + 1.

konečně poslední paket v TCP Handshake by měl být paket ACK s pořadovým číslem rovným potvrzovacímu číslu předchozího paketu SYN+ACK a potvrzovacím číslem, které je o 1 vyšší než pořadové číslo paketu SYN+ACK.

syn-ack

jak vidíte, Wireshark může být užitečný pro pochopení technických témat. Pojďme však o krok dále. Pojďme sledovat tok TCP a uvidíme, proč byste měli mít na pozoru před Telnet.

jak vidíte, jsme schopni vidět telnet a povolit heslo v jasném textu! To je jeden z důvodů, proč se Telnet nedoporučuje, protože je nejistý, kromě toho, že se používá na zabezpečeném médiu, jako je tunel VPN.

závěr

to nás přivádí na konec tohoto článku, kde jsme diskutovali o zachycení paketů a viděli, jak to může být užitečné pro učení, řešení problémů se sítí a vyšetřování bezpečnostních incidentů. Také jsme zdůraznili některé nástroje, které lze použít pro zachycení a analýzu paketů, včetně Wireshark, tcpdump a některých nástrojů pro monitorování sítě, jako je Solarwinds NPM & PRTG.

nakonec jsme se podívali na jednoduchou laboratoř v GNS3 a viděli, jak Wireshark zachycuje a analyzuje pakety.

související příspěvek: Úvod do Supernetting

Leave a comment

Vaše e-mailová adresa nebude zveřejněna.