Zo krijg je inzicht in het dataverbruik in je thuisnetwerk

© PXimport

Zo krijg je inzicht in het dataverbruik in je thuisnetwerk

Geplaatst: 24 november 2016 - 13:19

Aangepast: 14 december 2022 - 14:36

Toon van Daele

Ook aan jouw netwerk is ongetwijfeld een reeks apparaten gekoppeld die met het internet communiceren. Dat zijn vooral computers en mobiele apparaten, maar wellicht ook allerlei ‘slimme toestellen’, zoals een thermostaat, tv, IP-camera, misschien zelfs een koelkast of oven. Al die apparaten wisselen via je netwerk data uit met het internet. Met sluwe analysetools als Burp en Wireshark (en enige moeite) kun je dat netwerkverkeer bekijken.

In dit artikel beschrijven we een aantal technieken waarmee je het verkeer dat door je netwerk gaat, kunt opvragen en analyseren. Wellicht ben je daarbij vooral geïnteresseerd in data die – heimelijk? – je netwerk richting internet verlaten, en omgekeerd. Lees ook: 20 supertips voor het beste thuisnetwerk.

We beginnen met apparaten die draadloos met je netwerk zijn verbonden. In eerste instantie gaan we na hoe je al het http-verkeer en zelfs versleutelde https-traffic van draadloze toestellen kunt opvangen. Daarna bekijken we ook andere dataprotocollen van draadloze apparaten, waardoor we zowat het complete draadloze verkeer kunnen ontrafelen. Tot slot gaan we na hoe je ook het bekabelde netwerkverkeer van je eigen computer of van andere computers en apparaten binnen je netwerk op je scherm kunt krijgen. Je zult merken dat daarbij vooral pakketsniffer en protocolanalyzer Wireshark een prominente rol speelt.

(Draadloos) http-verkeer

Om uit te vissen welke gegevens een mobiele app (zoals een browser) effectief verstuurt naar de servers, kun je het best een proxy-server opzetten. Dat kan perfect op je Windows-laptop, waarbij je ervoor zorgt dat die zich in hetzelfde draadloze netwerk bevindt als het mobiele apparaat dat je wilt monitoren. Allereerst installeer je de gratis versie van Burp op je computer. Installeer het programma en start het op. Accepteer de standaardinstellingen en bevestig met Start Burp. Open het tabblad Proxy en klik op Options. Selecteer de (enige) interface en druk op de knop Edit. Selecteer hier de optie All interfaces. Bevestig met OK en met Yes. Open vervolgens het tabblad Intercept en klik op Intercept is on (zodat je nu Intercept is off leest). Tot slot open je het tabblad HTTP history.

Nu gaan we naar je mobiele apparaat. We nemen een Android-smartphone als voorbeeld. Ga hier naar Instellingen en kies Wifi. Druk een paar seconden op de naam van het verbonden netwerk en kies Netwerk aanpassen. Tik Geavanceerde opties aan en selecteer Proxy / Handmatig. Bij Hostnaam van proxy vul je het IP-adres van je Burp-machine in (dat adres vertelt Windows je wanneer je ipconfig typt op de opdrachtregel) en bij Proxy-poort stel je 8080 in. Bewaar deze instellingen (tijdelijk). Surf vervolgens naar enkele websites en houd op je laptop het tabblad HTTP Proxy in de gaten. Lukt het niet, schakel dan tijdelijk de firewall op je laptop uit.

Media has no description

© PXimport

(Draadloos) https-verkeer

Meer en meer webverkeer is echter standaard versleuteld met behulp van https, waarbij een SSL-certificaat moet garanderen dat de verbinding daadwerkelijk met de bewuste webserver tot stand is gekomen. Veel apps controleren dat helaas niet grondig en in die gevallen kun je je Burp-machine als MITM (man-in-the-middle) laten fungeren. Daarvoor moet je dan wel eerst even het CA-certificaat (certificate authority) van Burp op je mobiele apparaat accepteren. Op ons Android-toestel doen we dat door te surfen naar http://burp.cert, terwijl de Burp-proxy actief is. Hiermee download je het bestand cacert.der. Wijzig de bestandsnaam met een verkenner-app (zoals ES File Explorer) in cacert.cer. Importeer dit certificaat via Instellingen / Beveiliging / Installeren vanuit opslag (bij Opslag certificaatgegevens). Wanneer je vervolgens naar een https-site surft, zal Burp ook de inhoud van het versleutelde verkeer openbaren.

Android

(Ander) draadloos verkeer

Proxy-server Burp beperkt zich jammer genoeg wel tot het http- en https-verkeer, maar mobiele apps of draadloze apparaten bedienen zich ook vaak van andere communicatieprotocollen. Om ook dat af te vangen, moet je het dus over een andere boeg gooien. Wellicht de eenvoudigste manier is om je eigen computer (laptop) als een wifi-hotspot in te stellen, waarbij je er dan uiteraard wel voor zorgt dat je het apparaat dat je wilt monitoren via dat netwerk laat aanmelden. Daarna kun je op je laptop een pakketsniffer oftewel protocolanalyzer als Wireshark loslaten.

Beginnen we dus met het hotspot-gedeelte. Werk je met Windows 10 en heb je intussen de jubileum-update van Windows geïnstalleerd, dan heb je het makkelijk. Open het Windows-menu en kies Instellingen / Netwerk en internet. In het linkerpaneel klik je Mobiele hotspot aan. Vervolgens zet je de schuifknop bovenaan op Aan. Via de knop Bewerken kies je een geschikte Netwerknaam en Netwerkwachtwoord. In oudere Windows-versies is het eveneens mogelijk een mobiele hotspot op te zetten, maar deze procedure is iets bewerkelijker – tenzij je een externe tool te hulp roept, zie kader ‘Mobiele hotspot’. Als alles goed gaat, kun je het draadloze apparaat nu op dat netwerk aansluiten.

Mobiele hotspot

Media has no description

© PXimport

Installatie Wireshark

Tijd nu om een pakketsniffer in gang te zetten. Een van de beste en bovendien gratis tools is Wireshark, dat je voor diverse platformen kunt installeren (waaronder Windows 32 en 64 bit, portable en macOS). De installatie (voor Windows) behelst weinig meer dan een aantal (Next-)knoppen in te drukken. We raden je aan de standaardcomponenten geselecteerd te laten en ook WinPcap mee te laten installeren; dit onderdeel zorgt ervoor dat je live netwerkdata optimaal kunt opvangen.

Na de installatie mag je Wireshark opstarten. Open maar meteen het menu Capture en kies Options. Hier krijg je een overzicht van de beschikbare netwerkadapters en je ziet op welke interface verkeer wordt gegenereerd. Selecteer de interface die je aan je mobiele hotspot hebt gekoppeld (zie boven), laat het vinkje bij Enable promiscuous mode on all interfaces staan en druk op de Start-knop.

Je zult zien dat zowat alle netwerkverkeer dat je draadloze apparaat genereert, netjes door Wireshark wordt opgevangen, althans tot je in het menu Capture op Stop klikt. Door te dubbelklikken op een ingang krijg je meer details over (de inhoud van) het datapakket te zien. Uiteraard kun je op soortgelijke manier ook het verkeer van je eigen machine opvangen: het volstaat de netwerkinterface te selecteren waarlangs dat toestel het netwerk opgaat. Vanaf de paragraaf ‘Weergavefilters’ gaan we iets dieper in op pakketanalyse met Wireshark.

Media has no description

© PXimport

Promiscuous mode

Bij de installatie van Wireshark hadden we het al even over de ‘promiscuous mode’. Die zorgt er in principe voor dat ook datapakketten worden opgevangen die aan andere hosts binnen je netwerk zijn gericht. Is je Wireshark-machine echter via een switch met je netwerk verbonden, dan blijft dat beperkt tot broadcast- en multicast-verkeer – verkeer dus dat naar zowat alle hosts (en dus ook naar je Wireshark-machine) wordt gestuurd.

Hoe kun je dan toch ook unicast-verkeer, dat dus specifiek is bedoeld voor een andere host, in je Wireshark-machine inzichtelijk krijgen? De meest voor de hand liggende oplossing is dat je Wireshark op de beoogde host installeert, maar dat is lang niet altijd mogelijk (dat kan bijvoorbeeld niet op een tv of een IP-camera). Er zijn gelukkig eenvoudige oplossingen: een hub of – beter nog – een managed switch.

Hub

Mocht je toevallig nog een ‘hub’ in de kast hebben liggen of je tikt er één op de kop via Marktplaats of eBay, dan kun je die alvast – tijdelijk – inzetten. Immers, in tegenstelling tot een switch wordt het verkeer dat één poort binnenkomt door een (domme) hub altijd naar alle andere poorten gestuurd in plaats van alleen naar de bedoelde poort. Het komt erop neer dat je het gemonitorde toestel en je Wireshark-machine via die hub met de rest van je netwerk verbindt. Houd er wel rekening mee dat een dual-speed hub (10/100 Mb) geen unicast-verkeer tussen een 10Mb- en een 100Mb-poort verstuurt. Dat maakt dat je in dit geval de snelheid van de ethernetadapter op je Wireshark-machine op dezelfde snelheid zal moeten instellen als die van het gemonitorde apparaat. Dat kan eventueel via het Apparaatbeheer, waar je de Eigenschappen van de netwerkadapter oproept en het tabblad Geavanceerd opent.

Media has no description

© PXimport

Managed switch

Een makkelijker oplossing is een switch die over een functie beschikt waarbij alle data die naar een bepaalde switchpoort gaan, automatisch naar een andere poort worden gedupliceerd. Deze functie wordt gewoonlijk port mirroring, port monitoring of span (Cisco) genoemd. Je vindt zo’n ‘managed switch’ al vanaf circa 35 euro (zoals de TP-LINK Easy Smart 8-Port Gigabit Switch TL-SG108E). De manier van werken mag duidelijk zijn: je hangt het te monitoren apparaat aan de poort die wordt gespiegeld en aan de ‘spiegelpoort’ koppel je dan je Wireshark-machine. Klaar!

Media has no description

© PXimport

Hosts: alternatieven

Media has no description

© PXimport

Weergavefilters

Je weet inmiddels hoe je met Wireshark het netwerkverkeer van willekeurige hosts kunt onderscheppen, zowel draadloos als bekabeld. We kunnen ons wel voorstellen dat je al snel verdwaald raakt in de talloze datapakketten die Wireshark in een niet-aflatend tempo op je scherm zet. We hebben hier niet de ruimte om alle mogelijkheden en functies van deze tool te bespreken – daar is een dik boek voor nodig – maar we geven je wel enkele tips mee om snel op interessante data in te zoomen.

Zo kun je in Wireshark weergavefilters (display filters) instellen. Het komt er dan op neer dat Wireshark weliswaar nog altijd alle datapakketjes onderschept, maar de ongewenste op het scherm wegfiltert. De snelste manier om zo’n weergavefilter in te stellen is via het balkje onder de knoppenbalk. Tik je hier bijvoorbeeld tcp in, dan kleurt het balkje groen (als indicatie dat de syntax correct is) en krijg je alleen nog pakketjes van het TCP-protocol te zien. Rechts op de statusbalk lees je af hoeveel pakketjes er zijn onderschept en hoeveel ervan worden weergegeven. Tik je tcp. in, dan kleurt het balkje rood doordat de syntax niet correct is. Of liever, niet volledig, want Wireshark verwacht bijkomende parameters; gelukkig krijg je hiervoor meteen tig suggesties aangereikt via een uitklapmenu. Rechts van het balkje tref je trouwens nog de knop Expression aan; hiermee kun je nog complexere filterregels samenstellen.

Media has no description

© PXimport

DNS resolutie

Bij het analyseren van het dataverkeer zul je wellicht vooral geïnteresseerd zijn in (TCP?-)connecties die met onbekende of verdachte servers zijn gelegd en komen de kolommen Source (met het IP-adres van je host) en Destination (met het IP-adres van de server) – of omgekeerd - in het vizier. Standaard toont Wireshark je de IP-adressen (IPv4 of IPv6). Nu kun je weliswaar zelf opzoeken welke hostnaam daarmee overeenstemt, maar je kunt dat ook Wireshark zelf laten doen: open het menu Edit, kies Preferences / Name Resolution en plaats een vinkje bij Resolve network (IP)addresses. Via het menu Statistics / Resolved Addresses krijg je dan een mooi overzicht van alle vastgestelde hostnamen.

Media has no description

© PXimport

Directe filters

Stel dat je alleen bent geïnteresseerd in de communicatie tussen je eigen apparaat en een bepaalde server. Dan kun je zo’n weergavefilter weliswaar handmatig invoeren, maar het kan ook eenvoudiger. Klik met de rechtermuisknop op het IP-adres of de host in de kolom Destination en kies Apply as Filter / Selected. Vervolgens klik je op de gewenste host of IP-adres in de kolom Source en kies je Apply as Filter / …and selected. In het filterveld wordt nu automatisch iets ingevuld als (ip.dst == 149.210.193.105) && (ip.src == 192.168.0.140). Wil je de communicatiestroom tussen twee machines volgen, dan kun je nog de gewenste ingang met de rechtermuisknop aanklikken en Follow / […] Stream selecteren.

En wil je weten welke protocollen er allemaal zijn aangesproken en hoe intensief die zijn gebruikt: open dan het menu Statistics en kies Protocol Hierarchy. Vind je hier verdachte protocollen tussen – zoals het Internet Relay Chat-protocol terwijl je zelf geen weet hebt van een chatsessie – klik die dan met de rechtermuisknop aan en kies Apply as Filter / Selected.

Media has no description

© PXimport

SmartSniff

Deel dit artikel
Voeg toe aan favorieten