Linux bevat erg krachtige tools om netwerkverbindingen te analyseren. De meeste tools bestaan enkel voor de commandline, maar gelukkig zijn er ook uitzonderingen. We stellen hier kort drie verschillende tools voor met een grafische interface: Zenmap, EtherApe en Wireshark.
Auteur: Filip Vervloesem
Commandline tools hebben de reputatie dat ze moeilijk te gebruiken zijn. Voor beginners zijn ze over het algemeen inderdaad minder toegankelijk. Dat betekent echter niet dat grafische tools per definitie veel gemakkelijker zijn. Je hoeft niet de precieze syntax uit te zoeken voordat je aan de slag gaat, maar lukraak klikken in de gui brengt ook niet veel op. Je hebt nog steeds enige kennis nodig van de tool in kwestie en netwerken in het algemeen. Voor deze test bekeken we drie populaire tools met elk hun eigen toepassingsgebied. Zie ze dus niet als concurrenten van elkaar, maar eerder als verschillende troubleshooting tools voor andere problemen.
Op de laatste pagina van dit blad maak je kennis met nmap, een populaire netwerkscanner voor de commandline. Zenmap is een gui die nmap iets toegankelijker hoopt te maken. Bij het opstarten, krijg je meteen de melding dat je nmap best als root opstart. Als gewone gebruiker krijg je immers niet alle mogelijkheden. (Dat geldt in feite voor alle tools die we hier bespreken.) De meeste distributies voorzien een extra menu-item om Zenmap als root te starten. Je hoeft slechts twee zaken in te vullen om een scan te starten:
Zenmap bevat standaard een tiental verschillende profielen, variërend van een snelle ping scan tot een grondige scan van alle poorten. Handig is dat je bij elk profiel de gebruikte nmap-opties ziet. Wil je exact weten wat Zenmap doet, zoek dan even die opties op in de nmap manpage. Voor meer uitleg over de verschillende types scans verwijzen we je naar de commandline tips verder in dit blad. Het is mogelijk om de nmap-opties van de profielen aan te passen of je eigen profielen aan te maken. De Profile Editor bevat een korte beschrijving van de meeste opties. Wil je een nmap-optie toevoegen die je niet in de Editor vindt? Dat kan via ‘Extra options defined by user’ onder het Other-tabblad.
Heb je eenmaal een scan uitgevoerd, dan toont Zenmap nmaps tekstuitvoer in het rechtervenster. Gelukkig zijn er verschillende mogelijkheden om die uitvoer in een meer leesbare vorm te bekijken. In het linkervenster zie je meteen een lijst van alle gevonden hosts, inclusief een icoontje dat het besturingssysteem aangeeft. Selecteer nu een host en ga naar de tabbladen ‘Ports / Hosts’ en ‘Host Details’ voor meer informatie over die host. In dat eerste tabblad zie je welke services er op welke poorten draaien, eventueel voorzien van versie-informatie. In het tweede tabblad krijg je informatie over het besturingssysteem van de host (als nmap dat kon detecteren) en het aantal gescande poorten. Klik in het linker venster op ‘Services’ in plaats van ‘Hosts’ om te resultaten te groeperen via de gevonden services. Zo zie je meteen welke hosts bijvoorbeeld Samba of ssh draaien. Wat ons betref,t is Zenmap een mooie aanvulling op nmap om de resultaten eenvoudiger te doorzoeken.
Vraag je je ook wel eens af welke netwerkverbindingen momenteel actief zijn op jouw PC? Dan moet je zeker EtherApe eens proberen. EtherApe toont in real time een grafische weergave van alle actieve netwerkverbindingen. Zo zie je niet alleen met welke hosts jouw machine communiceert, maar ook via welke protocols dat gebeurt en welke verbindingen de meeste data versturen. Je kan op elke host dubbelklikken om een venster te openen met meer informatie over de verbinding in kwestie. EtherApe toont dan de verschillende protocols, hoeveel data reeds verstuurd is en wanneer de verbinding voor het laatst actief was. Niet-actieve verbindingen worden na een tweetal minuten trouwens verwijderd uit het overzicht. Gelukkig maar, want anders vind je binnen de kortste keren niets meer terug in EtherApe. Probeer maar eens je favoriete nieuwssite te openen terwijl EtherApe draait. Het is gewoon onvoorstelbaar hoeveel tientallen servers één pagina content laadt! De time-out voor niet-actieve verbindingen kan je trouwens aanpassen via File > Preferences > Timings.
Naast het grafische overzicht bevat EtherApe nog twee vensters waarin alle data in tabelvorm wordt getoond: Protocols en Nodes. Sorteer de kolommen om snel de hosts of protocollen te vinden die het meeste verkeer genereren. Ook in die vensters kan je dubbelklikken op een host voor de gedetailleerde gegevens van enkel die host. Tot slot vermelden we nog even dat je ook een zogenaamde capture filter kan instellen via File > Preferences > Diagram. Zoek je alleen naar netwerkverkeer van bepaalde hosts of protocollen, dan kan je het ongewenste verkeer er meteen uitfilteren. De syntax is dezelfde als de capture filters bij Wireshark: meer informatie lees je in de manpage van pcap-filter.
De laatste tool is meteen de lastigste om te gebruiken. Met Wireshark kan je alle netwerkpakketten onderscheppen die jouw PC binnenkomen of verlaten. Zo analyseer je netwerkverbindingen tot op het niveau van individuele netwerkpakketten. Wireshark vergt wel enige oefening om correct te gebruiken. Bij het opstarten, kies je een netwerk interface en stel je eventueel meteen een capture filter in. Met die filter geef je aan in welke netwerkpakketten je geïnteresseerd bent. Wil je bijvoorbeeld al het verkeer naar je homeserver bekijken? Dan hoef je alleen maar de pakketten van of naar één bepaald IP-adres te bewaren. Dubbelklik op een interface om de capture te starten. Je ziet nu in real time allerlei netwerkpakketten tussen jouw PC en andere machines verschijnen. Selecteer een pakket in de lijst om dit nader te onderzoeken. Bij niet-beveiligde verbindingen met plain text data kan je gewoon de data lezen. Probeer maar eens een tekstbestand weg te schrijven via nfs: je ziet de tekst perfect leesbaar verschijnen in Wireshark.
Meestal gebruik je Wireshark om een bepaald probleem te onderzoeken. Je stelt dan eerst een zo specifiek mogelijke capture filter op, start dan de capture en reproduceert het probleem. Vervolgens stop je de capture, bewaar je de data in het pcap-formaat en neem je je tijd om die verder te analyseren in Wireshark of een andere tool. In de workshop over het beveiligen van je smart tv gaan we kort aan de slag met Wireshark en tshark, de commandline tegenhanger van Wireshark.