Los 3 primeros bits de una dirección Clase C siempre son 110 (uno, uno y cero). Un ejemplo de dirección IP Clase C es 201.110.213.28. Los tres primeros bytes identifican el número de red. Una manera fácil de reconocer
si un dispositivo forma parte de una red Clase C es verificar el primer bytes de su dirección IP. Las direcciones
IP Clase C siempre tienen valores que van del 192 al 223 en su primer bytes.
|número red|núm red|núm red|núm equipo|
CLASE D
Las direcciones de clase D se reservan
para multicasting o multidifusión, usada para direccionar grupos de hosts en un área limitada
CLASE E
Las direcciones de clase E se reservan para usos en el futuro.
El PROTOCOLO HTTP
Este protocolo esta diseñado para recuperar información y llevar a cabo búsquedas indexadas permitiendo con eficacia saltos hipertextuales, además, no solo permite la transferencia de textos HTML sino de un amplio y extensible conjunto de formatos. Funciones particulares para el caso específico de la Web, creado para que resolviese los problemas planteados por un sistema hipermedial, y sobre todo distribuido en diferentes puntos de la Red.
HTTP (HyperText Transfer Protocol, o Protocolo de Transferencia de Hipertexto).
Cada vez que se activa cumple con un proceso de cuatro etapas entre el browser y el servidor que consiste en lo siguiente:
Conexión: el browser busca el nombre de dominio o el número IP de la dirección indicada intentando hacer contacto con esa computadora,
Solicitud: el browser envía una petición al servidor (generalmente
un documento), incluyendo información sobre el método a utilizar, la versión del protocolo y algunas otras especificaciones,
Respuesta: el servidor envía un mensaje de respuesta acerca de su petición mediante códigos de estado de tres dígitos,
Desconexión: se puede iniciar por parte del usuario o por parte del servidor una vez transferido un archivo.
PROTOCOLO UDP
El protocolo UDP (User Datagram Protocol), pertenece a la familia de los protocolos TCP no es un protocolo
tan fiable como TCP. Se limita a recoger el mensaje y enviar el paquete por la red.
Para garantizar la llegada, el protocolo exige a la maquina de destino del paquete que envíe un mensaje (un eco). Si el mensaje no llega desde la maquina de destino el mensaje se envía de nuevo.UDP es un protocolo sencillo que implementa un nivel de transporte orientado a datagramas:
• NO orientado a conexión.
• NO fiable.
Los datagramas UDP se encapsulan dentro de la parte de datos de un datagrama IP. Una aplicación que utilice UDP para transmitir datos, producirá exactamente un datagrama
UDP por cada operación de salida que precise, el cual originará un datagrama IP encapsulándolo. Os preguntareis si , ¿pero porqué no es fiable UDP?. Os daré
tres razones explicitas:
• Pueden perderse datagramas,
• Pueden duplicarse datagramas,
• Pueden desordenarse datagramas.
Pero es un protocolo más ligero que TCP, y en una LAN (hay CRC y no hay encaminadores) puede compensar.
Pero recordemos que tenemos deber en cuenta la seguridad como factor principal.
PROTOCOLO ICMP
La operación de Internet es supervisada cuidadosamente por los enrutadores.
Al ocurrir algo inesperado, el ICMP (Internet Control Message Protocol, protocolo de control de mensajes de Internet), que también se usa para probar Internet, informa del suceso. Se ha definido una docena de tipo de mensajes de ICMP;
Cada tipo de mensaje de ICMP se encapsula en un paquete IP. El mensaje.
DESTINO INALCANZABLE se usa cuando la subred o un enrutador no pueden ubicar el destino, o un paquete con el bit DF no puede entregarse por que está en el camino una red de paquete pequeño. El mensaje de TIEMPO EXCEDIDO se encía cuando un paquete se descarta debido a que su contador llega a cero. Este suceso es un síntoma de que los paquetes están en ciclo, de que hay un congestionamiento enorme, o de que los valores de temporización son demasiado bajos.
El mensaje de PROBLEMA DE PARÁMETRO indica que se ha detectado
un valor ilegal en un campo de cabecera. Este problema indica una falla en el software de IP del host, o posiblemente en el software de un enrutador transmitido.
NETBIOS
NetBIOS fue desarrollado por IBM y Systek como un intento de proveer a las aplicaciones de una interfaz para acceder a los recursos de las redes locales. Al ser solo una interfaz
entre las aplicaciones y la tarjeta de red, y por tanto poder ser utilizado.
Con independencia del hardware, hizo que pronto se convirtiera en un estándar para acceder a redes (ethernet, TokenRing, redes IBM,... ).NetBIOS ha sido utilizado ampliamente
para compartir recursos de una manera simple y eficiente en redes
pequeñas. Proporcionando tanto
servicios orientados a conexión ( sesiones ) como no orientados a conexión
( datagramas ), al igual que soporta broadcast y multicast.
Posteriormente surgio NetBEUI que no es mas que una versión extendida de NetBIOS que proporciono
una capa de transporte que nunca fue estandarizada en NetBIOS.
NetBIOS puede ser utilizado en la inmensa mayoría de los sistemas
operativos de red y puede ser transportado sobre variedad de protocolos,
generalmente sobre TCP/IP (NBT), IPX,...
ALGUNOS COMANDOS NETBIOS
open host: abre una conexión al host llamado. Si el número de puerto no es especificado, telnet intenta de conectar el servidor telnet desde el puerto default. La especificación del host puede ser tanto el nombre de un host o una IP.
close: cierra una sesión TELNET y te regresa al modo de comando.
Quit: cierra cualquier sesión TELNET abierta y sale de telnet. Un fin de archivo (end-of-file) (en modo de comando) también cerrará una sesión y saldrá.
Ctrl-z: suspende telnet. Este comando sólo trabaja cuando el usuarioestá usando csh o la el ambiente de aplicación BSD versión de ksh.
Status: muestra el status actual de telnet.
Ync: envía la secuencia SYNCH TELNET. Esta secuencia causa que el sistema remoto descarte todo lo previamente tecleado como entrada, pero que todavía no haya sido leído. Esta secuencia es enviada como un dato urgente TCP. h.
TELNET: TELNET es el protocolo de conexión a otro ordenador, de hecho la mayoría de los servicios posteriores, se basan en telnet (pe. FTP, HTTP). Haciendo telnet a una máquina, ejecutas programas en ella, recibiendo tu la entrada/salida de los datos. Las direcciones
TELNET
suelen tener el formato del nombre de dominiomaquina.remota.com o de dirección IP 194.106.2.150 y pueden ir acompañadas de un número
al final (el número del puerto) si no se nos proporciona el puerto se asume que el utilizado es el correspondiente al protocolo telnet por defecto, el 23. Una dirección típica sería: maquina.remota.com 2010.
CUADRO APARTE (EXPLICACIÓN MÁS EXAUSTIVA)
Cómo se hace TELNET?:
Ejecutando un programa cliente de telnet, prácticamente cualquier sistemaoperativo lleva uno incluido de serie. Por lo tanto si nos proporcionan la dirección telnet maquina.remota.ar 2010 haríamos lo siguiente: (puede variar según sistemas):
Tecleamos en la linea de comandos
TELNET maquina.remota.ar 2010 (En otros sistemas teclearemos
TELNET y después OPEN maquina.remota.ar2010 ) con lo que veremos algo parecido a esto:
telnet MAQUINA.REMOTA.AR 2010,
• Trying 130.132.21.53 Port 2010 ...,
• Connected to MAQUINA.REMOTA.COM,
• Escape character is ...,
• Esto nos dice más o menos que está intentando conectar con la dirección, nos devuelve la dirección IP, se conecta, y nos dice cual es el caracter escape,
Una vez hemos conectado se nos pide un login y/o password para entrar a la máquina remota. En algunos casos podremos conectar
a la maquina remota con el login guest (invitado) pero la mayoría de las veces deberemos saber el login antes de conectarnos,
El siguiente paso es configurar la emulación de terminal, es decir,
decirle al sitio remoto como queremos que nos muestre los datos en nuestra pantalla. La configuración más común es la VT100, que es la estándar para las comunicaciones basadas en terminales. (algunos clientes telnet configuran ellos sólos la emulación),
El último paso (después de haber utilizado el servicio es salir como las pulsaciones de tecla no las hacemos realmente en nuestra máquina, sino en la máquina remota, necesitamos el carácter escape que se nos dio al conectar para pasar al modo comando ( habitualmente teclas control + paréntesis derecho).
PROTOCOLO SMTP
SMTP (Simple Mail Transfer Protocol) o Protocolo Simple de Transferencia de Correo Electrónico es un conjunto de reglas que rigen el formato y la transferencia de datos en un envío de Correo Electrónico ( e-mail ).
Algunas ordenes SMTP:
• HELO – Abre una sesión con el servidor,
• MAIL FROM – Indica el autor del mensaje,
• RCPT TO – Indica los destinatarios del mensaje,
• DATA – Cuerpo del mensaje, finaliza con la orden,
• . – Final del cuerpo del mensaje (orden DATA),
• QUIT – Cierra la sesión,
• POP3 (Post Office Protocol) es también un protocolo muy usado en clientes locales de correo para obtener los mensajes de correo electrónico almacenados en un servidor remoto.
Algunos comandos POP3:
• USER <nombre> Identificación de usuario (Solo se realiza una vez),
• PASS <password> Envías la clave del servidor,
• STAT Da el número de mensajes no borrados en el buzón y su longitud total,
• LIST Muestra todo los mensajes no borrados con su longitud,
• RETR <número> Solicita el envío del mensaje especificando el número (no se borra del buzón),
• TOP <número> <líneas> Muestra la cabecera y el número de líneas requerido del mensaje especificando el número,
• DELE <número> Borra el mensaje especificando el número,
• RSET Recupera los mensajes borrados (en la conexión actual),
• QUIT Salir.
LA IMPORTANCIA DE NO DEJAR HUELLAS (RECUADRO A PARTE)
Como hemos visto , navegar dejando a vista de malos ojos nuestra ip, puede ser realmente peligroso. ¿Pero para que los proxys?. Un proxy es un programa (generalizando) , dispositivo , servidor.... que realiza una tarea de acceso a Internet.
Más específicamente es un punto intermedio entre tu y el servidor de la esquina. Al navegar bajo proxy (Ip check) podemos ocultar nuestra IP y mostrar la del servidor proxy que nos conectemos.
Esto dificultara al atacante situarnos o conocer nuestro numero de IP real. También filtrar algunos contenidos potencialmente peligrosos... Hay ventajas de usar proxys , pero también hay inconvenientes la querida velocidad de navegación. Imaginemos por un momento que nos conectamos a un servidor proxy situado (o conectado) en china. La velocidad de carga de cualquier tipo se vería tremendamente reducida, al tener que pasar los datos antes por el servidor chino antes de llegar a nuestro Pc.
NUESTRA CONEXIÓN<<<>>
SERVIDOR PROXY<<<>>>SERVIDOR
Podemos encontrar servidores proxy en el mismo Internet o mediante programas
de intuitiva interfaz (véase ipmask).
PROTOCOLO FTP
Ftp (File Transfer Protocol) es un protocolo para la transferencia remota de archivos. Lo cual significa la capacidad de enviar un archivo digital de un lugar local a uno remoto o viceversa, donde el local suele ser el computador de uno y el remoto el servidor Web.
ALGUNOS COMANDOS FTP
• ascii: especifica tipo de transferencia de ficheros ASCII, en contraposición a ficheros binarios (no texto),
• binary: especifica tipo de transferencia binaria (por defecto),
• bell: le indica al sistema que ejecute un pitido (bell) cuando se finalicen la ejecución de los comandos.
Así podemos ejecutar bell, y dejar un fichero de gran tamaño descargándose, sabiendo que tras su finalización oiremos un BEEP, lo cual nos permite dejar la ventana minimizada y hacer cualquier otra tarea,
• delete y mdelete: borran uno o varios ficheros en la máquina remota,
• user y pass: especificar nuestro nuevo nombre y password.
PROTOCOLO SSH
El protocolo SSH (Secure Shell)nació para intentar que las comunicaciones en internet fuesen más seguras, esto lo consigue eliminando el envío de las contraseñas sin cifrar y mediante la encriptación de toda la información que se transmite. Se recomienda usar SSH para mantener conexiones seguras, ya que debido a las avanzadas herramientas usadas por crackers , sniffear una red se ha convertido en un juego de niños.
SOBRE EL AUTOR
Jaime Gutierrez, Español, se interesa por la seguridad en redes y la por la programación de distintas aplicaciones en JAVA o C++. Actualmente reside en Andalucía y publico en la edición pasada el articulo DDos un acoso constante.
ALGUNOS COMANDOS SSH
pwd muestra el path completo del directorio en el que se encuentra.
cd cambia de directorio, por ejemplo cd directorio/subdirectorio.
cd ~ lleva a su directorio home.
cd - lleva al último directorio en el que estuvo.
cd .. sube a un directorio superior.
CONCLUSIONES
Como hemos visto a lo largo del articulo existen cientos de protocolos, pero aquí solo nos hemos parado a analizar unos pocos. Conocer como funcionan cada uno de ellos nos ayudara a saber como funciona la NET.
Conocer como trabajan los paquetes, servidores, protocolos, mencionados es una de las bases del hacking y de la seguridad en sistemas. Hemos aprendido la teoría
que es un poco más aburrida pero en entregas próximas vamos a ver como vulnerar estos tipos de protocolos con herramientas comunes
o simplemente siendo usuarios ilegítimos. Entender como y porque, su necesidad, como se manejan y funcionan, es algo básico en este mundo.
PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS
El Protocolo de Transferencia de Archivos (File Transfer Protocol, FTP) permite que un archivo de un sistema se copie a otro sistema. No es necesario que el usuario se registre como usuario completo en la máquina a la que desea tener acceso, como en el caso de Telnet, en vez de ello se puede valer del programa FTP para lograr el acceso.
PROTOCOLO SIMPLE DE TRANSFERENCIA DE CORREO.
El Protocolo Simple de Transferencia de Correo (Simple Mail Transfer Protocol, SMTP) se utiliza para transferir correo electrónico. Transparente para el usuario, SMTP conecta distintas máquinas y transferir mensajes de correo, de una manera similar a como FTP transfiere archivos.
PROTOCOLO SIMPLE DE ADMINISTRACIÓN DE RED.
El Protocolo Simple de Administración de Red (Simple Network Management Protocol, SNMP) utiliza como mecanismo de transporte el Protocolo de Datagrama de Usuario (UDP). Emplea términos diferentes de TCP/IP, como administradores y agentes en vez de clientes y servidores. Un agente proporciona información sobre un dispositivo, en tanto que el administrador se comunica a través de la red.
PROTOCOLO TRIVIAL DE TRANSFERENCIA DE ARCHIVOS.
El Protocolo Trivial de Transferencia de Archivo (Trivial File Transfer Protocol, TFTP) es un protocolo de transferencia de archivos muy sencillo, sin complicaciones, que carece totalmente de seguridad. Utiliza al UDP como transporte.
PROTOCOLO DE CONTROL DE TRANSMISIÓN.
El Protocolo de Control de Transmisión (Transmision Control Protocol, TCP) es un protocolo de comunicaciones que proporciona transferencia confiable de datos. Es responsable de ensamblar datos pasados desde aplicaciones de capas superiores a paquetes estándar y asegurarse que los datos se transfieren correctamente.
PROTOCOLO DE DATAGRAMA DE USUARIO.
El Protocolo de Datagrama de Usuario (User Datagram Protocol, UDP) es un protocolo orientado a comunicaciones sin conexión, lo que significa que no tiene mecanismo para la retransmisión de datagramas (a diferencia de TCP, que es orientado a conexión). UDP no es muy confiable, pero sí tiene fines particulares. Si las aplicaciones que utilizan UDP tienen su propia verificación de confiabilidad, los inconvenientes de UDP se pueden superar.
Protocolo de Mensajes de Control de Internet ICMP
(Internet Control Message Protocol)
• Reporta sobre destinos inalcanzables.
• Control de flujo de datagramas y congestión.
• Controla los requerimiento de cambio de rutas entre compuertas.
• Detecta rutas circulares o excesivamente largas.
Verifica la existencia de trayectorias hacia alguna red y el estatus de la misma.
Su función es la de notificar de eventos en los que los paquetes enviados no alcanzaron su destino. Proporciona un medio de transporte para que los equipos compuerta se envíen mensajes de control y error. ICMP no está orientado a la corrección de errores, sólo a su notificación.
Formato del mensaje ICMP
Tipo Mensaje ICMP
0 Respuesta al eco
3 Destino Inalcanzable
4 Fuente saturada
5 Redirección de ruta
8 Solicitud de Eco
11 Tiempo del datagrama excedido
12 Parámetro problema en datagrama
13 Requerimiento de hora y fecha
14 Respuesta de host y fecha
17 Requerimiento de máscara de dirección
18 Respuesta de máscara de dirección
El formato de ICMP cambia dependiendo de la función que realice, exceptuando los campos de Tipo, Código y de Checksum. Un 1 en el campo de Protocolo del mensaje de IP indicará que se trata de un datagrama ICMP. La función de un mensaje determinado ICMP estará definida por el campo de Tipo; el campo de Código proporciona información adicional para realizar la función; el campo de Checksum sirve para efectuar una verificación por suma que sólo corresponde al mensaje ICMP.
PROTOCOLO DE DATAGRAMAS DE USUARIO
• Proporciona de mecanismos primordiales para que programas de aplicación se comuniquen con otros en computadoras remotas.
• Utiliza el concepto de puerto para permitir que múltiples conexiones accedan a un programa de aplicación.
• Provee un servicio no confiable orientado a no conexión.
El programa de aplicación tiene la total responsabilidad del control de confiabilidad, mensajes duplicados o perdidos, retardos y paquetes fuera de orden.
Este protocolo deja al programa de aplicación a ser explotado la resposabilidad de una transmisión fiable. Con él puede darse el caso de que los paquetes se pierdan o bien no sean reconstruidos en forma adecuada. Permite un intercambio de datagramas más directo entre aplicaciones y puede elegirse para aquellas que no demanden una gran cantidad de datagramas para operar optimamente.
Protocolos a Nivel de Aplicación
Aquí tenemos los protocolos asociados a los distintos servicios de Internet, como FTP, Telnet, Gopher, HTTP, etc. Estos protocolos son visibles para el usuario en alguna medida. Por ejemplo, el protocolo FTP (File Transfer Protocol) es visible para el usuario. El usuario solicita una conexión a otro ordenador para transferir un fichero, la conexión se establece, y comienza la transferencia. Durante dicha transferencia, es visible parte del intercambio entre la máquina del usuario y la máquina remota (mensajes de error y de estado de la transferencia, como por ejemplo cuantos bytes del fichero se han transferido en un momento dado).
Breve Historia del Protocolo TCP/IP
A principios de los años 60, varios investigadores intentaban encontrar una forma de compartir recursos informáticos de una forma más eficiente. En 1961, Leonard Klienrock introduce el concepto de Conmutación de Paquetes (Packet Switching, en inglés). La idea era que la comunicación entre ordenadores fuese dividida en paquetes. Cada paquete debería contener la dirección de destino y podría encontrar su propio camino a través de la red.
Como ya comentamos en el capítulo anterior, en 1969 la Agencia de Proyectos de Investigación Avanzada (Defense Advanced Research Projects Agency o DARPA) del Ejército de los EEUU desarrolla la ARPAnet. La finalidad principal de esta red era la capacidad de resistir un ataque nuclear de la URSS para lo que se pensó en una administración descentralizada. De este modo, si algunos ordenadores eran destruidos, la red seguiría funcionando. Aunque dicha red funcionaba bien, estaba sujeta a algunas caidas periódicas del sistema. De este modo, la expansión a largo plazo de esta red podría resultar difícil y costosa. Se inició entonces una búsqueda de un conjunto de protocolos más fiables para la misma. Dicha búsqueda finalizó, a mediados de los 70, con el desarrollo de TCP/IP.
TCP/IP tenia (y tiene) ventajas significativas respecto a otros protocolos. Por ejemplo, consume pocos recusos de red. Además, podía ser implementado a un coste mucho menor que otras opciones disponibles entonces. Gracias a estos aspectos, TCP/IP comenzó a hacerse popular. En 1983, TCP/IP se integró en la versión 4.2 del sistema operativo UNIX de Berkeley y la integración en versiones comerciales de UNIX vino pronto. Así es como TCP/IP se convirtió en el estándar de Internet.
En la actualidad, TCP/IP se usa para muchos propósitos, no solo en Internet. Por ejemplo, a menudo se diseñan intranets usando TCP/IP. En tales entornos, TCP/IP ofrece ventajas significativas sobre otros protocolos de red. Una de tales ventajas es que trabaja sobre una gran variedad de hardware y sistemas operativos. De este modo puede crearse fácilmente una red heterogénea usando este protocolo. Dicha red puede contener estaciones Mac, PC compatibles, estaciones Sun, servidores Novell, etc.