marca mangle en tcpdump

Miguel Oyarzo O. admin en aim.cl
Jue Abr 17 13:09:59 CLT 2008


At 07:07 17/04/2008, Aldrin Martoq wrote:
>On Thu, Apr 17, 2008 at 12:06 AM, Miguel Oyarzo O. <admin en aim.cl> wrote:
> >  No puedo encontrar documentacion que me diga qué octeto o posicion
> >  de la cabecera tcp afecta mangle.
> >  Intento hacer tcpdump -n -i iface tcp[octeto] == marca
> >  para ver en tiempo real por que interfaz
> >  se intentan ir unos paquetes con ciertas marcas que puse
> >  si hay algun parametro especifico mejor (en iptables 1.4/debian) no lo
> > puedo encontrar
>
>Te refieres a iptables?

No... me referia a un comando en tcpdump mas arriba... lamentablemente 
escribi /iptables 1.4/debian/
(quizas eso confundio a varios q saben la respuesta)

>Si es asi, depende de que hace tu regla. Puedes mostrarla? Aca un ejemplo:
># tcpdump -nvi eth0  icmp & sleep 1 && ping -c 1 192.168.0.1
>06:50:36.062751 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
>ICMP (1), length 84) 192.168.0.6 > 192.168.0.1: ICMP echo request, id
>25401, seq 1, length 64
># iptables -t mangle -A OUTPUT -p icmp -d 192.168.0.1 -j TTL --ttl-set 1
># tcpdump -nvi eth0  icmp & sleep 1 && ping -c 1 192.168.0.1
>06:51:11.205309 IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto
>ICMP (1), length 84) 192.168.0.6 > 192.168.0.1: ICMP echo request, id
>15417, seq 1, length 64

Mira, es algo similar a lo que muetras arriba, pero con
-j MARK --set-mark X

Presisamente esa marca intento encontrar la cabecera tcp

>Ojo que mangle es una tabla, relacionado con la estructura interna de
>netfilter (aka iptables).

gracias, tengo perfectamente claro como trabaja mangle.. aqui
tenemos complejas estructuras de ruteo y balanceo mediante su uso.

>Es decir, mangle no modifica los paquetes,
>sino quien hace eso son los targets (-j XXXXX es un target, en este
>caso TTL).

Exacto...  (solo trate de ahorrar chachara, pero mejor sere mas preciso en 
las descripciones),

por ejemplo aqui tenemos desde hace años configuraciones de este tipo:

iptables -t mangle -A PREROUTING  -s 10.0.15.0/24 -j MARK --set-mark 5
iptables -t mangle -A PREROUTING  -s 10.0.16.0/24 -j MARK --set-mark 6
..
..
..
iptables -t mangle -A PREROUTING  -s 10.0.17.0/24 -j MARK --set-mark 20


Segun su marca el trafico de estas redes privadas usan una u otra trabla
de ruta (la maquina tiene muchas tablas de rutas simultaneas, cada una con su
gateway default diferente).
Entre otras cosas a veces se marca un protocolo detrerminado para
que tenga una tratamiento especial (prioriodad, velocidad, siga una ruta 
distinta, etc)

Ahora busco una forma para que  tcpdump o etheral me muesten
el trafico, pero gracias a una marca especifica.

Mi primer intento fue localizar dicha marca en alguno de los octetos
de la cabecera TCP, pero no estoy seguro si encontrare esa marca
alli y/o no se cual octeto y posicion tiene.

  tcpdump -n -i iface tcp[octeto] == marca   ????    (eso es lo que busco)

Conoces exactamente que parte de la cabecera afectaría
iptables -t mangle -A PREROUTING  -s 10.0.15.0/24 -j MARK --set-mark 5  ?

antes que se tome la desicion de Routing?

>BTW, que estas haciendo ???

Busco ver en tiempo real  la marca asignada a cada paquete que atraviesa
el Router . SI lo logro podre depurar mas rapidamente varias cosas hechas aqui

gracias por la respuesta

>--
>Aldrin Martoq
>Episodio 002 (Lunes 24 Marzo)!
>http://aldrinvideopodcast.podshow.com/




Más información sobre la lista de distribución Linux