Ga naar hoofdinhoud

Netwerken – Poorten & protocollen

In dit labo kijk je naar binnen. Je brengt in kaart welke programma's op jouw machine naar het netwerk luisteren, je lost het meest voorkomende opstartprobleem van elke ontwikkelaar op, en je opent Wireshark om te zien wat er letterlijk over de lijn gaat. Op het einde weet je waarom een browser waarschuwt bij een http://-adres, omdat je het zelf gelezen hebt.

Leerstof

Raadpleeg deze secties als je iets wil nalezen:

Hoe werk je dit labo door?
  1. Doe eerst, denk daarna. Vink de stappen af terwijl je ze uitvoert; je voortgang blijft bewaard in je browser.
  2. Schrijf je waarneming zelf op voor je met het modelantwoord vergelijkt.
  3. De controlevragen zijn af te lezen in je eigen terminal, browser of opname.
  4. De hulp neemt af. Vanaf oefening 4 krijg je nog nauwelijks hints: tegen dan ken je de aanpak.
Voor je begint: Wireshark

Vanaf oefening 4 heb je Wireshark nodig, met Npcap op Windows. Dat was het huiswerk uit Het grote plaatje. Werkt je opname niet, gebruik dan het aangeleverde opnamebestand: alle vragen zijn er even goed mee te beantwoorden.


Oefening 1 – Poorten uit het hoofd​

Je hebt een handvol poortnummers nodig om de rest van dit labo vlot te kunnen lezen. Vul ze in; de hints helpen je op weg.

1.Op welke poort luistert een webserver voor HTTPS?
2.Op welke poort luistert SSH?
3.Welke poort gebruikt DNS?
4.Welke poort gebruikt onversleuteld HTTP?
5.Vanaf welk nummer beginnen de poorten die geen beheerdersrechten meer vragen?

Oefening 2 – Wat luistert er op jouw machine?​

Je laptop draait op dit moment meer netwerkdiensten dan je denkt. Breng ze in kaart, en zoek uit welk programma achter elke poort zit.

Doe-opdrachtBreng in kaart welke programma’s op jouw machine luisteren.0 / 5 stappen

Noteer je vijf regels als tabel: poort, lokaal adres, PID en programmanaam. Welke luisteren op 127.0.0.1 en welke op 0.0.0.0, en wat betekent dat verschil?

Schrijf eerst zelf op wat je zag.

Controleer wat je ziet​

1.Welke status heeft een poort waarop een programma wacht op verbindingen?
2.Hoe heet het getal in de laatste kolom van netstat, waarmee je het programma terugvindt?
3.Welk lokaal adres betekent "bereikbaar op alle interfaces van deze machine"?
4.Welke status heeft een verbinding die effectief loopt?

Geannoteerde schermafbeelding van netstat -ano | findstr LISTENING in PowerShell, met de vier kolommen benoemd en met één regel uitgelicht waarbij het PID doorgetrokken wordt naar de uitvoer van Get-Process -Id.


Oefening 3 – Het poortconflict​

EADDRINUSE is de foutmelding die je dit semester het vaakst zal zien. Je lokt hem nu bewust uit en lost hem op twee manieren op, zodat je later niet moet gokken.

Doe-opdrachtLok het meest voorkomende opstartprobleem uit en los het op.0 / 8 stappen

Je hebt het conflict op twee manieren opgelost. Beschrijf beide, en zeg wanneer je welke kiest.

Schrijf eerst zelf op wat je zag.

Controleer wat je ziet​

1.Welke foutcode geeft Node wanneer een poort al bezet is?
2.Met welk PowerShell-commando stop je het proces dat de poort vasthoudt?
3.Welk commando toont welk PID poort 8000 vasthoudt op Windows?
Sluit niet zomaar processen af

Kijk altijd eerst met Get-Process -Id PID welk programma je voor je hebt. Zie je een systeemproces of iets wat je niet herkent, laat het staan en kies een andere poort voor je eigen server.


Oefening 4 – Je eerste analyse in Wireshark​

Tot nu keek je naar verkeer via de browser. Nu kijk je een laag dieper: naar de pakketten zelf, inclusief alles wat DevTools je niet toont.

Bestand aanleveren

Voorzie een opnamebestand static/pcap/poorten-en-protocollen.pcapng met daarin: een DNS-vraag en -antwoord, een volledige TCP-handdruk, wat HTTP-verkeer in klare tekst en een TLS-handdruk. Studenten die zelf niets mogen opnemen op het schoolnetwerk werken daarmee verder. Verwijs er in deze oefening naar met een downloadlink.

Doe-opdrachtVind de DNS-vraag en de TCP-handdruk terug in een echte opname.0 / 6 stappen

Welke lagen zag je toen je het TCP-pakket openklapte, en wat stond er in elke laag?

Schrijf eerst zelf op wat je zag.

Welk verkeer zag je over UDP en welk over TCP? Wat verklaart die verdeling?

Schrijf eerst zelf op wat je zag.

Controleer wat je ziet​

1.Uit hoeveel pakketten bestaat een volledige TCP-handdruk?
2.Welk filter toont enkel de naamsvertalingen in je opname?

Oefening 5 – HTTP versus HTTPS op de lijn​

Deze oefening is het antwoord op de vraag waarom je browser "Niet veilig" toont. Je leest het verschil zelf, in twee opnames.

Doe-opdrachtZie met eigen ogen wat er bij HTTP leesbaar op de lijn staat, en wat HTTPS daaraan verandert.0 / 7 stappen

Wat kon je bij het HTTP-verkeer letterlijk lezen, en wat niet bij het HTTPS-verkeer?

Schrijf eerst zelf op wat je zag.

Wat zag je bij het HTTPS-verkeer ondanks de versleuteling nog wel?

Schrijf eerst zelf op wat je zag.
Enkel je eigen verkeer

Neem alleen je eigen verkeer op, op je eigen netwerk. Meeluisteren op een netwerk dat niet van jou is, is in veel gevallen strafbaar. Gebruik voor deze oefening geen echte inloggegevens op een http://-site.


Oefening 6 – TCP of UDP?​

Je hebt in je opname allebei zien passeren. Beslis nu per toepassing welke keuze de ontwerper maakte, en waarom.

1.Een installatiebestand van 2 GB downloaden
2.Een videogesprek in Teams of Discord
3.Inloggen op een server met SSH
4.Een DNS-opzoeking van één domeinnaam
5.Positie-updates in een online game
6.Een webpagina opvragen met HTTPS over HTTP/2
7.Een e-mail versturen via SMTP
8.Een livestream waarbij een gemist beeldje niet erg is

Oefening 7 – Certificaatfouten diagnosticeren​

Vier stukgemaakte sites, vier verschillende oorzaken. Lees per site de foutcode en bepaal welke van de drie controles faalde.

Doe-opdrachtDiagnosticeer certificaatfouten en lees een certificaat uit.0 / 6 stappen

Zet de vier fouten naast elkaar: welke van de drie controles faalde er telkens, en wat zou de beheerder moeten doen?

Schrijf eerst zelf op wat je zag.

Wat stond er in het geldige certificaat van badssl.com, en wat bewijst dat wel en niet?

Schrijf eerst zelf op wat je zag.

Controleer wat je ziet​

1.Welke foutcode toont Chrome bij expired.badssl.com?
2.Welke foutcode toont Chrome bij wrong.host.badssl.com?
3.Welke foutcode toont Chrome bij self-signed.badssl.com?
4.Hoeveel dagen is een certificaat van Let’s Encrypt geldig?

Schermafbeelding van de waarschuwingspagina van Chrome bij expired.badssl.com.


Uitdaging – Poortpatrouille​

Geen stappenplan meer. Gebruik netstat, Wireshark en je browser, en noteer per vondst hoe je eraan kwam.

Doe-opdrachtZoek zelf uit wat er op je machine en op je netwerk gebeurt. Vink af wat je gevonden hebt.0 / 8 stappen

Denk tot slot na over deze vragen:

  • Welke luisterende poorten op je machine had je niet verwacht? Zoek er één op: welk programma is het, en heeft dat toegang tot het netwerk nodig?
  • Punt 8: waarom is een certificaat dat binnen de maand vervalt geen probleem, en wanneer wordt het er wel een?