12 Nätverkspaketanalysatorer för Sysadmin och säkerhetsanalytiker

Ditt nätverk är ryggraden i din affärsverksamhet. Se till att du vet vad som händer djupt inuti den.

På många sätt har landskapet för digitala företag sett en revolution eller två. Det som började som enkelt CGI-skript skrivet i Perl har nu blommat ut i klustrade distributioner som körs helt automatiserat på Kubernetes och andra orkestreringsramverk (förlåt för den tunga jargongen — jag hittar inte på det alls; det är precis som saker är nu för tiden!).

En typisk containeriserad, distribuerad modern webbapplikation (källa: medium.com)

Men jag kan inte låta bli att le vid tanken på att grunderna fortfarande är desamma som de var på 1970-talet.

Allt vi har är abstraktioner på abstraktioner som stöds av hårda, fysiska kablar som bildar nätverket (okej, det finns virtuella nätverk som är bra, men du fattar). Om vi ​​vill bli snygga kan vi dela upp nätverket i lager enligt OSI-modellen, men sagt och gjort, vi har alltid, alltid att göra med TCP/IP-protokoll (varning, tung läsning framåt!), ping, routrar, som alla har ett gemensamt mål – överföring av datapaket.

Så, vad är ett nätverkspaket?

Oavsett vad vi gör – chatta, streama video, spela, surfa, köpa saker – är det i huvudsak ett utbyte av datapaket mellan två datorer (nätverk). Ett ”paket” är den minsta informationsenheten som flödar i ett nätverk (eller mellan nätverk), och det finns en väldefinierad metod för att konstruera och verifiera nätverkspaket (utom ramen för denna artikel, men om du känner dig äventyrlig, här är Mer).

Paketflöde i ett nätverk (källa: training.ukdw.ac.id)

I enklare termer representerar varje paket en länk i kedjan och sänds korrekt vid källan och valideras vid destinationen. Även om ett enstaka paket kommer ut eller beställer, avbryts processen tills alla paket i rätt ordning har tagits emot, och först då sätts de samman för att bilda den data de ursprungligen representerade (till exempel en bild).

Nu när vi förstår vad ett nätverk är, blir det att förstå vad en nätverksanalysator gör. Det är ett verktyg som låter dig kika in i enskilda paket på ditt nätverk.

Men varför skulle du vilja gå till det besväret? Låt oss diskutera det härnäst.

Varför behöver vi analysera paket?

Det ser ut som att paket i stort sett är de grundläggande byggstenarna i ett nätverksdataflöde, ungefär som atomer är grunden för all materia (ja, jag vet, det här är inte sanna fundamentala partiklar, men det är en tillräckligt bra analogi för våra syften) . Och när det gäller att analysera material eller gaser bryr vi oss aldrig om vad en enskild atom gör; så varför oroa sig för ett enda nätverkspaket på individuell nivå? Vad kan vi veta annat än vi redan vet?

Det är svårt att sälja vikten av analys på paketnivå när du inte har blivit biten i ryggen tidigare, men jag ska försöka.

Paketanalys innebär att smutsa ner händerna och sträcka sig ner i själva rören för att komma på något. I allmänhet måste du analysera nätverkspaket när allt annat har misslyckats. Vanligtvis inkluderar detta till synes hopplösa scenarier enligt följande:

  • Oförklarlig förlust av hemlig data trots inget uppenbart brott
  • Diagnostisera långsamma applikationer när det inte verkar finnas några som helst bevis
  • Se till att din dator/nätverk inte har äventyrats
  • Bevisa eller motbevisa att en angripare inte är det piggybacking av din WiFi
  • Ta reda på varför din server är flaskhalsen trots låg trafik

Sammantaget faller paketanalys under vissa, hårda typer av bevis. Om du vet hur man gör paketanalys och har en ögonblicksbild kan du rädda dig själv från att felaktigt bli anklagad för ett hack eller helt enkelt anklagas som en inkompetent utvecklare eller nätverksadministratör.

Allt handlar om hjärnan! (källa: dailydot.com)

Angående en riktig historia tror jag att denna kommentar på blogginlägget hittats här är exceptionellt (återges här för säkerhets skull):

En applikation som var kritisk för mitt företag uppvisade prestandaproblem, föll på ansiktet i kundinstallationer. Det var en applikation för aktieprissättning som användes i spetsen för tickerfabriker i finansiella företag över hela världen. Om du hade en 401(k) runt 2000 berodde det förmodligen på den här applikationen. Jag gjorde analyser av det slag du har beskrivit, speciellt TCP-beteende. Jag ansåg att problemet låg i OS-leverantörens implementering av TCP. Det buggiga beteendet var att närhelst sändningsstacken gick in i överbelastningskontroll återhämtade den sig aldrig. Detta resulterade i ett komiskt litet sändningsfönster, ibland bara några multiplar av MSS.

Det tog ett tag att kämpa med kontoansvariga och utvecklarsupportfolk hos OS-leverantören som inte förstod problemet, min förklaring, eller att problemet *inte* kunde vara i applikationen eftersom applikationen är lyckligt okunnig om TCP-maskiner. Det var som att prata med en vägg. Jag började på ruta ett med varje konferenssamtal. Så småningom kom jag i telefon med en kille som jag kunde ha en bra diskussion med. Det visar sig att han lagt RFC1323-tilläggen i stacken! Nästa dag hade jag en patch till operativsystemet i mina händer och produkten fungerade perfekt från den punkten och framåt.

Utvecklaren förklarade att det fanns en bugg som gjorde att inkommande ACK *med nyttolaster* felkategoriserades som DUPACK när stacken var i överbelastningskontroll.

Detta skulle aldrig hända med halvduplexapplikationer som HTTP, men applikationen som jag stödde skickade data i två riktningar på socket hela tiden.

Jag hade inte massor av stöd från ledningen vid den tiden (min chef skrek till och med åt mig för att jag ”alltid ville använda en sniffer” för att fixa problem), och ingen utom jag tittade på OS-leverantörens TCP-implementering som källan av problemet. Att brottas med fixen från OS-leverantören på egen hand gjorde denna seger särskilt söt, gav mig massor av kapital för att göra min egen grej och ledde till att de mest intressanta problemen dök upp på mitt skrivbord.

Om du inte kände för att läsa igenom den där textskivan, eller om det inte var så meningsfullt, stod den här gentleman inför prestationsproblem som skylldes på hans ansökan, och ledningen, som förväntat, gav noll stöd . Det var bara en grundlig paketanalys som visade att problemet inte låg i applikationen, utan i hur operativsystemet hanterade nätverksprotokollet!

Fixningen var inte en justering av applikationen, utan en patch av operativsystemutvecklarna! 😮

Pojke, oj, pojke. . . Utan analys på paketnivå, var tror du att den här personen skulle vara? Förmodligen utanför sitt jobb. Om detta inte övertygar dig om vikten av paketanalys (även kallat packet sniffing), vet jag inte vad som kommer att göra det. 🙂

Nu när du vet att paketanalys är en superkraft har jag goda nyheter: allt är inte svårt att göra det!

Tack vare kraftfulla men ändå enkla att använda verktyg för paketsniffning kan det vara lika enkelt att hämta information från analysen på paketnivå som att läsa en försäljningsinstrumentpanel. Som sagt, du kommer att behöva lite mer än kunskap på ytan om vad som händer i ett nätverk. Men sedan, återigen, det finns ingen raketvetenskap här, ingen vriden logik att bemästra – bara rent sunt förnuft.

Om du börjar läsa igenom dokumentationen för ett av dessa verktyg när du använder dem i ditt nätverk, kommer du snart att bli en expert. 😀

Wireshark

Wireshark är ett gammalt projekt (det startade redan 1998) som i stort sett är branschstandard när det kommer till att dyka djupt in i nätverk. Det är imponerande när man betänker att det enbart är en frivilligorganisation, uppbackad av några generösa sponsorer. Wireshark förblir öppen källkod (inte på GitHub, men koden kan hittas här) och har till och med en teknik konferens till dess namn!

Bland de många funktionerna hos Wireshark är:

  • Stöd för hundratals nätverksprotokoll.
  • Kompatibel med många filformat (tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (komprimerad och okomprimerad), Sniffer® Pro och NetXray®, och så vidare).
  • Kör på praktiskt taget alla plattformar där ute (Linux, Windows, macOS, Solaris, FreeBSD och mer).
  • Livedataavläsning från bland annat Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring.
  • On-the-fly gzip-dekompression.
  • Massor av dekrypteringsprotokoll som stöds (WPA/WPA2, SNMPv3, etc.)
  • Omfattande VoIP-analys
  • Färgregler för snabbare visuell skanning

Kolla in denna fantastiska onlinekurs för att lär dig att bemästra Wireshark.

Letar du efter Wireshark i din terminal? Visst, försök Termshark

tcpdump

Om du är gammal (läs hardcore kommandoradsjunkie), tcpdump är för dig.

Det är ett annat av de ikoniska Linux-verktygen (som curl) som förblir lika relevanta som någonsin, så mycket att nästan alla andra ”finare” verktyg bygger på det. Som jag sa tidigare, det finns ingen grafisk miljö, men verktyget kompenserar mer än för det.

Men att installera det kan vara jobbigt; medan tcpdump kommer med de flesta moderna Linux-distributioner, om din inte gör det, kommer du att behöva bygga från källan.

tcpdump-kommandon är korta och enkla, som syftar till att lösa ett visst problem som:

  • Visar alla tillgängliga gränssnitt
  • Fångar bara ett av gränssnitten
  • Sparar infångade paket till fil
  • Fångar bara misslyckade paket

. . . och så vidare.

Om dina behov är enkla och du behöver köra en snabbskanning kan tcpdump vara ett bra alternativ att överväga (särskilt om du skriver tcpdump och upptäcker att det redan är installerat!). Kolla in det här inlägget för några realtidsexempel på tcpdump-kommandon.

Tproxy

Tproxy är ett enkelt kommandoradsverktyg med öppen källkod för att proxyservera TCP-anslutningar över nätverket. Tproxy är skrivet på Go-programmeringsspråket och är ett Go-kommandoradsverktyg och paketerat som en Go-binär så den är tillgänglig på alla moderna Linux- och macOS-plattformar.

Bilden nedan visar kommandoraden för att övervaka Mysql-anslutningar:

Dess primära användningsfall är att proxyservera HTTP-anslutningar och inspektera innehållet i HTTP-förfrågan och svaren. Den kan också användas för att proxyservera andra protokoll, som SOCKS eller TCP. Den kan användas för att proxy TCP-anslutningar mellan två värdar, eller för att analysera trafiken på en live-anslutning. Det är användbart för att felsöka och testa applikationer som använder TCP som ett transportprotokoll och för att bygga TCP-proxytjänster.

Den skrevs med målet att tillhandahålla ett lättanvänt gränssnitt till kommandoradsverktyget tcpdump, så att användare kan proxy TCP-anslutningar och utföra andra avancerade nätverksanalyser utan att behöva förstå det underliggande TCP-protokollet.

Nedan kommandoraden visar gRPC-anslutningar:

Den fungerar som en TCP-proxy, så att du kan ansluta till fjärrtjänster och applikationer som om du var på den lokala maskinen. Det gör det möjligt att bygga anpassade TCP-tjänster på fjärrvärdar, liknande en omvänd TCP-proxy som möjliggör en mängd olika säkerhets-, felsöknings- och prestandaförbättringar när man hanterar applikationer som använder TCP.

Nedan finns några fler användningsområden för Tproxy

  • Det är användbart för att felsöka och optimera TCP-anslutningar.
  • Det är också användbart för att förstå hur andra proxyprogram fungerar, som Burp Suite och ZAP.
  • Den kan användas för att proxy TCP-anslutningar mellan två värdar, eller mellan en värd och en fjärransluten TCP-tjänst, som en databas eller webbtjänst.
  • Övervaka MySQL-anslutningar och gRPC-anslutningar och kontrollerar även anslutningens tillförlitlighet när det gäller Retrans-hastighet och RTT

De flesta användare kommer att upptäcka att Tproxy förenklar deras arbetsflöde och låter dem utföra komplexa nätverksanalyser och analysera webbapplikationer utan att behöva ändra applikationen eller själva nätverket. Verktyget kan laddas ner från GitHub.

NetworkMiner

Marknadsför sig själv som ett verktyg för rättsmedicinsk nätverksanalys (FNAT), NetworkMiner är en av de bästa analysatorerna på paketnivå du kommer att stöta på. Det är ett verktyg med öppen källkod som kan analysera ett nätverk passivt och kommer med ett imponerande GUI-gränssnitt för analys som kan visa enskilda bilder och andra överförda filer.

Men det är inte allt. NetworkMiner kommer med utmärkta andra funktioner som:

  • IPv6-stöd
  • Analys av PCAP-filer
  • Extrahera X.509-certifikat från SSL-krypterad trafik
  • Pcap-over-IP
  • Fungerar med flera typer av trafik, såsom FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3, etc.
  • OS-fingeravtryck
  • Geo IP-lokalisering
  • Stöd för kommandoradsskript

Observera att vissa av dessa funktioner är tillgängliga i den kommersiella versionen.

Fifflare

Till skillnad från andra passiva nätverkssniffer, Fifflare är något som sitter mellan din enhet och omvärlden och därför kräver en del inställningar (är det därför de döpte den till ”Fiddler”? 😉 ).

Det är ett anpassningsbart (med FiddlerScript) gratisverktyg som har en lång och framstående historia, så om ditt mål är att sniffa HTTP/HTTPS-trafik som en chef, är Fiddler rätt väg att gå.

Det finns mycket du kan göra med Fiddler, särskilt om du är på humör att ta på dig hacker-hoodien:

  • Sessionsmanipulation: Öppna HTTP-rubriker och sessionsdata, modifiera dem på vilket sätt du vill.
  • Säkerhetstestning: Låter dig simulera man-in-the-middle-attacker och dekryptera all HTTPS-trafik åt dig.
  • Prestandatestning: Analysera sidladdningstider (eller API-svar) och se vilken del av svaret som är flaskhalsen.

Om du känner dig vilsen, dokumentation är mycket bra och rekommenderas varmt.

WinDump

Om du saknar enkelheten med tcpdump och vill ta med den till dina Windows-system, säger hej till WinDump. När det väl har installerats fungerar det från kommandoraden genom att skriva ”tcpdump” på samma sätt som verktyget fungerar på Linux-system.

Observera att det inte finns något att installera i sig; WinDump är en binär fil som kan köras direkt, förutsatt att du har en Pcap-biblioteksimplementering installerad (npcap rekommenderas eftersom winpcap inte längre är under utveckling).

BruteShark

BruteShark är ett effektivt Network Forensic Analysis Tool (NFAT) som du kan använda för att bearbeta och inspektera nätverkstrafiken såsom PCAP-filer och fånga direkt från nätverksgränssnitt.

Det inkluderar att rekonstruera TCP-sessioner, bygga nätverkskartor, extrahera hash av starkt krypterade lösenord, konvertera hash till ett Hashcat-format för att utföra en Brute Force-attack offline.

Huvudsyftet med detta projekt är att hjälpa nätverksadministratörer och säkerhetsforskare med ansvar för att analysera nätverkstrafik och identifiera svagheter.

Det finns två versioner av BruteShark tillgängliga: ett grafiskt användargränssnitt (GUI)-baserad applikation för Windows och ett CLI-verktyg för Linux och Windows. Vissa av projekten som ingår i denna lösning kan till och med användas oberoende för att analysera nätverkstrafik på Windows- och Linux-maskiner.

BruteShark kan också utföra olika operationer som att extrahera DNS-frågor, filskärning, extrahera VoIP-samtal (SIP, RTP), bygga nätverksdiagram för användare och nätverksnoder, extrahera autentiseringshashar med Hashcat (NTLM, HTTP-Digest, CRAM-MD5, Kerberos, etc.), och hämta och koda lösenord och användarnamn.

Alla projekt genomförs genom .Net Standard och .Net Core för plattformsoberoende och modern support. Denna lösning erbjuder en arkitektur i tre lager och inkluderar ett eller flera projekt, inklusive PL, BLL och DAL i varje lager.

Genom DAL (Data Access Layer) hjälper projektet till att läsa råfiler av PCAP med hjälp av drivrutiner som WinPcap, libpcap och wrapper-bibliotek som SharpPcap. På liknande sätt är BLL (Business Logic Layer) ansvarig för nätverksinformationsanalys (TCP, paket, etc.), och PL använder ett tvärgående projekt och hänvisar till både BLL- och DAL-lager.

OmniPeek

För större nätverk som har massor av MB data som flödar genom dem varje sekund, kan verktygen som alla andra använder ta slut. Om du står inför samma, OmniPeek kan vara värt en titt.

Det är ett prestanda-, analys- och kriminaltekniskt verktyg för att analysera nätverk, särskilt när du behöver både lågnivåfunktioner och omfattande instrumentpaneler.

Källa: sniffwifi.com

Capsa

Om allt du är orolig över är Windows-plattformen, Capsa är också en seriös utmanare. Den finns i tre versioner: gratis, standard och företag, alla med olika möjligheter.

Som sagt, även gratisversionen stöder över 300 protokoll och har intressanta funktioner som varningar (utlöses när vissa villkor är uppfyllda). Standarderbjudandet är ett snäpp över, stöder 1000+ protokoll och låter dig analysera konversationer och rekonstruera paketströmmar.

Allt som allt ett gediget alternativ för Windows-användare.

EtherApe

Om kraftfulla visualiseringar och öppen källkod är vad du är ute efter, EtherApe är ett utmärkt alternativ. Medan förbyggda binärer är tillgängliga för endast en handfull Linux-distros, är källan tillgänglig (på både SourceForge och GitHub), så att bygga den på egen hand är ett alternativ.

Här är vad som gör EtherApe bra enligt min mening:

  • Flernods, färgkodad övervakning.
  • Stöd för massor av paketformat som ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN, etc. (faktiskt många, många, fler) .
  • Läs data live från ”tråden” eller från en tcpdump-fil.
  • Stöder standard namnupplösning
  • Från och med de senaste versionerna har GUI flyttats till GTK3, vilket resulterar i en trevligare upplevelse.

CommView

Om du är en Windows-exklusiv butik och värdesätter bekvämligheten med prioriterad support, CommView rekommenderas. Det är en kraftfull nätverkstrafikanalysator med avancerade funktioner som VoIP-analys, fjärrspårning etc., inbyggd.

Det som imponerade mest på mig är dess förmåga att exportera data till format som används av flera öppna och proprietära format, såsom Sniffer®, EtherPeek™, AiroPeek™, Observer®, NetMon, Wireshark/Tcpdump och Wireshark/pcapng, och till och med vanliga hex-dumpar .

WiFi Explorer

Sist på listan är WiFi Explorer, som har en gratisversion för Windows och en standardversion för Windows och macOS. Om WiFi-nätverksanalys är allt du behöver (vilket är i stort sett standard nuförtiden), så kommer Wifi Explorer att göra livet enkelt.

Det är ett vackert designat och funktionsrikt verktyg för att skära rakt till hjärtat av nätverket.

Hedersamt omnämnande: Det skulle vara en björntjänst att stänga det här inlägget utan att nämna en macOS-exklusiv nätverksanalysator som jag snubblade över — Lilla Snitch. Den har en inbyggd brandvägg, så den kommer med den extra fördelen att du omedelbart låter dig kontrollera all trafik perfekt (vilket kan tyckas vara jobbigt men är en enorm vinst i det långa loppet).

Vad kommer härnäst?

Du bör också utforska dessa nätverksövervakningsprogram för bättre infrastruktursynlighet. Om du funderar på att bygga en karriär inom nätverk och säkerhet, kolla in några av de bästa onlinekurserna här.