Sei sulla pagina 1di 11

Seguridad

3º Grado de Ingeniería Informática


Práctica Cortafuegos con IPTables



 Distribución de Linux Ubuntu: http://www.ubuntu.com/download/desktop


 Aplicación para la creación de una máquina virtual VirtualBox:
https://www.virtualbox.org/
 Página de IPTables: http://www.netfilter.org/projects/iptables/
 Artículo de la red Criptopolis dedicado a IPTables: http://www.kriptopolis.org/iptables-
0

En esta práctica se pretende conocer la utilidad IPTables como firewall de un sistema Linux. En
las siguientes secciones se explica y detalla el funcionamiento del mismo. Para poder probar de
un modo práctico el funcionamiento del mismo se recomienda la creación de una máquina
virtual con VirtualBox donde instalar una imagen de la distribución Ubuntu de GNU\Linux. Esto
es voluntario pero recomendable.

La práctica consistirá en un cuestionario donde el estudiante deberá demostrar que


comprende el funcionamiento y configuración de IPTables.

Las cuestiones serán del siguiente estilo:

 Dada la siguiente reglas


/sbin/iptables -A INPUT -p tcp -m tcp --sport 20:21 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --dport 20:21 -j ACCEPT

Y sabiendo que los puertos 20 y 21 están asociados a FTP, ¿podríamos conectarnos o


no a un servidor FTP?
 Un servicio P2P se conecta en los puertos 4661 y 4662, ¿qué reglas debemos escribir
para permitir que estén bloqueado este servicio?
 Qué regla de IPTables es necesaria para reenviar todas las peticiones del puerto 3306
a otra máquina que ejecuta un gestor de base de datos.

El cuestionario incluirá cuestiones de selección de opciones, de selección múltiple y respuesta


corta.
1
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

IPtables es un sistema de firewall vinculado al kernel de Linux que se ha extendido


enormemente a partir del kernel 2.4 de este sistema operativo, desarrollado dentro del
proyecto netfilter (http://www.netfilter.org/). Es un firewall de filtrado de paquetes

Un firewall de iptables no es como un servidor que lo iniciamos o detenemos o que se pueda


caer por un error de programación: iptables está integrado con el kernel, es parte del sistema
operativo. En realidad, las distribuciones de Linux ofrecen posibilidad de configurar un
cortafuego en modo visual, pero en la práctica vamos a configurar un shell que actúe como
cortafuegos, a base de reglas de IPTables, lo que nos ayudará a comprender mejor el
funcionamiento de este tipo de software. En la práctica, vamos a aplicar una configuración para
un cortafuego local, como medida de seguridad en profundidad. No obstante, IPTables también
se puede aplicar como cortafuegos perimetral.

Es cierto que ha tenido alguna vulnerabilidad conocida durante su existencia, como el


que permitiese la realización de ataques DoS (Dennied of Service o denegación de servicio), pero
no es ni mucho menos tan 'frágil' como puede llegar a ser un servidor que tengamos que iniciar
aparte del equipo para que vigile la red y que en cualquier momento se pueda caer, o como
alguna aplicación de terceros que mantengamos en servicio escuchando ciertos puertos.

Realmente lo que se hace con IPTables es aplicar reglas para el filtrado de tráfico. Para ellos se
ejecuta el comando iptables, con el que añadimos, borramos, o creamos reglas. Por ello un
firewall de iptables no es sino un simple script de shell en el que se van ejecutando las reglas de
firewall.

IPtables se inicia junto con el sistema y se mantiene activo todo el tiempo, adecuándose y
aplicando a todo el tráfico de red las reglas que se le hayan configurado previamente. Para
explicarlo de una forma muy simplista, tenemos que abstraernos del equipo y olvidar por un
momento toda la configuración específica de nuestra máquina. Teniendo en cuenta que las
reglas de IPtables están a nivel de Kernel, el Kernel lo que recibe es un paquete de datos y
decidirá qué hacer con él. Es ahora cuando, dependiendo de si el paquete es para nuestro equipo
o para otro, consultará las reglas de IPtables y decidirá lo que hará con el paquete según dichas
reglas. Según la configuración aplicada, el paquete de datos de red pasará por nuestro equipo
sin ser procesado, entrará se procesará y saldrá, o directamente será devuelto.

No obstante, hay que tener en cuenta que se puede implementar un script de inicio en
/etc/rc.d/INIT.d (o /etc/INIT.d ) con el que hagamos que iptables se "inicie o pare" como un
servidor más. Lo podemos hacer nosotros o es probable que venga en la distribución.
2
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

Las reglas de filtrado de los paquetes en IPtables se agrupan en cadenas. Una cadena es un
conjunto de reglas que se aplican para determinar que se debe hacer con los paquetes que
entras, salen o atraviesan el firewall. Las cadenas se agrupan en tablas.

Este es el camino que seguiría un paquete en el kernel:

Como se ve en el gráfico, básicamente se mira si el paquete esta destinado a la propia maquina


o si va a otra. Para los paquetes (o datagramas, según el protocolo) que van a la propia máquina
se aplican las reglas INPUT (entrada) y OUTPUT (salida), y para filtrar paquetes que van a otras
redes o máquinas se aplican simplemente reglas FORWARD.

INPUT, OUTPUT y FORWARD son los tres tipos de reglas de filtrado. Pero antes de aplicar esas
reglas es posible aplicar reglas de NAT: estas se usan para hacer redirecciones de puertos o
cambios en las IPs de origen y destino. E incluso antes de las reglas de NAT se pueden meter
reglas de tipo MANGLE, destinadas a modificar los paquetes; son reglas poco conocidas y es
probable que no se usen al configurar el firewall.

Por tanto tenemos tres tipos de reglas en iptables:

 MANGLE
 NAT: reglas PREROUTING, POSTROUTING
 FILTER: reglas INPUT, OUTPUT, FORWARD

Disponemos de una máquina linux conectada a internet y queremos protegerla con su


propio firewall. Lo único que tenemos que hacer es crear un script de shell en el que se
van aplicando las reglas.

Antes de ello, vamos a realizar una sencilla prueba para comprobar que hay
conectividad en internet. Ejecuta por ejemplo, el comando ping www.google.es, y
comprueba que obtenemos respuesta del servidor de Google. Si no hay conectividad,
repara primero este problema...

En sistemas GNU/Linux, IPtables no es necesario instalarlo pues viene incorporado en el núcleo3


Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

de GNU/Linux. Es una aplicación que contiene una serie de cadenas de reglas de filtrado en 3
tablas. Atender al orden de dichas reglas es muy importante, ya que lee de manera secuencial
las cadenas de reglas. Es decir, comienza por la primera y verifica que se cumpla la condición,
en caso afirmativo la ejecuta sin verificar las siguientes.

Por consiguiente, si la primera regla en una determinada tabla es rechazar cualquier paquete,
las siguientes reglas no serán verificadas.

La estructura de una orden de iptables sigue el siguiente patrón:

iptables -t [tabla] - -[tipo_operación] -- [cadena]-- [regla_con_parámetros] - - [acción].

Veremos un ejemplo de comando para entender su estructura:

iptables -t filter -A FORWARD -i ethO -s 192.168.2.100 -p tcp --dport 80 -j ACCEPT.

 El tipo de operación es añadir una regla (A), sobre la tabla filter (tabla por defecto de
filtrado), y cadena FORWARD (tráfico enrutado).
 La regla: aceptar (ACCEPT) el tráfico TCP cuyo puerto de destino sea el 80 (HTTP), en el
interfaz ethO con IP origen 192.168.2.100.

Las opciones más usadas de iptables son: iptables -L

 -L: listar las cadenas de reglas de una determinada tabla (por defecto filter).
 -F: elimina y reinicia a los valores por defecto todas las cadenas de una determinada
tabla.
 -A: añadir cadena de regla a una determinada tabla.
 -P: añadir regla por defecto, en caso de que no cumpla ninguna de las cadenas de regla
definidas.

Para sistemas en los que no se haya definido anteriormente reglas para Iptables el resultado
de ejecutar el comando iptables -L tiene que ser similar a permitir todo el tráfico.

En IPTables existen cinco tablas: filter, NAT, mangle, raw o security. En esta práctica nos
centraremos en las tres primeras. Además, existen extensiones que permiten crean más
tablas.

De las tres tablas que hemos mencionado, cada una de las cuales contiene ciertas cadenas
predefinidas:

 Filter table (Tabla de filtros): Esta tabla es la responsable del filtrado (es decir, de
bloquear e permitir que un paquete continúe su camino). Todos los paquetes pasan a
través de la tabla de filtros. En este caso las acciones que podemos realizar sobre los
paquetes son ACCEPT, DROP, REJECT ó QUEUE. Contiene las siguientes cadenas
predefinidas y cualquier paquete pasará por una de ellas:
o INPUT chain (Cadena de ENTRADA) -Todos los paquetes destinados a este 4
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

sistema atraviesan esta cadena (también denominada LOCAL_INPUT o


ENTRADA_LOCAL).
o OUTPUT chain (Cadena de SALIDA) - Todos los paquetes creados por este
sistema atraviesan esta cadena (también denominada LOCAL_OUTPUT o
SALIDA_LOCAL).
o FORWARD chain (Cadena de REDIRECCIÓN) - Todos los paquetes que pasan
por este sistema para ser encaminados a su destino recorren esta cadena.
 NAT table (Tabla de traducción de direcciones de red) - Esta tabla es la responsable
de configurar las reglas de traducción de direcciones o de puertos de los paquetes. En
este caso el firewall se comportar como un servidor NAT que reenvia paquetes desde
un origen a un destino siguiendo las reglas establecidas. En este tipo de reglas
tenemos dos opciones posibles SNAT (enmascaramiento de IP) ó DNAT(reenvio de
puertos). Contiene las siguientes cadenas redefinidas:
o PREROUTING chain (Cadena de PRERUTEO) - Los paquetes entrantes pasan a
través de esta cadena antes de que se consulte la tabla de enrutado.
o POSTROUTING chain (Cadena de POSRUTEO) - Los paquetes salientes pasan
por esta cadena después de haberse tomado la decisión de enrutado.
o OUTPUT chain (Cadena de SALIDA).
 Mangle table (Tabla de destrozo) - Esta tabla es la responsable de ajustar las opciones
de los paquetes, como por ejemplo la calidad de servicio. Todos los paquetes pasan por
esta tabla. Está diseñada para efectos avanzados, y contiene todas las cadenas
predefinidas anteriormente. SE encargan de la modificación de los paquetes, como los
TTL o TOS por ejemplo, en el momento que se le especifique. No es utilizada
normalmente por lo que no nos detendremos mucho en este apartado. Sólo comentar
que hasta el Kernel 2.4.17 se componía de 2 cadenas; PREROUTING para modificar los
paquetes entrantes antes de enrutarlos hacia el siguiente nivel de IPtables, y OUTPUT
para alterar paquetes generados localmente antes de enrutarlos. Desde el Kernel 2.4.18
tres nuevas cadenas se implementaron en las tablas MANGLE; INPUT para modificar
paquetes entrantes, FORWARD para alterar paquetes que a continuación serán
enrutados a través de IPtables y POSTROUTING para cambiar paquetes que están listos
para salir.

A la hora de definir una orden de iptables podremos seleccionar la tabla a la que va destinada
dicha orden mediante el parámetro -t:

iptables -t [nat |filter | mangle ]

Los modificadores o parámetros más usuales en las reglas de iptables son los siguientes:

Parámetro Descripción
-i Interfaz de entrada (eth0, ethl, eth2 … ).
-o Interfaz de salida (eth0, ethl, eth2 ... ).
--dport Puerto de origen (puede indicarse el nombre o el número de puerto
5
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

del protocolo, p.ej: http 80)


--sport Puerto destino (puede indicarse el nombre o el número de puerto del
protocolo, p.ej : http 80).
-p El protocolo del paquete a comprobar: tcp, udp, icmp ó all. Por defecto
es all.
-j Especifica el objetivo de la cadena de reglas, o sea una acción.
--line-numbers Cuando listamos las reglas, agrega el número que ocupa cada regla
dentro de la cadena.
Las acciones que estarán siempre al final de cada regla (después de -j) que determinará que
hacer con los paquetes afectados por la regla puede ser:

 ACCEPT: Paquete paquete aceptado.


 REJECT: Paquete paquete rechazado. Se envía notificación a través del protocolo
ICMP.
 DROP: Paquete paquete rechazado. Sin notificación.
 QUEUE: Paquete copiado al espacio del usuario. Sirve para procesar paquetes aunque
no vayan dirigidos al firewall.
 DNAT: Enmascaramiento enmascaramiento de la dirección destino, muy conveniente
para re-enrutado de paquetes. Sólo valida en la tabla NAT
 SNAT: Enmascaramiento enmascaramiento de la IP origen de forma similar a
masquerade, pero con IP fija. Sólo válida en la tabla NAT.

Lo primero para trabajar con IPTables es abrir una consola de Linux. En caso de que IPTables
no estuviera instalado, habría que instalarlo desde la consola con el comando (para
distribuciones Ubuntu): sudo apt-get iptables

Para comprobar las reglas que están activas en este momento podemos usar desde esa
consola la orden: iptables –L -v.

Podemos comenzar con establecer una política global. Las siguientes tres reglas establecen
una política por defecto que acepta cualquier conexión por defecto:

iptables --policy INPUT ACCEPT


iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD ACCEPT

Otra política alternativa sería la de no permitir ninguna conexión entrante. En este caso
tendríamos que usar las siguientes órdenes:

6
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

iptables --policy INPUT DROP


iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

Una opción intermedia es REJECT, que no permite la conexión pero informa mediante un error
de la razón por la que la conexión no ha sido admitida:

iptables --policy INPUT REJECT


iptables --policy OUTPUT REJECT
iptables --policy FORWARD REJECT

Podemos aplicar una de las tres políticas por defecto y comprobar su efecto mediante el
comando ping.

Podemos querer bloquear las conexiones provenientes de una sola dirección IP, en ese caso
deberíamos crear una regla como la siguiente:

iptables -A INPUT -s 10.10.10.10 -j DROP

O bien desde un rango de direcciones IP, en ese caso usuariamos la regla:

iptables -A INPUT -s 10.10.10.0/24 -j DROP

Esta regla sería equivalente a

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

En estas reglas también podemos sustituir DROP por REJECT o ACCEPT.

Otra posibilidad es que queramos filtran las conexiones entrantes en base al puerto TCP. Por ejemplo,
queremos bloquear las conexiones SSH desde 10.10.10.10:

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP

Se puede reemplazar ssh por un número de puerto (por ejemplo 21) o bien por un protocolo conocido
como ftp. Dado que –p indica que protocolo de transporte se usa. Si quisiéramos bloquear un protocolo
que usara UDP, deberíamos usar –p udp.

Para bloquear las conexiones desde cualquier dirección IP para el protocolo SSH usaríamos la siguiente
regla:

iptables -A INPUT -p tcp --dport ssh -j DROP

Algunos protocolos van a requerir comunicación bidireccional. Por ejemplo, las conexiones SSH necesitan
una regla en la cadena de entrada y otra regla en la cadena de salida. A veces nos interesa permitir
conexiones bidireccionales iniciadas por otro usuario hacia nuestro servidor, pero no que nuestro servidor
inicie una conexión dirigidas hacia terceros. En estas ocasiones, nos interesa gestionar esta comunicación
bidireccional de otra forma a la vista hasta ahora en base a IPs y puertos. Luego lo haremos en base al
estado de la conexión establecida. Por ejemplo, queremos que permitir conexiones con SSH desde
10.10.10.10 hacia nuestro servidor pero no queremos que nuestro servidor se conecte a 10.10.10.10. Sin 7
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

embargo, queremos que el sistema permita enviar información sobre SSH mientras la sesión ha sido
establecida, lo que permite la comunicación entre estos dos hosts posible. Lo podemos conseguir con las
siguientes reglas:

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -d 10.10.10.10 -m state --state ESTABLISHED -j ACCEPT

Para borrar todos los cambios que hemos realizado usamos el comando: iptables –F.

Si queremos que estos cambios realizados por consola duren más alla del reinicio del
ordenador hemos de almacenarlos mediante el comando (si estamos usando Ubuntu):

sudo /sbin/iptables-save

Como ya hemos visto en el apartado anterior, las reglas que tuviésemos aplicadas en IPtables,
desaparecen al reiniciar el equipo.

Si hemos introducido una a una las reglas a IPTables por comando podemos salvarlas mediante
la orden (en distribuciones Ubuntu) sudo /sbin/iptables-save.

Sin embargo, otra alternativa es escribir todas las reglas en un fichero que se cargue
automáticamente cuando iniciemos sesión. Para solucionar este problema con unas cuantas
líneas de comandos con las que podremos programar un script (conjunto de órdenes
concatenadas y contenidas en un archivo) para que las reestablezca al inicio del sistema.

Lo primero que tendremos que hacer será el script con las reglas que nos interese aplicar. Para
esto nos iremos a cualquier editor de texto que conozcamos y crearemos un fichero que
contendrá todas las reglas de nuestra política.

Los scripts de iptables pueden tener este esquema:


1. Saludo (echo)
2. Borrado de las reglas aplicadas actualmente (flush)
3. Aplicación de políticas por defecto para INPUT, OUPUT, FORWARD
4. Listado de reglas iptables (ACCEPT = aceptar, DROP = no aceptar)

¡Ojo con el orden de las reglas!. Cuando llega un paquete, se intentará equiparar a
alguna de las reglas del listado de la fase 4 (por orden), y si no equipara con ninguna, se aplicará
la política por defecto definida en la fase 3.

Un ejemplo sería el siguiente script:


#!/bin/bash
# -- UTF 8 -- 8
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

iptables="/sbin/iptables"
LAN="eth0"
WIFI="wlan0"

echo ""

## Limpiar tablas ##
$iptables -F
$iptables -X
$iptables -Z
#echo " - FLUSH a iptables, correcto." && echo""

## Definir política DROP por defecto ##


$iptables -P INPUT DROP
$iptables -P FORWARD DROP
#echo " - Política DROP aplicada por defecto, correcto." && echo""

## Permitir todo a localhost ##


$iptables -A INPUT -i lo -j ACCEPT
#echo " - Permitido acceso total para localhost, correcto." && echo""

## Permitir entrar paquetes de conexiones que yo inicie ##


$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#echo " - Permitidos paquetes de conexiones realizadas por mi equipo, correcto." && echo""

echo " ------- IPTABLES CORRECTAMENTE CONFIGURADO -------"

Este fichero vamos a almacenarlo con el nombre por ejemplo de “activar-firewall”


dentro de la carpeta /etc del sistema. Probablemente deberemos ser superusuario
(root) para tener permisos para almacenarlo.
Abrimos ahora un terminal de Linux y debemos darle permisos de ejecución al fichero,
lo que realizamos mediante la orden chmod:

chmod +x /etc/activar-cortafuegos

Y por último especificamos en el sistema que queremos que se ejecute dicho script, modificando
el archivo con nombre 'rc.local' que encontramos en la carpeta /etc. Abrimos terminal y
escribimos esto:

nano /etc/rc.local

Y directamente nos abrirá el archivo en un editor de texto que tendremos que dejar tal que así:

#!/bin/sh -e
#
# rc.local
9
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/etc/activar-cortafuegos

exit 0

Y con esta modificación al iniciar la máquina se aplicarán las reglas de nuestro cortafuegos de
forma automática. Sólo comentar que la carpeta donde se crea o aloja el script y el nombre de
este son totalmente personalizables, siempre que luego se especifique en el 'rc.local' la ruta
absoluta del mismo.

Una vez tenemos nuestro firewall funcionando desearemos en algún momento comprobar si
ha ocurrido alguna alerta o bien usar los logs para analizar y detectar alguna posible amenaza.

Lo primero es que en nuestras reglas hemos de añadir LOG –log-prefix “mensaje” para que
cuando se detecten los mensajes asociados se añada automáticamente al log esta información.
Por ejemplo:

iptables -A INPUT -j LOG – -log-prefix “Actividad del cortafuegos (INPUT)”


iptables -A OUTPUT -j LOG – -log-prefix “Actividad del cortafuegos (OUTPUT)”
iptables -A FORWARD -j LOG – -log-prefix ” Actividad del cortafuegos (FORWARD)”

Luego tenemos que guardar los cambios si al principio no habíamos añadido la opción LOG a
las reglas correspondientes:

service iptables save

Para visualizar estos mensajes basta con la orden

tail –f /var/log/messages

Por defecto, la mayoría de los logs del sistema se guardan en el fichero /var/log/messages pero
en este caso vamos a configurar un nuevo fichero para que almacene únicamente los logs que
generaremos con algunas reglas en IpTables, creando así su propio archivo de registro.

1
0
Seguridad
3º Grado de Ingeniería Informática
Práctica Cortafuegos con IPTables

Lo primero que debemos hacer es configurar el archivo /etc/syslog.conf, que se trata de un


archivo de configuración en el que se indica el modo en que los mensajes del sistema son
bitacorizados a través de la utilidad syslogd que se instala y configura por defecto en todos los
sistemas GNU/Linux. Debemos añadir al final del fichero la siguiente sentencia:
kern.warning /var/log/iptables.log

Con esto indicamos que se almacenen los mensajes provienen del kernel con prioridad 4 o
superior ('warning' es el nivel de prioridad 4) en el archivo /var/log/iptables.log y se ignora el
resto de prioridad inferior (debug, info y notice que son del 3 hacía abajo) generalmente
irrelevantes.

Por último, para visualizar esta información debemos abrir el fichero /var/log/iptables.log con
cualquier editor de texto con el que estemos familiarizado.

La información dentro de este fichero se ordena de izquierda a derecha siguiendo al modelo


OSI de abajo hacia arriba, primero lo referido a enlace de datos (iface, MAC), luego a red
(dirección IP, TOS) y por ultimo de transporte (puerto, ACK, etc.).

Se dará un breve detalle de cada campo ya que hay información que podría no estar presente
dependiendo de la cadena dentro de la que se realizo el registro de algunos de los protocolos
que intervienen en el caso.

 Dec 21: es el mes y el día del registro. (21 de diciembre).


 10:31:41: es la hora en la que se añadió el registro al archivo de log.
 Usuario-desktop: es el nombre de la maquina que realiza el log .
 kernel: [ 4081.617746]: es el código del log del núcleo.
 IPTABLESFORWARD: es el prefijo que hemos añadido en la sentencia de iptables para
diferenciar los registros que provienen de iptables de cualquier otro registro.
 IN=ethO OUT=: interfaces de red por la cual entró la trama y por la cual va a salir.
 MAC: información que maneja la capa MAC (Media Access Control, junto a LLC
conforman la capa de enlace de datos). Se concatenan los 6 bytes de la dirección MAC
destino con los 6 de origen y como se trata de un datagrama 1Pv4 el código es 0800.
 SRC y DST: IP origen y destino.
 LEN : longitud total del datagrama, hace referencia al campo LT de la cabecera IP (del
bit 17 al 32) y no al campo IHL (longitud de la cabecera, del bit 5 al 8).
 TOS y PREC: campo tipo de servicio de la cabecera IP, por lo general es 00 y con PREC
(precedencia)OxOO.
 TTL y ID: time to live (tiempo de vida) y el campo ID utilizado para recomponer
fragmentos.
 PROTO, SPT y DPT: en este caso, protocolo de transporte y puertos de origen y
destino. El valor de PROTO se obtiene del campo protocolo de la cabecera IP. El SPT y
DPT son algoritmos de control.

1
1

Potrebbero piacerti anche