Foto av Gerald Schömbs på UnsplashWireshark är världens mest använda nätverksprotokollanalysator. Den låter dig dyka ner i fångad trafik och analysera vad som händer i ett nätverk. Idag ska vi prata om hur du kan använda Wiresharks kommandoradsgränssnitt, Tshark, för att uppnå liknande resultat.
Vi kommer att gå igenom några exempelkommandon, så använd gärna en PCAP-fil för att följa med! Du kan hitta några exempel på fångstfiler här.
Och utan en inmatningsfil fungerar Tshark helt enkelt som Tcpdump. Den fångar trafik från det första tillgängliga nätverket och visar paketen till standardutgången. Alternativt kan du använda flaggan ”-r” för att ange nätverksfångstfilen.
tshark -r network.pcap
På detta sätt kommer Tshark att visa paketen i fångstfilen i standardutgången. Låt oss ta en titt på en rad i utmatningen!
35 29.947879 192.168.0.55 → 192.168.0.91 HTTP 423 HTTP/1.1 200 OK
Detta kan verka komplicerat, men kom ihåg att kommandoradsutmatningen av Tshark speglar Wireshark-gränssnittet. Fälten från vänster till höger i kommandoradsutgången är:
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
Fältet ”Time” visar när paketet fångades. Fälten ”Source” och ”Destination” visar paketets käll-IP och destinations-IP. Fältet ”Protocol” visar det protokoll som använts. Fältet ”Length” visar paketets längd. Och slutligen visar fältet ”Info” all ytterligare information om paketet.
Du kan filtrera dessa paketsammanfattningar genom att pipa in Tsharks utdata i grep. Det här kommandot ger till exempel ut paketen med HTTP-statuskoden ”200 OK”.
tshark -r network.pcap | grep "200 OK"
Export av intressanta paket
Du kan undersöka paketens innehåll genom att exportera dess objekt. Objektexport i Tshark gör det möjligt att extrahera olika typer av paketdata, t.ex. HTTP- och SMB-objekt. Syntaxen för att exportera objekt är följande:
tshark -r network.pcap --export-objects PROTOCOL,DESTINATION_DIR
PROTOKOL anger exportobjektets typ, medan DESTINATION_DIR är den katalog som Tshark kommer att använda för att lagra de exporterade filerna. Det här kommandot exporterar till exempel filerna som har transporterats genom nätverket och lagrar dem i katalogen ”exported_files_dir”.
tshark -r network.pcap --export-objects http,exported_files_dir
Användning av paketfilter
Som i Wireshark kan du också filtrera paket baserat på vissa kriterier. Du kan helt enkelt sätta dina filter inom citationstecken i slutet av kommandot.
tshark -r network.pcap "http.request.method == POST and http.file_data contains password"
formatet för de filter som kan tillämpas är identiskt med det i Wireshark. Du hittar en lista över tillgängliga filter här.
Du kan också ange utdataformatet för de avkodade paketdata med hjälp av flaggan ”-T”. Det här kommandot kommer till exempel att visa alla HTTP GET-förfrågningar i JSON-formatet.
tshark -r network.pcap -T json "http.request.method==GET"
Slutligt kan du bearbeta utdata från Tshark genom att pipa in det i andra kommandoradsverktyg, till exempel grep.
Slutsats
Det här inlägget presenterar bara en liten del av vad Wireshark och Tshark kan göra. De är mångsidiga verktyg som kan utföra många olika typer av analyser.
Om du är intresserad av att lära dig mer om dessa verktyg kan du besöka deras dokumentation här.