Chaussettes – wikipedia
Le Protocole de chaussettes est un protocole Internet qui permet aux applications de serveur client d’utiliser les services d’un serveur proxy en fonction du protocole et de manière transparente. Les chaussettes sont une abréviation pour les “chaussettes”.
Au lieu de cela, les clients derrière un pare-feu qui souhaitent se connecter à un serveur externe se combinent à un proxy de chaussette. Ce serveur proxy vérifie l’autorisation du client pour contacter le serveur externe et transmet la demande au serveur.
Le protocole SOCKS a été initialement développé par NEC (SOCKS-4). La version 5 actuelle du protocole, comme décrit dans RFC 1928 , Développez les versions précédentes pour prendre en charge UDP, l’authentification, la résolution de noms sur le serveur SOCKS et IPv6.
Dans le modèle TCP / IP, il s’agit d’une couche intermédiaire entre la couche d’application et la couche de transport.
Demande [ Modifier | Modifier le texte source ]]
Une connexion SOCKS-4 typique, via TCP, s’appuie comme suit:
Le client se connecte au serveur et envoie un tel package:
Long | Description |
---|---|
1 octet | Version (pour SOCKS4: 0x04 ) |
1 octet | Commande:
|
2 octets | Numéro de port |
4 octets | IPv4-Adresse |
indéfini | ID utilisateur (facultatif; si aucune authentification n’est nécessaire, sautez cette section) |
1 octet | Complétion avec zéro-octet ( 0x00 ) |
Répondre [ Modifier | Modifier le texte source ]]
Long | Description |
---|---|
1 octet | Null-octe ( 0x00 ) |
1 octet | Code de réponse:
|
2 octets | Toutes les données. |
4 octets | Toutes les données. |
Exemple [ Modifier | Modifier le texte source ]]
Fred veut aller sur l’IP via SOCKS4 66.102.7.99
Connectez-vous au port 80. Pour cela, il se connecte au proxy Socks4 de son choix via TCP et envoie la demande suivante:
Version | Commando | Numéro de port | Adresse | ID de l’utilisateur | Diplôme |
---|---|---|---|---|---|
0x04 |
0x01 |
0x00 0x50 |
0x42 0x66 0x07 0x63 |
0x46 0x72 0x65 0x64 |
0x00 |
Dans l’ID utilisateur, “Fred” est formaté comme une chaîne dans ASCII.
Le serveur avec “OK” répond:
Null-octet | Code de réponse | Toutes les données | Toutes les données |
---|---|---|---|
0x00 |
0x5a |
0xxx |
0xxx |
0xxx
Est un espace réservé pour n’importe quel octet chacun.
Depuis lors, toutes les données que le client (Fred) envoie au proxy de chaussettes seront utilisées 66.102.7.99
transmis et vice versa.
SOCKS-5 diffère de SOCKS-4 principalement par une meilleure authentification, une prise en charge UDP et IPv6.
La structure fonctionne maintenant comme ceci:
- Le client se connecte au serveur et le salue avec des méthodes d’authentification qu’il se soutient.
- Le serveur répond avec l’une des méthodes envoyées par le client.
- Selon la méthode, un certain nombre de packages peuvent être envoyés.
- Le client envoie une demande de connexion similaire à SOCKS-4
- Le serveur répond de la même manière que les chaussettes-4
Octet | Nom | Explication |
---|---|---|
0x00 |
Aucune authentification requise | Aucune authentification ne nécessite |
0x01 |
Gssapi | Gssapi, voir RFC 2743 . Utilisé u. De Kerberos. |
0x02 |
IDENTIFIANT MOT DE PASSE | Authentification avec le nom d’utilisateur et le mot de passe, voir RFC 1929 |
0x03 jusqu’à 0x7f |
Iana a été assignée | Sont décernés par l’iana |
0x80 jusqu’à 0xfe |
Réservé aux méthodes privées | Réservé aux méthodes non publiques |
0xff |
Aucune méthode acceptable | Aucune méthode acceptable |
Le client envoie d’abord ses méthodes d’authentification:
Long | Description |
---|---|
1 octet | Version (pour chaussettes-5: 0x05 ) |
1 octet | Nombre les méthodes d’authentification prises en charge |
Octets | Valeurs d’octets des méthodes mentionnées sous les «méthodes d’authentification», un octet par méthode |
Le serveur annonce la sélection de la méthode
Long | Description |
---|---|
1 octet | Version ( 0x05 ) |
1 octet | Valeur d’octets de la méthode d’authentification; 0xff S’il n’y a pas de méthode acceptable. |
La demande de connexion [ Modifier | Modifier le texte source ]]
C’est à quoi ressemble la demande de connexion pour SOCKS-5:
Long | Description |
---|---|
1 octet | Version (pour chaussettes-5: 0x05 ) |
1 octet | Commande:
|
1 octet | Réservé: doit 0x00 être |
1 octet | Type d’adresse (type d’adresse cible):
|
Selon le type d’adresse sélectionné:
|
|
2 octets | Port en octet Ordre Big-Endien |
La réponse du serveur ressemble à ceci:
Long | Description |
---|---|
1 octet | Version ( 0x05 ) |
1 octet | Code de réponse (voir le tableau Codes de réponse ) |
1 octet | Réservé: doit 0x00 être |
1 octet | Type d’adresse:
|
Selon le type d’adresse:
|
|
2 octets | Port en octet Ordre Big-Endien |
Octet | Nom | Explication | |
---|---|---|---|
0x00 |
réussi | Connexion établie avec succès | |
0x01 |
Échec du serveur de chaussettes générales | Erreur du serveur | |
0x02 |
Connexion non autorisée par Ruleset | La connexion due à la configuration du serveur n’est pas autorisée. | |
0x03 |
Réseau inaccessible | Le réseau cible ne peut pas être atteint | |
0x04 |
Hôte inaccessible | L’hôte cible ne peut pas être atteint | |
0x05 |
Connexion rejetée | Connexion rejetée | |
0x06 |
TTL a expiré | Calculatrice cible trop loin | |
0x07 |
Commande non prise en charge | La commande de la demande n’est pas prise en charge | |
0x08 |
Type d’adresse non pris en charge | L’APY de la demande n’est pas pris en charge | |
0x09 jusqu’à 0xff |
Incapable |
Liste des serveurs de chaussettes:
Il existe des programmes qui permettent à d’autres programmes d’atteindre des réseaux externes via des chaussettes sans avoir à apporter un soutien spécial pour cela:
Liste des clients de chaussettes:
Recent Comments