Foto af Gerald Schömbs på UnsplashWireshark er verdens mest udbredte netværksprotokolanalysator. Den giver dig mulighed for at dykke ned i opfanget trafik og analysere, hvad der foregår i et netværk. I dag skal vi tale om, hvordan du kan bruge Wiresharks kommandolinjeinterface, Tshark, til at opnå lignende resultater.
Vi vil gennemgå nogle eksempelkommandoer, så du er velkommen til at bruge en PCAP-fil til at følge med! Du kan finde nogle eksempler på opsamlingsfiler her.
Selv uden en inputfil fungerer Tshark simpelthen som Tcpdump. Den opfanger trafikken fra det første tilgængelige netværk og viser pakkerne til standardudgang. Alternativt kan du bruge “-r”-flaget til at angive netværksoptagelsesfilen.
tshark -r network.pcap
På denne måde vil Tshark vise pakkerne i optagelsesfilen i standardudgangen. Lad os tage et kig på en linje af output!
35 29.947879 192.168.0.55 → 192.168.0.91 HTTP 423 HTTP/1.1 200 OK
Dette kan virke kompliceret, men husk, at kommandolinjeoutputtet i Tshark afspejler Wireshark-grænsefladen. Felterne fra venstre til højre i kommandolinjeoutputtet er:
Packet number, Time, Source, Destination, Protocol, Length, Info
35, 29.947879, 192.168.0.55, 192.168.0.91, HTTP, 423, HTTP/1.1 200 OK
Feltet “Time” viser, hvornår pakken blev opfanget. Felterne “Source” og “Destination” viser pakkens kilde-IP og destinations-IP. Feltet “Protocol” viser den anvendte protokol. Feltet “Length” viser pakkens længde. Og endelig viser feltet “Info” eventuelle yderligere oplysninger om pakken.
Du kan filtrere disse pakkeoversigter ved at indsætte Tsharks output i grep med piping. Denne kommando vil f.eks. outputte pakker med en “200 OK” HTTP-statuskode.
tshark -r network.pcap | grep "200 OK"
Export af interessante pakker
Du kan undersøge pakkens indhold ved at eksportere dens objekter. Objekteksport i Tshark giver dig mulighed for at udtrække forskellige typer pakkedata, f.eks. HTTP- og SMB-objekter. Syntaksen for eksport af objekter er som følger:
tshark -r network.pcap --export-objects PROTOCOL,DESTINATION_DIR
Den PROTOCOL angiver eksportobjekttypen, mens DESTINATION_DIR er den mappe, som Tshark vil bruge til at gemme de eksporterede filer. Denne kommando vil f.eks. eksportere de filer, der er blevet transporteret gennem netværket, og gemme dem i mappen “exported_files_dir”.
tshark -r network.pcap --export-objects http,exported_files_dir
Anvendelse af pakkefiltre
Som i Wireshark kan du også filtrere pakker baseret på bestemte kriterier. Du kan blot sætte dine filtre i anførselstegn i slutningen af kommandoen.
tshark -r network.pcap "http.request.method == POST and http.file_data contains password"
formatet for de filtre, der kan anvendes, er identisk med formatet i Wireshark. Du kan finde en liste over tilgængelige filtre her.
Du kan også angive outputformatet for de afkodede pakkedata ved hjælp af “-T”-flaget. Denne kommando vil f.eks. vise alle HTTP GET-forespørgsler i JSON-formatet.
tshark -r network.pcap -T json "http.request.method==GET"
Slutteligt kan du behandle output fra Tshark ved at pipe det ind i andre kommandolinjeværktøjer som f.eks. grep.
Konklusion
Dette indlæg introducerer kun en lille del af, hvad Wireshark og Tshark kan gøre. De er alsidige værktøjer, der er i stand til at udføre mange forskellige typer analyser.
Hvis du er interesseret i at lære mere om disse værktøjer, kan du besøge deres dokumentation her.