los CALCETINES son un protocolo del Internet que no prohibe a usos del servidor de cliente al uso transparente los servicios de un cortafuego de la red. Los CALCETINES son una abreviatura para el " SOCKetS" .
Los clientes detrás de un cortafuego, necesitando tener acceso a los servidores exteriores, pueden conectar con un proxy server de los CALCETINES en lugar de otro. Tal proxy server controla la elegibilidad del cliente para tener acceso al servidor externo y pasa la petición encendido al servidor. Los CALCETINES se pueden también utilizar en la manera opuesta, permitiendo a los clientes fuera del cortafuego (" clients" exterior;) para conectar con los servidores dentro del cortafuego (servidores internos).
El protocolo fue desarrollado original por David Koblas, administrador de sistema de los sistemas informáticos de las MIPS . Después de que las MIPS fueran asumidas el control por el Silicon Graphics en 1992, Koblas presentó un documento sobre CALCETINES en el simposio de la seguridad de Usenix de ese año y los CALCETINES estaban público - disponibles. El protocolo fue ampliado a la versión 4 por Ying-DA Lee de NEC .
La arquitectura y al cliente de la referencia de los CALCETINES poseen a Permeo Technologies, (nota que las tecnologías de Permeo han sido adquiridas por los sistemas azules de la capa) un efecto del NEC.
Los CALCETINES se realizan en la capa 5 del modelo de OSI - la capa de sesión (una capa intermedia entre la capa de presentación y la capa de transporte ).
CALCETINES típicos 4 parecer de petición de conexión esto (cada número es un octeto):
Cliente al servidor de los CALCETINES:
campo 1 del
: PEGA el número de versión, 1 octeto, debe ser 0x04 para esta versión
campo 2: código de comando, 1 octeto: 0x01 = establecen una conexión de la corriente del TCP/IP
0x02 = establecen un atascamiento portuario del TCP/IP
campo 3: número de acceso de la orden del octeto de la red, 2 octetos
campo 4: IP address de la orden del octeto de la red, 4 octetos
campo 5: la secuencia de la identificación del usuario, longitud variable, terminada con un nulo (0x00)
Servidor al cliente de los CALCETINES:
campo 1 del
: octeto nulo
campo 2: estado, 1 octeto: 0x5a = petición concedida
0x5b = petición rechazada o fallada
0x5c = la petición fallaron porque el cliente no es el identd (o no accesible corriente del servidor)
0x5d = la petición fallaron porque el identd del cliente no podría confirmar la secuencia de la identificación del usuario en la petición
colocar los octetos arbitrarios del 3:2, de que debe ser no hecho caso
colocar los octetos arbitrarios del 4:4, de que debe ser no hecho caso
Ejemplo:
Esto es una petición de los CALCETINES 4 de conectar a Fred con 66.99: 80, el servidor contesta con un " OK".
Cliente del
: 0x04 | 0x01 | 0x00 0x50 | 0x42 0x66 0x07 0x63 | 0x46 0x72 0x65 0x64 0x00 El campo pasado es “Fred” en el ASCII, seguido por un octeto nulo.
Servidor: 0x00 | 0x5a | 0xXX 0xXX | 0xXX 0xXX 0xXX 0xXX 0xXX puede ser cualquier valor del octeto. Los calcetines 4 que el protocolo especifica los valores de estos octetos deben ser no hechos caso.
Desde aquí cualquier dato enviado del cliente de los CALCETINES al servidor de los CALCETINES será retransmitido a 66.
El campo de comando puede ser 0x01 para el " connect" o 0x02 para el " bind". " bind" permite las conexiones entrantes para los protocolos como ftp activo .
El cliente debe fijar los primeros tres octetos de DSTIP PARA ANULAR y del octeto pasado a un valor diferente a cero (éste corresponde al IP address 0.x, con x diferente a cero, una dirección de destinación inadmisible y debe nunca ocurrir así si el cliente puede resolver el Domain Name). Después del octeto NULO que termina el USERID, el cliente debe enviar el Domain Name de la destinación y terminarlo con otro octeto NULO. Esto se utiliza para ambos " connect" y " bind" peticiones.
Cliente al servidor de los calcetines:
campo 1 del
: PEGA el número de versión, 1 octeto, debe ser 0x04 para esta versión
campo 2: código de comando, 1 octeto: 0x01 = establecen una conexión de la corriente del TCP/IP
0x02 = establecen un atascamiento portuario del TCP/IP
campo 3: número de acceso de la orden del octeto de la red, 2 octetos
campo 4: el IP address inválido deliberado, 4 octetos, primeros tres debe ser 0x00 y el pasado no debe ser 0x00
campo 5: la secuencia de la identificación del usuario, longitud variable, terminada con un nulo (0x00)
campo 6: el Domain Name del anfitrión que queremos entrar en contacto con, longitud variable, terminada con un nulo (0x00)
Servidor al cliente de los CALCETINES:
campo 1 del
: octeto nulo
campo 2: estado, 1 octeto: 0x5a = petición concedida
0x5b = petición rechazada o fallada
0x5c = la petición fallaron porque el cliente no es el identd (o no accesible corriente del servidor)
0x5d = la petición fallaron porque el identd del cliente no podría confirmar la secuencia de la identificación del usuario en la petición
campo 3: número de acceso de la orden del octeto de la red, 2 octetos
campo 4: IP address de la orden del octeto de la red, 4 octetos
Un servidor usar el protocolo 4A debe comprobar el DSTIP en el paquete de la petición. Si representa la dirección 0.x con x diferente a cero, el servidor debe leer adentro el Domain Name que el cliente envía en el paquete. El servidor debe resolver el Domain Name y hacer que la conexión a la destinación recibe si puede.
El protocolo de los CALCETINES 5, una extensión del protocolo de los CALCETINES 4 que ofrece más opciones de la autentificación, se define en RFC 1928. El apretón de manos inicial ahora consiste en el siguiente:
El cliente conecta y envía un saludo que incluya una lista de métodos de autentificación apoyados.
El servidor elige uno (o envía una respuesta de la falta si ningunos de los métodos ofrecidos son aceptables).
Varios mensajes pueden ahora pasar entre el cliente y el servidor dependiendo del método de autentificación elegido.
El cliente envía una petición de conexión similar a los CALCETINES 4.
El servidor responde similar a los CALCETINES 4.
Los métodos de autentificación apoyados se numeran como sigue:
0x00 - Ninguna autentificación
0x01 - GSSAPI
0x02 - Username/contraseña
0x03-0x7F - métodos asignados por IANA
0x80-0xFE - métodos reservados para el uso privado
El saludo inicial del cliente es:
campo 1 del
: Número de versión de los CALCETINES (debe ser 0x05 para esta versión)
campo 2: número de métodos de autentificación apoyados, 1 octeto
campo 3: métodos de autentificación, longitud variable, 1 octeto por el método apoyado
Se comunica la opción del servidor:
campo 1 del
: PEGA la versión, 1 octeto (0x05 para esta versión)
campo 2: método de autentificación elegido, 1 octeto, o 0xFF si no se ofreció ningunos métodos aceptables
¡La autentificación subsecuente es method-dependent.
La petición de conexión del cliente es:
campo 1 del
: PEGA el número de versión, 1 octeto (debe ser 0x05 para esta versión)
campo 2: código de comando, 1 octeto: 0x01 = establecen una conexión de la corriente del TCP/IP
0x02 = establecen un atascamiento portuario del TCP/IP
0x03 = asociado un puerto del UDP
campo 3: reservado, debe ser 0x00
campo 4: tipo de la dirección, 1 octeto: dirección 0x01 = IPv4
0x03 = Domain Name
dirección 0x04 = IPv6
campo 5: dirección de destinación de 4 octetos para la dirección IPv4
1 octeto de longitud conocida siguió por el nombre para el Domain Name
16 octetos para la dirección IPv6
campo 6: número de acceso en una orden, 2 octetos del octeto de la red
Respuesta del servidor:
campo 1 del
: PEGA la versión del protocolo, 1 octeto (0x05 para esta versión)
campo 2: estado, 1 octeto: 0x00 = petición concedida
0x01 = falta general
0x02 = conexión no permitida por el ruleset
0x03 = red inalcanzable
0x04 = inalcanzable de anfitrión
0x05 = la conexión rechazaron por el anfitrión de la destinación
0x06 = TTL expirado
0x07 = comando no apoyado/error del protocolo
0x08 = tipo de la dirección no apoyado
campo 3: reservado, debe ser 0x00
campo 4: tipo de la dirección, 1 octeto: dirección 0x01 = IPv4
0x03 = Domain Name
dirección 0x04 = IPv6
campo 5: dirección de destinación de 4 octetos para la dirección IPv4
1 octeto de longitud conocida siguió por el nombre para el Domain Name
16 octetos para la dirección IPv6
campo 6: número de acceso de la orden del octeto de la red, 2 octetos
Hay los programas de cliente que " socksify", que permite que la adaptación de cualquier software conectado conecte con las redes externas vía CALCETINES.
| Random links: | Bobby Thigpen | Mauricio Hewlett | Textfiles.com | Gato Renshaw | Barbilla de Ben |