ID.nl logo
Sesam, open u! Kom alles te weten over netwerkpoorten
© xiaoliangge - stock.adobe.com
Huis

Sesam, open u! Kom alles te weten over netwerkpoorten

Een woning betreed je via een deur. Datzelfde gebeurt bij data die tussen apparaten wordt verstuurd. Alleen gaat het dan niet om deuren, maar om netwerkpoorten. Hoe werkt dat precies? Op welke manier heb jij daar als gebruiker mee te maken?

Dit artikel is voor de wat gevorderde gebruiker die álles wil weten over netwerkpoorten:

  • Poortnummers
  • Poorttypes
  • Poortcommunicatie en -verkeer
  • Poortregels
  • Portforwarding

Ook interessant: Netwerkproblemen? Analyseer ze met Wireshark

Stel je voor dat je in een gebouw met duizend deuren bent. Achter een van die deuren bevindt zich een persoon. Om snel te communiceren, open je het liefst direct de juiste deur. Bij een computer is dat vergelijkbaar, alleen heb je hierbij te maken met 65536 netwerkpoorten (2^16). Het is natuurlijk niet efficiënt als het apparaat voor elke vorm van communicatie alle poorten een voor een moet openen om de juiste ‘gesprekspartner’ te vinden. Hoe dit dan wel werkt, leggen we in dit artikel uit voor de wat gevorderde gebruiker.

Poortnummers

Als je de systeemkast van je pc opent, zie je geen 65536 netwerkpoorten. Logisch, want we hebben het niet over fysieke poorten voor bijvoorbeeld usb en ethernet. De netwerkpoorten zijn virtuele, logische constructies binnen de software en het besturingssysteem. Zo’n netwerkpoort is een punt waar de data binnenkomt of vertrekt.

Een groot aantal communicatievormen, zoals bepaalde diensten en protocollen, gebruiken zogeheten ‘well-known ports’, dit zijn vaste poortnummers. De worden beheerd door de Internet Assigned Numbers Authority (IANA) en zijn genummerd van 0 tot 1023. Bekende poortnummers zijn 20 en 21 (FTP), 25 (SMTP), 53 (DNS), 80 (http) en 443 (https).

Laten we dit eens testen. Ga naar www.id.nl en vervolgens naar https://id.nl:80. Via :80 geef je aan dat je browser verbinding met poort 80 op de webserver moet maken. Dit lukt helaas niet, want het gaat om https en niet om http. Wat wel lukt, is https://id.nl:443, omdat dit de standaardpoort voor zo’n versleutelde verbinding is.

Een https-verbinding loopt bijna altijd via poort 443.

Poorttypes

Naast de 1024 well-known ports zijn er de geregistreerde poorten (van 1024 tot 49151). Deze zijn niet vast gereserveerd, maar kunnen door softwareontwikkelaars voor hun eigen applicaties worden geregistreerd, zoals 3306 (MySQL-database) en 8080 (alternatieve http).

Tot slot zijn er ook nog de dynamische en private poorten (49152 tot 65535). Zoals je verderop kunt lezen, worden deze poortnummers dynamisch toegewezen door het besturingssysteem. Dit gebeurt wanneer een applicatie daarom verzoekt. Deze poorten worden vaak gebruikt voor tijdelijke communicatie, bijvoorbeeld bij het opzetten van een verbinding voor een e-mailapp.

Een overzicht van de poortnummers vind je via deze pagina. In deze lijst kun je navigeren en gericht zoeken naar poortnummers, servicenamen en protocollen.

Tussen de laagste, gereserveerde poortnummers bevinden zich enkele bekende protocollen.

Poortcommunicatie

Wanneer je met je pc in je thuisnetwerk naar een website surft, stuurt je webbrowser een https-verzoek naar het ip-adres van de webserver, gericht aan poort 443. Op zich is dit eenvoudig, maar in de praktijk blijkt het helaas iets ingewikkelder. Enig inzicht hierin is nuttig om bijvoorbeeld een router of firewall beter en veiliger te configureren.

Wanneer je webbrowser een verzoek stuurt naar de webserver gericht aan poort 443, wijst je pc hiervoor tijdelijk een dynamische poort toe, bijvoorbeeld 62292. Dit verzoek gaat vervolgens eerst naar je router. Deze houdt normaliter een tabel bij, de Network Address Translation-tabel (NAT). Hierin staat welke interne ip-adressen en poorten zijn gekoppeld aan de externe ip-adressen en poorten. De router wijst nu op zijn beurt een externe dynamische poort toe voor deze communicatie, bijvoorbeeld 49800. Ook vervangt de router het interne ip-adres en poort (bijvoorbeeld 192.168.0.181:62292) door zijn eigen externe ip-adres en poort (bijvoorbeeld 84.192.232.207:49800). De webserver ontvangt nu het verzoek (bijvoorbeeld 54.195.223.106:443) en stuurt dit terug naar het ip-adres en poort van je router. Deze raadpleegt vervolgens de NAT-tabel en stuurt het antwoord van de server terug naar je pc met de originele bronpoort. De communicatie is geslaagd.

De communicatie van de pc via de router naar de webserver, en weer terug.

Poortverkeer

Van het hele protocol- en poortengedoe merk je als eindgebruiker gelukkig weinig. Het is vooralwebadres intikken en gaan. Wil je graag achter de schermen van het netwerkverkeer kijken, dan is Wireshark een krachtige en gratis tool die je daarvoor kunt gebruiken. We beperken ons tot een eenvoudig voorbeeld.

Installeer de tool met alle standaardinstellingen (inclusief Npcap) en start deze op. Dubbelklik op de actieve netwerkadapter, zoals Ethernet. Je zult zien dat er meteen veel netwerkverkeer wordt afgevangen. Beëindig dit met de rode stopknop.

Klik nu met rechts op een willekeurige kolomtitel, zoals Source, kies Column Preferences en druk op het plusknopje. Dubbelklik op New Column, vul de naam Bronpoort in en dubbelklik op Number. Klik op het pijlknopje en kies Source port. Herhaal dit voor Doelpoort (Destination Port). Haal eventueel de vinkjes weg bij alle overige items, behalve bij No., Source en Destination. Bevestig met OK.

Druk op de blauwe haaienvin en surf met je browser naar https://id.nl, waar je snel op een paar interne sitelinks klikt. Ga terug naar Wireshark en vul bovenaan in het filterveld ip.addr == 54.195.223.106 in. Dit zorgt ervoor dat je alleen de communicatie met de webserver van id.nl te zien krijgt. Je kunt het ip-adres van zo’n server achterhalen door op de opdrachtregel nslookup id.nl uit te voeren.

Je zult zien dat de bronpoort van je eigen pc 443 is en de bronpoort van de webserver een tijdelijk toegekend dynamisch poortnummer is. De rol van de tussenliggende NAT-router valt hier niet uit af te leiden.

De poortnummers zijn duidelijk zichtbaar, maar de router blijft buiten het gezichtsveld.

Poortregels

Wanneer je een kamer wilt binnengaan, mag de deur niet op slot zijn. In de netwerkwereld is dit vergelijkbaar. Om via een bepaalde poort te communiceren, moet deze openstaan of minstens opengaan zodra er wordt aangeklopt.

Het openen en sluiten van poorten, eventueel alleen voor specifieke ip-adressen en netwerkprotocollen, is de taak van een firewall die daarmee je netwerk beter beveiligt.

We illustreren dit met een eenvoudig experiment. Stel, we willen op onze Windows-pc het uitgaande verkeer naar alle https-webservers blokkeren.

Druk hiervoor op Windows-toets+R en voer wf.msc uit. Het venster van de Windows Firewall verschijnt. Klik links op Regels voor uitgaande verbindingen en rechts op Nieuwe regel. Selecteer Poort, druk op Volgende, kies TCP en vul bij Specifieke poorten 443 in. Druk op Volgende en selecteer De verbinding blokkeren. Druk op Volgende, laat de drie netwerktypes geselecteerd, druk nogmaals op Volgende en vul een naam voor je regel in, bijvoorbeeld Blokkeer 443. Zodra je bevestigt met Voltooien wordt je regel bovenaan toegevoegd en is deze actief, zoals je merkt na een herstart van je browser. Vanuit het rechterdeelvenster kun je de regel altijd weer Uitschakelen of Verwijderen.

In de praktijk gebeurt ook het omgekeerde. Standaard blokkeert je firewall alle binnenkomende verkeer. Als een webserver een specifieke poort in je pc wil bereiken, kan het nodig zijn dat je in de firewall die poort voor binnenkomend verkeer (van dat protocol en die webserver) openzet. In dit geval kies je Regels voor binnenkomende verbindingen en De verbinding toestaan.

Met deze firewall-regel blokkeer je de communicatie met alle https-webservers.

Van buiten naar binnen

Je weet nu al hoe je via Windows Firewall ongewenst verkeer kunt blokkeren en gewenst verkeer kunt toelaten. We hebben dit op poortniveau gedaan, maar bij het opstellen van zo’n regel kun je ook op applicatie-, adres- en/of protocolniveau werken. Vergelijkbare mogelijkheden zitten vast ook in je eigen firewall als je liever niet de ingebouwde Windows Firewall gebruikt.

Helaas zijn we er nog niet helemaal, want zoals gezegd fungeert je router altijd als verbinding voor het verkeer tussen je netwerkapparaten en het internet. Stel dat je in je netwerk een eigen server draait, zoals een bestandsserver, webserver of netwerkcamera, die je ook van buitenaf wilt bereiken. Dit kan problematisch zijn, want het apparaat waarop je service draait, heeft een intern ip-adres (bijvoorbeeld 192.168.0.181) dat niet zomaar van buitenaf bereikbaar is. Je kunt wel (het externe wan-ip-adres van) je router bereiken, maar hoe weet de router dan voor welk netwerkapparaat dat binnengekomen verzoek bedoeld is? Een mogelijke uitweg is poortdoorschakeling (port forwarding). Het komt erop neer dat je je router instrueert om alle binnenkomende verkeer op een specifieke poort automatisch naar (het interne lan-ip-adres van) het gewenste apparaat door te sluizen. Hoe pak je dit aan?

Je router heeft twee netwerkingangen: een naar internet (extern ip-adres) en een naar je netwerk (intern ip-adres).

Voorbereiding portforwarding

Allereerst moet je het interne ip-adres van het betreffende netwerkapparaat kennen. Dit doe je het handigst via je router. Start je browser en voer het interne ip-adres van je router in. Dit adres lees je normaal af na het uitvoeren van het commando ipconfig op de Opdrachtprompt, bij Default Gateway (bijvoorbeeld 192.168.0.254). Je belandt nu in de webinterface van je router, waar je een lijst met interne ip-adressen van verbonden netwerkapparaten vindt, bijvoorbeeld bij DHCP Client Table of ConnectedDevices. Raadpleeg eventueel de routerhandleiding, en noteer het beoogde adres.

Daarnaast heb je het poortnummer nodig waarop de betreffende service bereikbaar is, evenals het gebruikte protocol, meestal tcp of soms (ook) udp. Raadpleeg hiervoor de handleiding bij de betreffende service of het apparaat.

De lijst met (ip-adressen van) enkele aangesloten apparaten op onze router.

Doorschakelen

Je hebt nu voldoende informatie om een regel voor poortdoorschakeling in te stellen op je router. Hoe je dit doet hangt af van je routertype. Op www.portforward.com/router.htm vind je instructies voor vele routers. Hieronder vind je een algemene werkwijze.

Zoek in je routerinterface naar een onderdeel als Port Forwarding of Virtual Server en klik op Add Rule. Geef je regel een naam, vul bij het juiste item het interne ip-adres van je server of apparaat in, kies het bijbehorende protocol en vul tevens het interne poortnummer in. Vaak wordt ook om een extern poortnummer gevraagd. Meestal is dit hetzelfde als het interne, maar dat hoeft niet. Bewaar je aanpassingen met Save of Apply.

Nu hoef je alleen maar de juiste applicatie te verbinden met het externe ip-adres van je router, op het ingegeven (externe) poortnummer. Dit ip-adres kom je te weten door vanaf een pc in je netwerk te surfen naar www.whatismyip.com.

Bij poortdoorschakeling kunnen er enkele complicaties optreden. Eén daarvan is dat het externe ip-adres van je router vaak dynamisch door je internetprovider wordt toegekend en dus kan veranderen. Om te vermijden dat je steeds het actuele adres moet kennen, kun je een dynamisch DNS (DDNS) gebruiken. Dit kan ook gratis, bijvoorbeeld bij NoIP, Dynu of Duck DNS.

Eenmaal de juiste plek gevonden, heb je snel een nieuwe regel toegevoegd.

Poortscan

Je begrijpt dat elke open poort een extra kwetsbaarheid in de beveiliging van je thuisnetwerk kan zijn, omdat dit een toegangspunt biedt voor potentiële aanvallers. Het is dus essentieel om alleen de hoogst noodzakelijke poorten open te zetten. Om snel de status van je netwerkpoorten te controleren, kun je een poortscan uitvoeren. Hierbij controleert een tool systematisch alle poorten op een ander apparaat.

Dit kan van binnenuit met een gratis tool als Nmap (de grafische frontend Zenmap wordt mee geïnstalleerd), maar ook van buitenaf. Dit laatste is nuttig omdat je je dan in de positie van een potentiële aanvaller plaatst. Gratis online scanners zijn onder meer Nmap Online (voor een publieke scan vul je het externe ip-adres of de DDNS-domeinnaam van je router/netwerk in) en GRC ShieldsUP!.

Bij GRC ShieldsUP! ga je als volgt te werk: klik op Proceed en kies bij voorkeur AllService Ports. De scan van de ‘laagste’ 1056 poorten start meteen. Een open poortnummer kleurt rood, een gesloten poort blauw en een stealth-poort groen. Dit laatste is iets veiliger omdat zo’n poort helemaal niet reageert op binnenkomende datapakketten, terwijl bij een blauwe poort een aanvaller weet dat er een actief systeem achter zit, alleen hij kan er niet (zomaar) binnen.

Klik op een blokje van een poortnummer voor meer (algemene) feedback. Let onder meer op poorten 22 (ssh) en 23 (telnet), omdat hackers deze graag in de gaten houden. Tref je inderdaad een of meer onverwachte open poorten aan, zoek dan in je router en op je netwerkapparaten welke services deze openingen daadwerkelijk nodig hebben. Eventueel sluit je ze af met je firewall, al dan niet tijdelijk als test.

Alle poorten in stealth (achter router en firewall).
▼ Volgende artikel
Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)
© DC Studio
Huis

Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)

Je hebt net een klein fortuin uitgegeven aan een gloednieuwe 4K- of zelfs 8K-televisie. Je installeert hem, start je favoriete filmklassieker en zakt onderuit op de bank. Maar in plaats van een bioscoopervaring bekruipt je het gevoel dat je naar een goedkope soapserie of een homevideo zit te kijken. De acteurs bewegen vreemd soepel, de actiescènes lijken versneld en de magie is ver te zoeken. Geen zorgen, je televisie is niet stuk. Hij doet eigenlijk iets te goed zijn best.

Dit fenomeen is zo wijdverspreid dat er een officiële term voor is: het 'soap opera effect'. In technische kringen wordt dit ook wel bewegingsinterpolatie of 'motion smoothing' genoemd. Hoewel fabrikanten deze functie met de beste bedoelingen in hun televisies bouwen, is het voor filmfanaten vaak een doorn in het oog. Gelukkig is het eenvoudig op te lossen... als je tenminste weet waar je moet zoeken.

Nooit meer te veel betalen? Check
Kieskeurig.nl/prijsdalers!

Wat is het 'soap opera effect' precies?

Om te begrijpen wat er misgaat, moeten we kijken naar hoe films worden gemaakt. De meeste bioscoopfilms en veel dramaseries worden opgenomen met 24 beelden per seconde. Die snelheid geeft films hun karakteristieke, dromerige uitstraling. Een beetje bewegingsonscherpte hoort daarbij; dat is wat onze hersenen associëren met 'cinema'. Moderne televisies verversen hun beeld echter veel vaker: meestal 60 of zelfs 120 keer per seconde.

Om dat verschil te overbruggen, verzint je slimme televisie er zelf beelden bij. De software kijkt naar beeld A en beeld B, en berekent vervolgens hoe een tussenliggend beeld eruit zou moeten zien. Dit voegt de tv toe aan de stroom. Het resultaat is een supervloeiend beeld waarin elke hapering is gladgestreken.

Voor een voetbalwedstrijd of een live-uitzending is dat geweldig, omdat je de bal en spelers scherper kunt volgen. Maar bij een film zorgt die kunstmatige soepelheid ervoor dat het lijkt alsof je naar een achter de schermen-video zit te kijken, of dus naar een soapserie zoals Goede Tijden, Slechte Tijden, die traditioneel met een hogere beeldsnelheid werd opgenomen. De filmische illusie wordt hierdoor verbroken.

©ER | ID.nl

De winkelmodus is ook een boosdoener

Naast beweging is er nog een reden waarom het beeld er thuis soms onnatuurlijk uitziet: de beeldinstellingen staan nog op standje zonnebank. Veel televisies staan standaard in een modus die 'Levendig' of 'Dynamisch' heet. Deze stand is ontworpen om in een felverlichte winkel de aandacht te trekken met knallende, bijna neon-achtige kleuren en een extreem hoge helderheid. Bovendien is de kleurtemperatuur vaak nogal koel en blauw, omdat dat witter en frisser oogt onder tl-licht. In je sfeervol verlichte woonkamer zorgt dat echter voor een onrustig beeld waarbij huidtinten er onnatuurlijk uitzien en details in felle vlakken verloren gaan.

Hoe krijg je de magie terug?

Het goede nieuws is dat je deze 'verbeteringen' gewoon kunt uitzetten. De snelste manier om van het soap opera effect en de neonkleuren af te komen, is door in het menu van je televisie de beeldmodus te wijzigen. Zoek naar een instelling die Film, Movie, Cinema of Bioscoop heet. In deze modus worden de meeste kunstmatige bewerkingen, zoals bewegingsinterpolatie en overdreven kleurversterking, direct uitgeschakeld of geminimaliseerd. Het beeld wordt misschien iets donkerder en warmer van kleur, maar dat is veel dichter bij wat de regisseur voor ogen had.

Sinds kort hebben veel moderne televisies ook de zogeheten Filmmaker-modus. Dat is de heilige graal voor puristen. Als je deze modus activeert, zet de tv met één druk op de knop alle onnodige nabewerkingen uit en respecteert hij de originele beeldsnelheid, kleuren en beeldverhouding van de film.

Wil je de beeldmodus niet volledig veranderen, maar alleen dat vreemde, soepele effect kwijt? Dan moet je in de geavanceerde instellingen duiken. Elke fabrikant geeft het beestje een andere naam. Bij Samsung zoek je naar Auto Motion Plus of Picture Clarity, bij LG-televisies ga je naar TruMotion, bij Sony naar Motionflow en bij Philips naar Perfect Natural Motion. Door deze functies uit te schakelen of op de laagste stand te zetten, verdwijnt het goedkope video-effect en krijgt je film zijn bioscoopwaardige uitstraling weer terug.

▼ Volgende artikel
Chrome Remote Desktop: ideaal voor ondersteuning op afstand
© ER | ID.nl
Huis

Chrome Remote Desktop: ideaal voor ondersteuning op afstand

Een apparaat op afstand bedienen hoeft geen geld te kosten en is verrassend eenvoudig. Of je nu bestanden wilt openen, technische problemen wilt oplossen of meerdere toestellen wilt beheren: met Chrome Remote Desktop kan het allemaal, gratis en zonder gedoe.

De helper begint

Een groot voordeel van Chrome Remote Desktop is de brede compatibiliteit: het werkt met Windows, macOS, Linux en ChromeOS. Bovendien is het veilig – verbindingen worden versleuteld – en je hebt alleen een Chrome-browser nodig. We beginnen aan de kant van degene die op afstand toegang wilt tot een andere computer, degene die ondersteuning biedt vanaf computer A. Op computer A opent de gebruiker Chrome en surft naar https://remotedesktop.google.com. Daar verschijnen twee opties: Dit scherm delen en Verbinding maken met een andere computer. Omdat computer A support wil geven aan een extern apparaat, kiest de gebruiker voor de tweede optie. In dat scherm verschijnt een veld om een toegangscode in te geven, de code volgt zo meteen.

Degene die support geeft, gebruikt het onderste vak.

Acties voor de hulpvrager

Op computer B, de computer die toegang zal verlenen, moet de gebruiker ook in Chrome surfen naar dezelfde website. Daar kiest hij voor de optie Dit scherm delen. Voordat dat mogelijk is, moet Chrome Remote Desktop eerst worden gedownload en geïnstalleerd. De gebruiker klikt daarvoor op de ronde blauwe knop met het witte downloadpijltje. Hiermee wordt een Chrome-extensie geïnstalleerd. Na de installatie verschijnt in het vak Dit scherm delen een blauwe knop met de tekst Code genereren. Wanneer de gebruiker daarop klikt, wordt een toegangscode van 12 cijfers aangemaakt. Die code geeft hij of zij door aan gebruiker A.

Wie support krijgt, moet de code via een berichtje of telefoontje doorgeven.

Scherm delen

Op computer A geeft de gebruiker de code op in Chrome Remote Desktop. Vervolgens wacht hij tot gebruiker B bevestigt dat A toegang mag krijgen tot zijn scherm. Zodra dat is gebeurd, verschijnt het volledige bureaublad van computer B in een nieuw Chrome-venster op computer A. Door dit venster schermvullend weer te geven, kan A probleemloos handelingen uitvoeren op de pc van B. Voor de veiligheid beschikken beide gebruikers over een knop om de sessie op elk moment te beëindigen. Uiteraard is een stabiele internetverbinding noodzakelijk. Daarnaast krijgen beide partijen de melding dat ze klembordsynchronisatie kunnen inschakelen. Hiermee wordt het mogelijk om eenvoudig tekst of bestanden te kopiëren en te plakken tussen beide apparaten.

Gebruiker A krijgt het volledige scherm van B in een Chrome-venster te zien.