Foto door Gerald Schömbs op UnsplashWireshark is ’s werelds meest gebruikte netwerkprotocolanalysator. Hiermee kunt u in het vastgelegde verkeer duiken en analyseren wat er binnen een netwerk gebeurt. Vandaag bespreken we hoe u de opdrachtregelinterface van Wireshark, Tshark, kunt gebruiken om vergelijkbare resultaten te bereiken.
We zullen enkele voorbeeldcommando’s doornemen, dus voel u vrij om een PCAP-bestand te gebruiken om mee te volgen! U kunt enkele voorbeeld capture files hier vinden.
Zonder een input file, gedraagt Tshark zich eenvoudig als Tcpdump. Het vangt het verkeer op van het eerste beschikbare netwerk en toont de pakketten naar de standaard output. Als alternatief kunt u de “-r” vlag gebruiken om het netwerk vastleggingsbestand te specificeren.
tshark -r network.pcap
Op deze manier zal Tshark de pakketten van het vastleggingsbestand weergeven in de standaarduitvoer. Laten we eens kijken naar een regel van de uitvoer!
35 29.947879 192.168.0.55 → 192.168.0.91 HTTP 423 HTTP/1.1 200 OK
Dit lijkt misschien ingewikkeld, maar onthoud dat de opdrachtregel uitvoer van Tshark de Wireshark interface weerspiegelt. De velden van links naar rechts in de uitvoer van de commandoregel zijn:
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
Het “Tijd” veld geeft aan wanneer het pakket werd gevangen. De velden “Source” en “Destination” tonen het bron-IP en bestemmings-IP van dat pakket. Het veld “Protocol” toont het gebruikte protocol. Het “Lengte” veld toont de lengte van het pakket. En tenslotte geeft het “Info” veld alle extra informatie over het pakket weer.
U kunt deze pakket-samenvattingen filteren door Tshark’s uitvoer in grep te pipen. Dit commando zal bijvoorbeeld de pakketten met een “200 OK” HTTP-statuscode uitvoeren.
tshark -r network.pcap | grep "200 OK"
Exporteren van interessante pakketten
U kunt de inhoud van pakketten onderzoeken door de objecten te exporteren. Objecten exporteren in Tshark stelt u in staat om verschillende soorten packet data te extraheren, zoals HTTP en SMB objecten. De syntaxis voor het exporteren van objecten is als volgt.
tshark -r network.pcap --export-objects PROTOCOL,DESTINATION_DIR
De PROTOCOL specificeert het export object type, terwijl de DESTINATION_DIR de directory is die Tshark zal gebruiken om de geëxporteerde bestanden op te slaan. Bijvoorbeeld, dit commando exporteert de bestanden die door het netwerk zijn getransporteerd en slaat ze op in de “exported_files_dir” directory.
tshark -r network.pcap --export-objects http,exported_files_dir
Pakketfilters gebruiken
Net als in Wireshark, kunt u ook pakketten filteren op basis van bepaalde criteria. U kunt uw filters eenvoudig tussen aanhalingstekens zetten aan het eind van het commando.
tshark -r network.pcap "http.request.method == POST and http.file_data contains password"
De indeling van de filters die kunnen worden toegepast is identiek aan die in Wireshark. Een lijst van beschikbare filters vindt u hier.
U kunt ook het uitvoerformaat voor de gedecodeerde pakketgegevens specificeren met de “-T” vlag. Dit commando zal bijvoorbeeld alle HTTP GET requests in JSON formaat weergeven.
tshark -r network.pcap -T json "http.request.method==GET"
Tot slot kunt u de uitvoer van Tshark verwerken door het te pipen in andere command-line tools zoals grep.
Conclusie
Deze post introduceert slechts een klein deel van wat Wireshark en Tshark kunnen. Het zijn veelzijdige tools die in staat zijn om veel verschillende soorten analyses uit te voeren.
Als u geïnteresseerd bent om meer over deze tools te leren, bezoek dan hun documentatie hier.