Socket Secure (SOCKS) is een internetprotocol dat een proxyserver gebruikt om netwerkpakketten tussen de server en een client te routeren. SOCKS5 biedt ook authenticatie, waardoor alleen geautoriseerde gebruikers toegang hebben tot de server. Een SOCKS-server maakt via TCP verbinding met een opzettelijk IP-adres en biedt waarden om UDP-pakketten door te sturen.
SOCKS werkt op laag 5 van het referentiemodel Open System Interconnection, dit is de sessielaag tussen de transportlaag en de presentatielaag
Vergelijking met HTTP-proxy's
SOCKS presteert op een lager niveau dan HTTP-proxy's: SOCKS maakt gebruik van het handshake-protocol om de proxysoftware te informeren over de verbinding die de client probeert te maken en werkt zo transparant mogelijk. Aan de andere kant kan een HTTP-proxy headers interpreteren en kopiëren (bijvoorbeeld om een ander onderliggend protocol aan te roepen, zoals File Transfer Protocol (FTP); niettemin stuurt een HTTP-proxy normaal gesproken een HTTP-verzoek door naar de in aanmerking komende HTTP-server). Hoewel een HTTP-proxy een variantmodel in gedachten heeft, staat de CONNECT-methode het doorsturen van TCP-verbindingen toe. Toch kunnen SOCKS-proxy's andersom werken en UDP-verkeer doorsturen, terwijl HTTP-proxy's dat niet kunnen. HTTP-proxy's hebben meestal meer aandacht voor het HTTP-protocol en voeren filtering op een hoger niveau uit. Maar dat is normaal gesproken alleen van applicatie op de POST- en GET-methoden, niet op de CONNECT-methode.
SOCKS
Even een voorbeeld: Rob wil met Jack via internet communiceren, maar er zit een firewall tussen hen in op zijn netwerk. Daarom is Rob niet bevoegd om zich rechtstreeks met Jack in te laten. Daarom maakt Rob verbinding met de SOCKS-proxy op zijn netwerk en informeert hij de SOCKS-proxy over de verbinding die hij met Jack wil maken. De SOCKS-proxy start een verbinding via de firewall en vergemakkelijkt de communicatie tussen Rob en Jack.
HTTP
Update: zoals een maand geleden al is aangekondigd, biedt NordVPN geen ondersteuning meer voor HTTP-proxy's. Klik hier voor meer informatie.
Rob wil een webpagina downloaden van Jack die een webserver heeft. Rob kan niet direct inloggen op de server van Jack omdat er een firewall op zijn netwerk is geplaatst. Om in contact te komen met de server maakt Rob verbinding met zijn de HTTP-proxy van zijn netwerk. Zijn webbrowser communiceert rechtstreeks met de proxy op dezelfde manier waarop hij rechtstreeks met de server van Jack zou communiceren als dat had gekund. Het verzendt een standaard HTTP-verzoekheader. De HTTP-proxy maakt verbinding met Jack's server en stuurt vervolgens alle gegevens die Jack's server teruggeeft terug naar Rob.
Bekijk NordVPN op YouTube!