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