Está en la página 1de 11

Introduccin al protocolo Telnet

El protocolo Telnet es un protocolo de Internet estndar que permite conectar terminales y


aplicaciones en Internet. El protocolo proporciona reglas bsicas que permiten vincular a un
cliente (sistema compuesto de una pantalla y un teclado) con un intrprete de comandos (del
lado del servidor).
El protocolo Telnet se aplica en una conexin TCP para enviar datos en
formatoASCII codificados en 8 bits, entre los cuales se encuentran secuencias de verificacin
Telnet. Por lo tanto, brinda un sistema de comunicacin orientado bidireccional (semidplex)
codificado en 8 bits y fcil de implementar.
El protocolo Telnet se basa en tres conceptos bsicos:
el paradigma Terminal virtual de red (NVT);
el principio de opciones negociadas;
las reglas de negociacin.
ste es un protocolo base, al que se le aplican otros protocolos del conjunto TCP/IP (FTP,
SMTP, POP3, etc.). Las especificaciones Telnet no mencionan la autenticacin porque Telnet
se encuentra totalmente separado de las aplicaciones que lo utilizan (el protocolo FTP define
una secuencia de autenticacin sobre Telnet). Adems, el protocolo Telnet no es un protocolo
de transferencia de datos seguro, ya que los datos que transmite circulan en la red como texto
sin codificar (de manera no cifrada). Cuando se utiliza el protocolo Telnet para conectar un host
remoto a un equipo que funciona como servidor, a este protocolo se le asigna el puerto 23.
Excepto por las opciones asociadas y las reglas de negociacin, las especificaciones del
protocolo Telnet son bsicas. La transmisin de datos a travs de Telnet consiste slo en
transmitir bytes en el flujo TCP (el protocolo Telnet especifica que los datos deben agruparse
de manera predeterminada esto es, si ninguna opcin especifica lo contrario en un bfer
antes de enviarse. Especficamente, esto significa que de manera predeterminada los datos se
envan lnea por lnea). Cuando se transmite el byte 255, el byte siguiente debe interpretarse
como un comando. Por lo tanto, el byte 255 se denomina IAC (Interpretar como comando). Los
comandos se describen ms adelante en este documento.
Las especificaciones bsicas del protocolo Telnet se encuentran disponibles en la RFC
(peticin de comentarios) 854, mientras que las distintas opciones estn descriptas en la RFC
855 hasta la RFC 861.
RFC (peticiones de comentarios) relacionadas con Telnet
RFC 854 Especificaciones del protocolo Telnet
RFC 855 Especificaciones de opciones de Telnet
RFC 856 Transmisin binaria en Telnet
RFC 857 Opcin Eco de Telnet
RFC 858 Opcin de suprimir continuacin en Telnet
RFC 859 Opcin Estado de Telnet
RFC 860 Opcin Marca de tiempo de Telnet
RFC 861 Opcin Lista extendida de opciones de Telnet
La nocin de terminal virtual
Cuando surgi Internet, la red (ARPANET) estaba compuesta de equipos cuyas
configuraciones eran muy poco homogneas (teclados, juegos de caracteres, resoluciones,
longitud de las lneas visualizadas). Adems, las sesiones de los terminales tambin tenan su
propia manera de controlar el flujo de datos entrante/saliente.
Por lo tanto, en lugar de crear adaptadores para cada tipo de terminal, para que pudiera haber
interoperabilidad entre estos sistemas, se decidi desarrollar una interfaz estndar
denominada NVT (Terminal virtual de red). As, se proporcion una base de comunicacin
estndar, compuesta de:
caracteres ASCII de 7 bits, a los cuales se les agrega el cdigo ASCII extendido;
tres caracteres de control;
cinco caracteres de control opcionales;
un juego de seales de control bsicas.
Por lo tanto, el protocolo Telnet consiste en crear una abstraccin del terminal que permita a
cualquier host (cliente o servidor) comunicarse con otro host sin conocer sus caractersticas.
El principio de opciones negociadas
Las especificaciones del protocolo Telnet permiten tener en cuenta el hecho de que ciertos
terminales ofrecen servicios adicionales, no definidos en las especificaciones bsicas (pero de
acuerdo con las especificaciones), para poder utilizar funciones avanzadas. Estas
funcionalidades se reflejan como opciones. Por lo tanto, el protocolo Telnet ofrece un sistema
de negociaciones de opciones que permite el uso de funciones avanzadas en forma de
opciones, en ambos lados, al iniciar solicitudes para su autorizacin desde el sistema remoto.
Las opciones de Telnet afectan por separado cada direccin del canal de datos. Entonces,
cada parte puede negociar las opciones, es decir, definir las opciones que:
desea usar (DO);
se niega a usar (DON'T);
desea que la otra parte utilice (WILL);
se niega a que la otra parte utilice (WON'T).
De esta manera, cada parte puede enviar una solicitud para utilizar una opcin. La otra parte
debe responder si acepta o no el uso de la opcin. Cuando la solicitud se refiere a la
desactivacin de una opcin, el destinatario de la solicitud no debe rechazarla para ser
completamente compatible con el modelo NVT.
Opciones negociadas de Telnet
Solicitud Respuesta Interpretacin
DO WILL
El remitente comienza utilizando la opcin El remitente no debe
utilizar la opcin
WON'T El remitente no debe utilizar la opcin
WILL
DO El remitente comienza utilizando la opcin, despus de enviar DO
DON'T El remitente no debe utilizar la opcin
DON'T WON'T El remitente indica que ha desactivado la opcin
WON'T DON'T El remitente indica que el remitente debe desactivar la opcin
Existen 255 cdigos de opcin. De todas maneras, el protocolo Telnet proporciona un espacio
de direccin que permite describir nuevas opciones.
La RFC (peticin de comentarios) 855 explica cmo documentar una nueva opcin.
Las reglas de negociacin
Las reglas de negociacin para las opciones permiten evitar situaciones de enrollo automtico
(por ejemplo, cuando una de las partes enva solicitudes de negociacin de opciones a cada
confirmacin de la otra parte).
1. Las solicitudes slo deben enviarse en el momento de un cambio de modo.
2. Cuando una de las partes recibe la solicitud de cambio de modo, slo debe confirmar su
recepcin si todava no se encuentra en el modo apropiado.
3. Slo debe insertarse una solicitud en el flujo de datos en el lugar en el que surte efecto.
Caracteres de control de salida
Los siguientes caracteres son comandos que permiten controlar la visualizacin del terminal
virtual de red:
;
Comandos de control para la visualizacin:
Nmero Cdigo Nombre Significado
0 NULL Nulo
Este comando permite enviar datos al host remoto sin que se
interpreten (en particular para indicar que el host local todava
esta en lnea).
1 LF
Avance
de lnea
Este comando permite ubicar el cursor en la lnea siguiente, en
la misma posicin horizontal.
2 CR
Retorno
de
carro
Este comando permite ubicar el cursor en el extremo izquierdo
de la lnea actual.
As, se define el comando CRLF, compuesto de dos comandos CR y LF uno despus del otro
(en cualquier orden). Esto permite ubicar el cursor en el extremo izquierdo de la lnea siguiente.
Caracteres de control opcionales
Los caracteres anteriores son los nicos (entre los 128 caracteres del cdigo ASCII bsico y los
128 caracteres del cdigo ASCII extendido) que tienen un significado particular para el terminal
virtual de red. Los siguientes caracteres pueden tener un significado en un terminal virtual de
red, pero no se utilizan necesariamente.
Comandos de control para la visualizacin
Nmero Cdigo Nombre Significado
7 BEL Campana
Este comando permite enviar una seal visual o sonora sin
cambiar la posicin del cursor.
8 BS Retroceso
Este comando permite cambiar la posicin del cursor a su
posicin anterior.
9 HT
Tabulacin
horizontal
Este comando permite que la posicin del cursor pase a la
siguiente tabulacin a la derecha.
11 VT
Tabulacin
vertical
Este comando permite que la posicin del cursor pase a la
siguiente tabulacin de la lnea siguiente.
12 FF
Avance de
pgina
Este comando permite que la posicin del cursor pase al
final de la siguiente pgina mientras conserva su posicin
horizontal.
Caracteres de control de sesin
Los siguientes caracteres son comandos que permiten controlar la sesin Telnet. Para que
puedan interpretarse como tal, estos comandos deben estar precedidos por el carcter de
escape IAC (Interpretar como comando). Si estos bytes se transmiten sin estar precedidos por
el carcter IAC, se procesarn como caracteres simples. Para transmitir el carcter IAC, este
mismo debe estar precedido por un carcter de escape. En otras palabras, debe estar
duplicado.
Los comandos relacionados con una negociacin de opciones deben estar seguidos de un byte
que especifique la opcin. Estos comandos permiten interrumpir seales, eliminar informacin
en el cach del terminal, etc.
Caracteres de control de sesin
Nmero Cdigo Nombre Significado
240 SE Fin de negociacin de opciones
241 NOP
Sin
operacin
Este comando permite enviar datos al host remoto sin que
se interpreten (en particular para indicar que el host local
todava esta en lnea).
242 DM
Marca de
datos
Permite vaciar todos los bferes entre el terminal virtual de
red y el host remoto. Se relaciona con la pulsacin del
botn de sincronizacin (Synch) NVT y debe vincularse
con una indicacin de notificacin urgente TCP.
243 BRK Interrupcin Pausa de caracteres del terminal virtual.
244 IP
Interrumpir
proceso
Este comando permite suspender, interrumpir o
abandonar el proceso remoto.
245 AO
Abortar
salida
Este comando permite suspender, interrumpir o
abandonar la visualizacin del proceso remoto.
246 AYT
Ests
ah?
Este comando permite controlar que el sistema remoto
todava est "vivo".
247 EC
Borrar
carcter
Este comando permite borrar el carcter anterior.
248 EL Borrar lnea Este comando permite borrar la lnea anterior.
249 GA Adelante
Este comando permite revertir el control, para conexiones
semidplex
250 SB SB
Este comando indica que los datos que siguen son una
negociacin de la opcin anterior.
251 WILL
Cdigo de
opcin

252 WON'T
Cdigo de
opcin

253 DO
Cdigo de
opcin

254 DON'T
Cdigo de
opcin

255 IAC
Interpretar
como
comando
Este comando permite interpretar el byte siguiente como
un comando. El comando IAC permite ir ms all de los
comandos bsicos.
Ms informacin
http://www.rallyexpresso.com/






Qu es un servidor SMB?
Escrito por Ken Burnside | Traducido por Daniela Laura Arjones








Qu es un servidor SMB?
Ryan McVay/Photodisc/Getty Images
El bloque de mensajes de servidor (SMB, por sus iniciales en ingls) es un protocolo de
intercambio de archivos cuyas races se remontan a mediados de 1980, se construye fuera
de los servicios de NetBIOS y NetBEUI, que dominaron la red de Windows antes de
la llegada de un funcionamiento del protocolo TCP/IP en la dcada de 1990 y todava tiene
un lugar en la pequea oficina y arquitecturas de planificacin de redes empresariales en
la actualidad. Este protocolo tambin se llama CIFS, aunque el nombre SMB tiene un uso
ms amplio. Los servidores SMB se utilizan para administrar y mantener los servicios de
pequeas y medianas empresas a travs de una red o servicio de Active Directory en un
entorno de red de Windows.
Otras personas estn leyendo
Cmo conectar equipos a travs de SMB
Qu es el protocolo de procesador de mensajes SMB?
Historia del SMB
La primera implementacin de SMB se produjo en Microsoft LAN Manager en 1987
y era una parte integrada de Windows para trabajos en grupo. Microsoft present
una especificacin mejorada de SMB en el ao 1997 como el sistema de archivos
comunes de Internet, que se basa en una aplicacin lanzada de SMB en Windows
NT 4.0 en 1996.
Uso de servidores SMB
SMB funciona a travs de una arquitectura cliente-servidor, con cada equipo de la
red utilizando el protocolo SMB que consulta un portal que va a parar al servidor
SMB menos ocupado en el clster. Este protocolo requiere que cada cliente se
autentique con el servidor SMB, que implica una sobrecarga para el protocolo de
red, pero tambin permite un entorno ms robusto para compartir aplicaciones y
datos. En uso de rutina de la oficina, el tipo ms comn de servidor SMB que se
encuentra es un servidor de impresin Windows compartido, accesible a todos los
equipos en el mismo dominio de red.
Implementacin de Microsoft
Hay dos versiones utilizadas del protocolo SMB distribuidas por Microsoft, la
aplicacin 1.0, que vena con Windows NT y se actualiz exhaustivamente con
Windows 2000, y la implementacin SMB2 que sali con Windows Vista. La
aplicacin 2.0 es compatible con la ejecucin 1.0, pero ofrece incrementos
significativos de rendimiento cuando todos los clientesde la red tienen la versin
ms reciente. Windows 7 introduce SMB 2.1 como un protocolo, que sigue siendo
compatible en el nivel SMB-servidor con SMB 2.0
Implementacin de cdigo abierto
Debido a que SMB es un protocolo para conectar computadoras a redes, las
implementaciones de pequeas y medianas empresas en otros sistemas operativos
han sido conservadas desde finales de 1990. La versin de cdigo abierto de SMB se
llama Samba y ha sido una pieza entre las distribuciones de Linux y MacOS X desde
2002. El candidato de la versin actual de Samba es la versin 3.6, que contiene
una reimplementacin casi completa de SMB2. La versin estable 3.5 no tiene una
implementacin SMB2.
------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
El protocolo SMB
Puesto que Samba es, fundamentalmente, una implementacin para Unix del
protocolo SMB, quizs la mejor forma de entender Samba es comenzar por
describir SMB con un poco ms de detalle. Esta seccin realiza una pequea
revisin de este protocolo.
SMB es un protocolo de comunicacin de alto nivel que puede implementarse
sobre diversos protocolos como TCP/IP, NetBEUI y IPX/SPX, tal como
muestra la Figura 4.1, Protocolos sobre los que puede implementarse SMB.,
junto con la ubicacin de dichos protocolos en los niveles OSI y en la pila
TCP/IP. Entre todas esas alternativas, tanto en el caso de Samba como de
Windows 2000/XP, SMB se implementa habitualmente encima de NetBIOS
sobre TCP/IP (esta alternativa se ha convertido en el estndar de facto para
compartir recursos entre sistemas Windows). Sin embargo, no incidiremos
ms en los protocolos que soportan SMB o en su implementacin, puesto que
todo ello queda fuera del contexto de este tema.
Figura 4.1. Protocolos sobre los que puede implementarse SMB.

Histricamente, este protocolo fue desarrollado inicialmente por IBM como
el IBM PC Network SMB Protocol o Core Protocol a principios de los aos
80. Desde entonces, diversos fabricantes (especialmente Microsoft) han ido
ampliando su funcionalidad progresivamente, creando
diferentes variantes (versiones) de SMB. Desafortunadamente, en ocasiones el
cambio de versin ha conllevado el rebautizar el propio protocolo. En este
sentido, SMB ha recibido, entre otros,los siguientes nombres: Core Protocol,
DOS Lan Manager, LAN Manager, NTLM (NT Lan Manager), y en los
ltimos aos, CIFS (Common Internet File System). Todos ellos, por tanto,
hacen referencia a SMB, aunque se diferencien en algunos detalles de su
funcionalidad y/o implementacin.
Si nos fijamos en su interfaz, SMB es un protocolo de tipo cliente/servidor,
donde el ordenador "servidor" ofrece recursos (archivos, impresoras, etc.) que
pueden ser utilizados remotamente por los ordenadores "cliente" a travs de la
red. Asimismo, es un protocolo de los denominados peticin/respuesta,
indicando que las comunicaciones se inician siempre desde el cliente como
una peticin de servicio al servidor (dicha peticin se denomina precisamente
SMB), que la procesa y retorna una respuesta a dicho cliente. (En realidad,
existe un caso en que el servidor enva un mensaje al cliente sin haber recibido
una peticin de ste, pero la discusin del protocolo a ese nivel queda fuera
del mbito de este texto). La respuesta del servidor puede ser positiva (con el
resultado de procesar la peticin del cliente) o negativa (mensaje de error), en
funcin del tipo de peticin, la disponibilidad del recurso, el nivel de acceso
(permisos) del cliente, etc.
El siguiente aspecto relevante de SMB es saber qu mecanismos de
autentificacin soporta este protocolo para controlar el acceso del cliente a los
recursos compartidos. En concreto, SMB soporta dos modos de
autentificacin alternativos, denominados share y user:
Cuando compartimos un recurso en modo share, la proteccin de dicho
recurso recae en una contrasea que asociamos al mismo, de forma que
cualquier usuario de un sistema cliente remoto que conozca dicha
palabra de paso podr acceder sin mayores restricciones al recurso (este
es el mecanismo de autentificacin por defecto en las
implemementaciones de SMB para Windows 9X, por ejemplo).
Sin embargo, en modo user, el servidor recibe incialmente del sistema
cliente unas credenciales de usuario (nombre, dominio y contrasea),
que debe autentificar para autorizar el acceso al recurso.
Concretamente, si el dominio de las credenciales es conocido, la
autentificacin se delega a algn controlador de dicho dominio; y en
caso contrario, el usuario y la contrasea se autentifican contra la base
de datos local del equipo servidor. En cualquier caso, en modo user, el
control de acceso sobre el recurso se realiza en funcin de qu permisos
posee sobre dicho recurso el usuario cuyas credenciales se han enviado
desde el cliente. En otras palabras, una vez el sistema servidor ha
identificado y autentificado al usuario que desea conectarse al recurso,
este sistema dispone ya de un SID vlido con el que puede contrastar
los permisos que dicho SID posee sobre el recurso. Es conveniente
recordar en este punto que si el recurso en cuestin es una carpeta
compartida, se tienen en cuenta tanto los permisos del recurso, como
los permisos NTFS de la carpeta y sus archivos. El modo user es el
mecanismo de autentificacin por defecto en las versiones de SMB de
sistemas Windows NT y posteriores.
Finalmente, revisaremos brevemente el funcionamiento interno del protocolo
SMB, utilizando para ello un ejemplo concreto. Supongamos que un sistema
cliente desea acceder a una carpeta compartida que exporta el servidor (en
modo user). En este escenario, se producira el siguiente intercambio de
mensajes entre ellos:
1. Peticin: Sesin NetBIOS. El objetivo de este mensaje es establecer
una sesin fiable para subsiguientes mensajes entre los ordenadores
cliente y servidor. Es imprescindible que el cliente conozca el nombre
NetBIOS del servidor para poder alcanzarlo; el nombre NetBIOS del
cliente es parte del mensaje, por lo que ambos saben quin es el otro.
2. Respuesta: Sesin NetBIOS. Si no hay error en el mensaje anterior, el
servidor enva un mensaje de reconocimiento (ACK), aceptando la
conexin.
3. Peticin: Dialecto SMB. El cliente enva en este mensaje una lista con
los dialectos o variantes de SMB que soporta, puesto que es habitual
que un sistema Windows soporte varias versiones de SMB
simultneamente.
4. Respuesta: Dialecto SMB. El servidor contesta con el dialecto que
prefiere para la comunicacin subsiguiente, o un cdigo de error si no
soporta ninguna de las alternativas ofrecidas por el cliente.
5. Peticin: Inicio de sesin. El cliente enva las credenciales de usuario
(usuario, dominio,contrasea) con las que ste desea conectarse al
servidor. Recurdese que por defecto, se emplean las credenciales con
las que el usuario se conect interactivamente al sistema cliente, pero se
pueden especificar otras explcitamente.
6. Respuesta: Inicio de sesin. El servidor autentifica las credenciales de
usuario (ver modo user descrito arriba). Si las credenciales son buenas,
el servidor posee ya un SID vlido que le permite, antes que nada,
comprobar si el usuario posee el derecho de conectarse al servidor
(directiva "tener acceso a este equipo desde la red"). En caso
afirmativo, se acepta la conexin y el servidor construye un
identificador numrico particular para esa coexin (denominado User
ID o UID) que devuelve al cliente. Los UIDs pueden ser reutilizados
durante la vida del sistema, pero son nicos para todas las conexiones
simultneas que mantiene el servidor en un momento dado, por lo que
identifican unvocamente una conexin (aceptada). Todos los mensajes
posteriores del cliente deben contener este identificador para ser
aceptados por el servidor.
Por otro lado, si las credenciales estaban mal (o si los derechos eran
insuficientes), el servidor enva un cdigo de error en lugar del UID.
7. Peticin: Conexin a un recurso concreto. El cliente enva entonces
un mensaje que contiene una cadena que identifica el recurso al que
desea acceder (por ejemplo, \\pc01\impresora o \\pc01\carpeta).
8. Respuesta: Conexin a un recurso concreto. Si el recurso solicitado
por el cliente existe (y el SID asociado a la conexin posee suficientes
permisos), el servidor construye un identificador denominado Tree
ID oTID, que ser utilizado por el cliente para hacer referencia a dicho
recurso en posteriores mensajes de esa conexin.
Tras esta secuencia tpica de conexin al recurso (carpeta compartida), y si
todo ha fucionado correctamente, el sistema cliente ya est en condiciones de
acceder a la carpeta. Mediante el envo de los SMBs correspondientes, el
cliente ya puede abrir archivos, leerlos, modificarlos, etc., utilizando siempre
los identificadores (UID y TID) que el servidor ha construido durante el
intercambio de mensajes inicial.

También podría gustarte