meta data de esta página
¡Esta es una revisión vieja del documento!
http://blog.smaldone.com.ar/2006/11/21/tutorial-sobre-tcpip/
La dirección IP es un valor de 4 bytes (32 bits) que se interpreta de la siguiente forma: W.X.Y.Z <Dirección de red, dirección de ordenador > Hay cinco clases de direcciones IP:
Red A -> W -> 0XXXXXXX -> 00000000 – 01111111 -> 0-126 (ojo es de 0 a 126 ya que la 127 está reservada)
En la suite TCP/IP existen varios tipos de protocolos, vamos a ver algunos de ellos y sus particularidades
TCP
El protocolo TCP tiene las siguientes características:
- Negociación de conexión
- Acuse de recibo de cada paquete
- Control de no duplicidad de paquetes
- Inmune a la llegada desordenada de paquetes
- Inmune a la perdida de paquetes (se solicitan otra vez)
SYN:
El bit se syn indica un intento de iniciar una comunicación
RST:
Se devuelve un paquete rst cuando se intenta conectar a un puerto sin servicio. (esto normalmente indica un escaneo de puertos)
UDP
UDP es un protocolo simple para transferir datos sin toda la sobrecarga del TCP y sin ninguna de sus virtudes. En las conexiones UDP no hay negociación, ni acuse de recibo, ni control de perdida o desorden o duplicación de paquetes, todo esto debe ser gestionado por el servicio que emplea la conexión.
ICMP
El protocolo ICMP es un protocolo de control, los paquetes ICMP no tienen puerto de origen o de destino, en vez de ello tienen un tipo y un subtipo ó código.
Tabla 9-2. Tipos de datagramas de ICMP | |||
---|---|---|---|
Número de tipo | Código | Nombre | Descripción del tipo |
0 | echo-reply | Respuesta a eco | |
3 | destination-unreachable | Destino inalcanzable | |
0 | Net unreachable | ||
1 | Host unreachable | ||
3 | Port unreachable | ||
4 | Fragmentation needed | ||
4 | Source-quench | Congestión en el tráfico | |
5 | Redirect | Redirección | |
8 | echo-request | Solicitud de eco | |
11 | time-exceeded | Tiempo superado | |
0 | TTL Exceeded | ||
1 | Fragment reassembly timeout | ||
12 | parameter-problem | Problema de parámetros | |
13 | timestamp-request | Solicitud de marca de tiempo | |
14 | timestamp-reply | Respuesta de marca de tiempo | |
15 | None | Solicitud de información | |
16 | None | Respuesta de información | |
17 | Address-mask-request | Petición de máscara de dirección | |
18 | Address-mask-reply | Respuesta de máscara de dirección |
Paquetes ICMP para verificar las comunicaciones
Fragmentation Needed Ü( 3/4):
Se utiliza para descubrir la unidad máxima de transferencia (MTU). En conexiones WAN debería de permitirse.
Ping =>(8/- ) <=(0/-)
Si queremos permitir el ping tenemos que permitir los siguiente:
- echo-request 8 (salida del ping)
- echo-reply 0 (respuesta del ping)
Traceroute <=(3/3) <=(11/0)
Para permitir el traceroute:
- port unreachable: Tipo 3 / Código 3
- TTL excedeed : 11 / 0
- Paquetes UDP en el rango 33434:33600
Paquetes ICMP sospechosos o peligrosos:
Redirect <=(5/-)
Alguien intenta redirigir nuestro router.
Source-Quench <=(4/-)
Puede ser un intento de ataque DoS, ya que estos paquetes enlentecen la comunicación.
Parameter Problems => (12/-)
Indica que se nos está aplicando algún tipo de detección de sistema operativo o algún tipo de hackeo.
Port unreachable => (3/3)
Las salidas de paquetes ICMP 3/3 delatan la existencia de un escaneo de puerto de nuestra red.
Fragmentos
Los fragmentos pueden ser de cualquier protocolo (TCP, UDP, ICMP, etc). Como los fragmentos posteriores al primero no llevan la cabecera del protocolo (TCP, UDP, ICMP, etc) solo contienen información de IP (IP origen, IP destino, TOS, etc…) y no los puertos que van en la cabecera TCP/UDP. Por lo tanto en las reglas de filtrado, en las que se acostumbra a filtrar por puertos, no sabremos que hacer con los fragmentos. Por lo tanto hay que crear una regla específica para evitar ataques con paquetes fragmentados.