Dynamic Trunking Protocol (DTP)
es un protocolo propietario de Cisco para establecer trunks entre
switches de nivel dos. Los paquetes DTP tienen normalmente como MAC de
destino 01:00:0C:CC:CC:CC y una trama IEEE 802.3 con una cabecera 802.2
SNAP. Este protocolo se encuentra disponible en muchos switches Cisco,
excluyendo modelos XL. DTP se encuentra activado por defecto en los
dispositivos Cisco, preparado para negociar en todos los puertos del
switch. Sin embargo, es necesario saber cómo negociar DTP para
establecer un trunk. La especificación DTP es propietaria de Cisco (no
pública), lo cual lo hace algo más difícil. Por
tanto los autores del artículo se han visto obligados a utilizar ingeniería inversa del tráfico entre switches cuando establecen un trunk con el fin de ser lo más precisos posible con el formato DTP.
DTP negocia tanto la activación del propio trunk como el tipo de encapsulamiento utilizada para recibir y enviar tráfico por un puerto dado. El tipo más común de encapsulamiento es IEEE 802.1Q (soportada por la mayoría de los switches Cisco). Esta especificación es un estándar público. Por otro lado, también puede utilizarse ISL, el cual es otro protocolo propietario de Cisco y soportado sólo en dispositivos de alto nivel. El principal motivo de utilizar es marcar los paquetes con su correspondiente VLAN. Esto ayuda a los switches a saber por dónde enviar los paquetes.
DTP no utiliza autenticación y, como hemos mencionado anteriormente, se encuentra activado por defecto en todos los puertos. La única condición es si somos capaces de negociar DTP. Si lo somos podremos tener acceso a otras VLANs. Con el fin de aprender a negociar DTP primero es necesario conocer el formato del paquete:
tanto los autores del artículo se han visto obligados a utilizar ingeniería inversa del tráfico entre switches cuando establecen un trunk con el fin de ser lo más precisos posible con el formato DTP.
DTP negocia tanto la activación del propio trunk como el tipo de encapsulamiento utilizada para recibir y enviar tráfico por un puerto dado. El tipo más común de encapsulamiento es IEEE 802.1Q (soportada por la mayoría de los switches Cisco). Esta especificación es un estándar público. Por otro lado, también puede utilizarse ISL, el cual es otro protocolo propietario de Cisco y soportado sólo en dispositivos de alto nivel. El principal motivo de utilizar es marcar los paquetes con su correspondiente VLAN. Esto ayuda a los switches a saber por dónde enviar los paquetes.
DTP no utiliza autenticación y, como hemos mencionado anteriormente, se encuentra activado por defecto en todos los puertos. La única condición es si somos capaces de negociar DTP. Si lo somos podremos tener acceso a otras VLANs. Con el fin de aprender a negociar DTP primero es necesario conocer el formato del paquete:
- Domain (32 bytes): Cadena ASCII igual al dominio VTP configurado
- Status (1 byte): indica el estado del puerto: on, off, desirable or auto; por defecto: desirable – podemos empezar a negociar DTP
- Type (1 byte): tipo de encapsulamiento soportado: ISL, 802.1Q, negotiated (ISL o 802.1Q) o native
- Neighbor-ID (6 bytes): identifica el dispositivo que envía el paquete; normalmente: dirección MAC del puerto.
Por otro lado, es necesario controlar el estado del otro dispositivo para cambiar el nuestro si fuera necesario. Esto se consigue con un bucle de recepción de paquetes DTP. Tras unos pocos chequeos, Yersinia cambia su estado DTP en función del otro dispositivo.
Estado DTP del puerto desde la consola del switch
zipi# sh dtp int Fa0/10
DTP information for FastEthernet0/10:
TOS/TAS/TNS: ACCESS/DESIRABLE/ACCESS
TOT/TAT/TNT: NATIVE/802.1Q/802.1Q
Neighbor address 1: 000000000000
Neighbor address 2: 000000000000
Gracias al trabajo realizado en Yersinia, fue posible añadir el soporte de DTP en Wireshark
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.