Weekend Prosjekt: Analyser nettverket med Wireshark

Wireshark er en åpen kildekode nettverkspakke analysator. Uten noen spesiell maskinvare eller rekonfigurering, kan det ta opp live data som går inn og ut over noen av boksens nettverksgrensesnitt: Ethernet, WiFi, PPP, loopback, selv USB. Vanligvis er det brukt som et etterforskning verktøy for feilsøking nettverksproblemer som lunger, høy latency, eller protokollfeil – men du ønsker ikke å vente til nettverket ditt er i trøbbel
å lære å bruke den. Denne helgen, hvorfor ikke ta en titt på din nettverkstrafikk, og lære å bruke Wireshark til din fordel?

Wireshark er et GTK + program, selv om prosjektet inkluderer også en konsoll-basert front end heter TShark som har det meste av funksjonaliteten som finnes i GUI-versjonen. Vurderer sitt rykte som et nyttig administrasjonsverktøy, vil du sannsynligvis finne den i distribusjonspakke repositories. Hvis ikke, kan du laste ned pakker for flere distribusjoner på wireshark.org, sammen med kilden. Den nåværende versjonen er 1.4.1. Mac OS X og Windows binærfiler er også tilgjengelig, som du må kanskje analysere maskiner som kjører disse operativsystemene (mer om det senere)

Fordi det er behov for å bytte nettverksgrensesnittet i ". Promiskuøse modus " for å fange opp all nettverkstrafikk, må Wireshark kjøres som root. Den libpcap bibliotek utfører selve pakke fangst, og støtter en stor-men-ikke-uendelig rekke nettverksenheter. Du bør sjekke kompatibiliteten matrise på prosjektet wiki hvis du bruker en særegen nettverkstype – nesten alle Ethernet og WiFi kort i vanlig bruk vil fungere uten problemer

Trafikk Capture

Du kan starte et nytt nettverk fangst økt fra ". Capture " meny; Capture - > Grensesnitt, får du opp en dialogboks som viser alle de grensesnittene Wireshark har oppdaget, pluss pseudo-enhet " alle " som fanger opp fra alle de ovennevnte. Capture - > Alternativer valget lar deg angi flere alternativer før du begynner, herunder begrense fangst med filtreringsregler (for eksempel ved spesielle protokoller eller IP-adresse bare), automatisk stoppe fangst etter en bestemt tidsperiode, eller splitte fila automatisk inn egen tid - eller størrelse-diktert filer

Når du starter din fangst, blir pakkene logget på skjermen i en tabell som viser grunnleggende informasjon (kilde og destinasjon, protokoll, tid, etc.) i kolonneoverskriftene.. Wireshark fargekoder oppføringene for enkelhets skyld av flagging " interessant " pakker, for eksempel TCP nye sendinger, med ulike tekst- og bakgrunnsfarger.

Hvor lenge du lar din fangst kjøre avhenger av hva du trenger for å studere. Flere timer kan være nødvendig å ta en hard-to-reprodusere problemet med en Internett-tjeneste, men et par minutter igjen vil være nok bare å bli kjent med verktøyene. Etter at du stoppe opptaket, kan du velge en pakke for nærmere inspeksjon ved å klikke på den i loggvinduet. Detaljene vises i et trelignende sub-vinduet som bryter pakken ned av nettverkslaget. Hvis du har Ethernet problemer, kan du se inn i Ethernet-rammer; hvis det er en HTTP problem, kan du grave ned på det nivået i stedet.

Du bør alltid lagre fanget data som du trenger for rettsmedisinsk eller profileringsøyemed. Wireshark bruker .pcap filtypen. Må være klar, men at digitaliseringsfiler kan
bli ganske stor; hvis du bare er interessert i en del av det samlede nettverkstrafikk, kan du bruke Wireshark filtermekanisme – ligger rett ovenfor hoved fangst bordet for å renske ned datasettet før du lagrer den på disk.

Undersøke Data

Filtertang er den mest grunnleggende måten å forbedre dine fanget data til nyttig format. Klikk på " Filter " knappen seg til å få opp en valgboks med flere vanlige alternativer: TCP bare, UDP bare, alt ikke til den lokale IP-adresse, alt-bortsett-DNS-og-ARP, og så videre. Ved å klikke på et av alternativene i listen vil vise deg nøyaktig filter strengen i Wireshark filter syntaks, som er en nyttig måte å lære å skrive dine egne filteruttrykk. For eksempel " Ikke-HTTP og ikke-SMTP til /fra 192.168.0.1 " Filteret er konstruert for å filtrere ut uinteressant trafikk; syntaksen er ikke (tcp.port == 80) og ikke (tcp.port == 25) og ip.addr == 192.168.0.1. Hit " Apply " og Wireshark vil filtrere fanget data på skjermen. Du kan skrive dine egne filteruttrykk ved å klikke på Expression-knappen; Wireshark gir en hendig velger widget som viser de kjente felt og logiske operatører du kan bruke.

Analyser menyen inneholder noen mer komplekse forhåndsdefinerte filtreringsalternativer. " Enabled Protokoller " gir deg en måte å selektivt aktivere eller deaktivere høyere nivå, protokollene, slik at du kan Filer ut direktemeldingstrafikk, undersøke bare visse typer protokollmeldinger og andre alternativer som ville være uoverkommelig lang tid å uttrykke i filteret syntaks. " Bruker Spesifiserte Decodes " lar deg deaktivere dekoding av bestemte protokoller, som kan være nyttig i diagnostisering et bestemt program. " Følg TCP Stream " Her kan du velge en bestemt TCP-tilkobling, og spore fremdriften fra start til slutt; lignende alternativer er tilgjengelige for UDP og SSL samtaler. Til slutt, " Expert Info " alternativet trekker ut feilmeldinger og advarsel flagg (som tapt eller out-of-order segmenter) for å raskt identifisere problemer.

De statistikkmenyen kan gi deg en enda raskere oversikt over hele datasettet. Den inneholder forhåndsdefinerte funksjoner for å analysere vanlige nettverks beregninger og presenterer dem i nyttige tabeller. Hvis du undersøker nettverkstrafikken for første gang, kan disse være nyttige verktøy for å forstå normal oppførsel. Du kan undersøke fordelingen av pakkestørrelser, trafikk ved link-og program-lags protokollen som brukes, og responstid.

Wireshark kan også produsere flere grafer på fly som kan hjelpe deg med å visualisere trafikken bedre. Med IO Grafer verktøy i statistikkmenyen, for eksempel, kan du velge opptil fem filtrene til å sammenligne head-to-head i forskjellige farger.

Begynnelsen Forensics

Som nevnt i innledningen er profilen normal nettverkstrafikk ikke målet om Wireshark &​​ndash; det er bare et verktøy for å hjelpe deg å gjenkjenne avvikende atferd når du prøver å spore opp kilden til et problem. Dessverre, det er ingen rask-og-enkel vei til å spore ned rotårsak av høy latency eller sakte gjennomstrømming.

Ja, hvis det er en zombie maskin på nettverket infisert av en trojaner, kan du enkelt flagg det som en infisert spam bot når du ser det igang tusenvis av SMTP-tilkoblinger per time – og oppdager virus og malware er en viktig rettsmedisinske oppgave. Men å spore opp hvorfor en av dine databaseservere er alltid litt tregere enn den andre kan innebære litt mer graving og analyse.

Det er derfor å ta litt tid å profilere nettverkstrafikken under hvilke vi vil anta er normale driftsforhold er verdifull. Du kan få et inntrykk av hvor ofte WiFi kunder se TCP retransmisjoner; hvis prisen dobler eller tripler, og du ikke har lagt til noen flere maskiner, så du må kanskje lete for å se om noen klient oppfører annerledes enn de andre, eller hvis du bare ser signal degradering. Når diagnostisering båndbredde woes, hvis en av dine lokale servere er konsekvent timing ut og slippe tilkoblinger, kan det være et program-nivå problem. Men hvis Wireshark loggene viser at det er den eksterne serveren tilbakestilling tilkoblinger, så må du ta en telefon.

Her tutorials på Wireshark stedet er en uvurderlig hjelpemiddel. Wikien har noen grunnleggende feilsøking nettverkssider, samt lenker til ressurser vert andre steder. Så, også, gjør flere av de andre åpen kildekode nettverksanalyse og sikkerhets prosjekter, som Nagios, EtherApe, nmap, og tcpdump. Mye av forensics avhenger forstå TCP /IP-protokollene og vanlige problemer, så en god bok eller to om emnet går langt.

Wireshark inneholder en rekke funksjoner som vil hjelpe deg med å analysere nettverket når du sporer opp kilden til problemet. For eksempel kan du kjøre statistiske sammenligninger mellom to lagrede pakke fanger; Dette gjør at du kan utføre en fange når du opplever problemet, og sammenligne den mot et datasett du samler som en kontrollgruppe når ting kjører glatt. På samme måte kan du samle og sammenligne fanger fra to forskjellige maskiner – si, på ulike nettverkssegmenter eller med forskjellige konfigurasjoner. Dette er også grunnen til at det er så nyttig at det finnes versjoner av Wireshark tilgjengelig for de proprietære operativsystemer:. Når jage ned et ytelsesproblem, må du kanskje å samle inn data fra alle kilder

Extra Credit: Visualisering, Alternativ Fanger

Selv om Wireshark er filtrering og analyseverktøy kan avsløre mange fasetter av trafikken fangst i GUI, gjør grensesnittet har sine begrensninger. Det er alltid tider når en graf gjør svaret sprang rett ut av skjermen på en måte som en tabell kan ikke. Det er dyre proprietære verktøy som selges for å legge tilpasset visualisering og data mining funksjoner til Wireshark arbeidsflyt, men du trenger ikke dem.

Wireshark kan eksportere fanger i generiske CSV form, som du deretter kan trekke inn til andre program for å arbeide med. Det kan bety et enkelt regneark som Gnumeric eller OpenOffice.org, eller en statistikkpakke som R eller gnuplot. Et godt sted å starte er listen over åpen kildekode analyse pakker på forensicswiki.org. Landskapet er alltid i endring, though. Bare i høst, ble det populære dataanalyse motor Freebase Gridworks omgjort til en åpen kildekode-prosjekt som heter Google Begrens, som kan gjøre visualisere nettverkstrafikk betraktelig enklere.

Sist men ikke minst, selv om Wireshark er alltid referert til som en nettverk
analysator, sannheten kan det analysere andre ting også, inkludert USB-trafikk til og med Unix socket forbindelser mellom applikasjoner. Så selv om du mestrer din TCP /IP-trafikken denne helgen, kan du fortsatt ha plass til å utforske. Anmeldelser