De opdracht waarmee een TCP-verbinding wordt geopend, is afhankelijk van het besturingssysteem en het detailniveau dat u nodig hebt. Hier zijn een paar veel voorkomende benaderingen:
* `telnet` (Eenvoudig, maar verouderd): `telnet ` Dit is een eenvoudig opdrachtregelprogramma dat een TCP-verbinding tot stand brengt en de onbewerkte gegevens weergeeft. Het is grotendeels achterhaald voor alles behalve basistesten, omdat het niet-versleuteld is.
* `netcat` (nc) (veelzijdig): `nc ` Dit is een veel krachtiger en veelzijdiger hulpmiddel. Het kan worden gebruikt voor het eenvoudig testen van verbindingen, het overbrengen van bestanden en het fungeren als een eenvoudige client of server. Net als 'telnet' is het niet-versleuteld, tenzij het wordt gebruikt met SSL/TLS.
* `curl` (voor HTTP/HTTPS): `curl ` Terwijl `curl` voornamelijk wordt gebruikt voor HTTP en HTTPS (die op TCP zijn gebouwd), brengt het een TCP-verbinding tot stand als basis voor de communicatie. Het heeft meestal de voorkeur voor webgebaseerde interacties, omdat het de protocoldetails voor u afhandelt.
* `socat` (geavanceerd, flexibel): `socat - TCP4-CONNECT::` `socat` is een zeer krachtig hulpmiddel dat verbinding kan maken met verschillende soorten sockets, waaronder TCP, en verschillende acties kan uitvoeren, zoals het omleiden van verkeer.
* Programmeertalen: Bijna elke programmeertaal heeft bibliotheken voor netwerkprogrammering. Hiermee kunt u TCP-verbindingen maken met fijnmazige controle over aspecten als time-outs, buffers en beveiliging. Voorbeelden hiervan zijn de `socket`-module van Python, de `Socket`-klasse van Java, enz.
Voorbeeld met `netcat`:
Een TCP-verbinding openen met de webserver van Google op poort 80:
``` bash
nc google.com 80
```
Je zult waarschijnlijk een reactie krijgen die verband houdt met HTTP, aangezien dat het protocol is dat op poort 80 wordt gebruikt. Om iets betekenisvollers te doen (zoals het verzenden van een HTTP-verzoek), heb je een geavanceerder hulpmiddel nodig, zoals `curl`.
Vergeet niet om ` ` met de daadwerkelijke hostnaam of IP-adres en `` met het juiste poortnummer. Voor het gebruik van andere dan bekende poorten zijn vaak beheerdersrechten vereist. |