Chaussettes – wikipedia

before-content-x4

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”.

after-content-x4

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:

after-content-x4
  • 0x01 = nouvelle connexion TCP / IP
  • 0x02 = lie un port
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:

  • 0x5a = Demande approuvée
  • 0x5b = Demande rejetée ou échouée
  • 0x5c = La demande a échoué car le client ne fait pas identifier exécuté (ou ne peut pas être atteint par le serveur)
  • 0x5d = La demande a échoué parce que identifier L’identité n’a pas pu confirmer
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:

  1. Le client se connecte au serveur et le salue avec des méthodes d’authentification qu’il se soutient.
  2. Le serveur répond avec l’une des méthodes envoyées par le client.
  3. Selon la méthode, un certain nombre de packages peuvent être envoyés.
  4. Le client envoie une demande de connexion similaire à SOCKS-4
  5. Le serveur répond de la même manière que les chaussettes-4
Méthodes d’authentification
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
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:

  • 0x01 : Créer une connexion TCP
  • 0x02 : Acceptez une connexion TCP, c’est-à-dire H. Ouvrez un serveur.
  • 0x03 : Configurer un transfert UDP
1 octet Réservé: doit 0x00 être
1 octet Type d’adresse (type d’adresse cible):

  • 0x01 : IPv4-Adresse
  • 0x03 : Domachiname
  • 0x04 : Adresse IPv6
Selon le type d’adresse sélectionné:

  • IPv4: 4 octets
  • Domachinname: 1 octet (lizé le domaine) + domaine
  • IPv6: 16 octets
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:

  • 0x01 : IPv4-Adresse
  • 0x03 : Domachiname
  • 0x04 : Adresse IPv6
Selon le type d’adresse:

  • IPv4: 4 octets
  • Domachinname: 1 octet (lizé le domaine) + domaine
  • IPv6: 16 octets
2 octets Port en octet Ordre Big-Endien
Codes de réponse
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:

  • RFC 3089 -Un mécanisme de passerelle IPv4 / IPv6 basé sur la chaussette
  • RFC 1961 -Gss-API Méthode d’authentification pour les chaussettes v5
  • RFC 1929 -Username / Mot de passe Authentification pour les chaussettes v5
  • RFC 1928 -Socks Protocole Version 5

after-content-x4