Router Teldat Facilidad Sniffer Doc. DM778 Rev. 10.70 Febrero, 2007
ÍNDICE Capítulo 1 Facilidad Sniffer del Router Teldat...1 1. Introducción... 2 2. Visión general de la facilidad Sniffer... 3 2.1. Fichero de captura... 3 2.2. Modos de captura... 4 2.3. Dispositivo de captura... 5 Capítulo 2 Configuración de la facilidad Sniffer...7 1. Configuración de la facilidad Sniffer... 8 1.1.? (AYUDA)... 9 1.2. CAPTURE... 9 a) capture <interface>... 9 b) Capture any... 10 1.3. EXIT... 10 2. Resumen de comandos... 12 - ii -
Capítulo 1 Facilidad Sniffer del Router Teldat
1. Introducción En la mayoría de las redes, debido a la naturaleza compartida del medio de transmisión, un mensaje enviado a un determinado equipo puede ser interceptado por cualquier otro. Aunque en la práctica los equipos ignoran los mensajes destinados a otros, es posible que decidan no ignorarlos y de esa forma tener acceso a toda la información que viaja por su red. Un Sniffer es, precisamente, un programa que permite interceptar y registrar el tráfico de una red, o de una parte de la misma. Una vez que ha capturado un paquete, puede decodificarlo y analizarlo de acuerdo a la RFC o norma apropiada. Esta monitorización de la red permite detectar cuellos de botella u otros problemas en la red. En entornos Ethernet, por ejemplo, cada dispositivo posee una dirección física que lo identifica de manera unívoca en la red, denominada dirección MAC (Media Access Control). El nivel de enlace inserta la dirección MAC del dispositivo en transmisión y la chequea en recepción. Si la dirección MAC destino del paquete coincide con la suya, la trama es aceptada y enviada a las capas superiores para su procesamiento. Para poder capturar todos los paquetes, el Sniffer pone la tarjeta de red en un estado conocido como modo promiscuo, en el que es capaz de capturar todas las tramas que viajan por el medio, aún cuando la dirección destino no coincida con la suya. De esta manera puede capturar la información de cualquier equipo conectado a su misma red. Figura 1. Red Ethernet tradicional. En la Figura 1, los paquetes cuyo origen o destino sea el equipo A son recibidos por todos los equipos conectados al mismo dominio de broadcast, en este caso B y C. En condiciones normales, tanto B como C descartarían los paquetes si el destino no coincide con sus direcciones MAC. Sin embargo, cualquiera de ellos puede interceptar todo el tráfico de la estación A sin más que poner su tarjeta de red en modo promiscuo. ROUTER TELDAT Facilidad Sniffer Introducción I - 2
2. Visión general de la facilidad Sniffer La facilidad Sniffer del Router Teldat permite interceptar el tráfico de la red a la que se encuentra conectado el equipo, almacenando en un fichero con extensión.cap toda la información recogida. Este fichero puede extraerse de la memoria del equipo y ser utilizado a posteriori para analizar el comportamiento de la red. En las siguientes secciones se describe el funcionamiento de la facilidad Sniffer. 2.1. Fichero de captura Por defecto, el fichero donde se almacena la información del tráfico capturado es CAPTURE.CAP, aunque el usuario puede asignarle otro nombre distinto. SNIFFER config>filename prueba SNIFFER config> En el ejemplo se ha asignado prueba.cap como el nombre del fichero de captura. Es importante recordar que es necesario salvar la configuración y reiniciar el equipo para que la asociación entre en efecto. El fichero.cap queda almacenado en el directorio /mem de la memoria del equipo, y puede accederse a él mediante una conexión FTP. Figura 2.1. Conexión FTP y extracción del fichero de captura. En el ejemplo de la Figura 2.1, tras el proceso de login, se ha establecido la conexión FTP con el equipo que realizó la captura, se ha obtenido un listado del contenido del directorio /mem y se ha extraído el archivo CAPTURE.CAP mediante el comando get. El contenido del fichero se muestra en la Figura 2.2 utilizando un analizador de protocolos. ROUTER TELDAT Facilidad Sniffer Introducción I - 3
Figura 2.2 Visualización del fichero CAPTURE.CAP mediante un analizador de protocolos. El analizador utilizado divide la pantalla en tres sub-ventanas. En la primera aparecen enumerados los distintos paquetes interceptados; en la segunda se ha analizado el paquete marcado en la primera ventana, identificando los distintos protocolos involucrados; y en la última se muestra a nivel de byte el paquete seleccionado. El flujo de paquetes corresponde con un proceso de ping entre el equipo 172.24.79.56 y el 172.24.79.55, observándose en primer lugar el intercambio inicial de mensajes ARP y a continuación la secuencia de paquetes de ICMP Request e ICMP Replay. 2.2. Modos de captura Los dispositivos conectados a una red están permanentemente escuchando el medio a la espera de recibir datos, comprobando si la dirección destino del paquete coincide con la suya y, en tal caso, aceptándolo y procesándolo. Sobre la base de este principio de funcionamiento, la facilidad Sniffer ofrece dos modos de captura de paquetes: single-host: El equipo almacena en el archivo de captura todos los paquetes cuya dirección origen o destino coincida con la suya. promiscuous: En este modo, el equipo intercepta y almacena todos y cada uno de los paquetes que circulan por la red a la que está conectado. ROUTER TELDAT Facilidad Sniffer Introducción I - 4
2.3. Dispositivo de captura Para realizar una captura existen dos alternativas: especificar un interfaz concreto a través del cual capturar tráfico, por ejemplo ethernet0/0 ; o bien elegir una captura de tipo any device (cualquier dispositivo), que permite interceptar tráfico de distintos interfaces activos en el equipo. La ejecución de una captura solo es posible en el proceso P 5, ya que ésta debe hacerse sobre un interfaz que ya este funcionando en el equipo. *p 5 Config$ feature sniffer -- SNIFFER configuration -- capture ethernet0/0 100 promiscuous Capturing traffic (Press any key to abort)... Capture finished CAP file is available, by means of FTP connection, in /mem directory. -- SNIFFER configuration -- capture bri0/0 10 single-host pcap_open_live failed: Chosen device not supported CLI Error: Command error En el primer ejemplo se ha realizado una captura en el interfaz ethernet0/0 de 100 paquetes utilizando la tarjeta de red en modo promiscuo; y en el segundo se ha seleccionado un interfaz en el que la facilidad Sniffer no está habilitada y la consola muestra el siguiente mensaje de error: pcap_open_live failed: Chosen device not supported. En las capturas any device los paquetes se obtienen directamente del kernel y encapsulados en un pseudo-protocolo, denominado SLL, que les añade una cabecera de nivel dos ficticia. -- SNIFFER configuration -- capture any 100 single-host Capturing traffic (Press any key to abort)... Capture finished CAP file is available, by means of FTP connection, in /mem directory. En el ejemplo se ha lanzado una captura de tipo any device de 100 paquetes en modo single-host, con el fin de monitorizar el mismo proceso de Ping de la Figura 2.2. En la Figura 2.3 se presenta la secuencia de paquetes interceptados. Al contrario que en la primera captura, el paquete seleccionado no se ha analizado identificando los distintos protocolos que lo componen. En lugar de eso, tenemos un payload de 102 bytes encapsulado en el protocolo SLL. El paquete corresponde con un ICMP Echo Request y un análisis del campo de datos permitiría identificar las cabeceras Ethernet, IP, ICMP y finalmente los datos reales de usuario. ROUTER TELDAT Facilidad Sniffer Introducción I - 5
Figura 2.3 Visualización de una captura tipo any device en el proceso de ping de la Figura 2.2. -- SNIFFER configuration -- capture any 100 promiscuous Warning: Promiscuous mode not supported on the "any" device Warning: Switching capture to single host... Capturing traffic (Press any key to abort)... Capture finished CAP file is available, by means of FTP connection, in /mem directory. En este último ejemplo se pone de manifiesto la incompatibilidad del modo promiscuo con las capturas del tipo any device. Si se intenta forzar esta combinación, el equipo muestra un aviso indicando que el modo captura se ha cambiado internamente a single-host. ROUTER TELDAT Facilidad Sniffer Introducción I - 6
Capítulo 2 Configuración de la facilidad Sniffer
1. Configuración de la facilidad Sniffer El siguiente ejemplo muestra como acceder al menú de configuración de la faclidad Sniffer. *p 4 Config>feature sniffer -- SNIFFER configuration -- SNIFFER config> Los comandos disponibles son: Comando Función? (AYUDA) Muestra los comandos u opciones disponibles. FILENAME Permite especificar el nombre del archivo donde guardar los paquetes interceptados. EXIT Vuelve al prompt de configuración (Config>). Si se accede al menú de configuración desde el proceso RUNNING_CONFIG (P 5), los comandos disponibles son: Comando Función? (AYUDA) Muestra los comandos u opciones disponibles. CAPTURE Inicio de la captura de paquetes. FILENAME Permite especificar el nombre del archivo donde guardar los paquetes interceptados. EXIT Vuelve al prompt de configuración (Config>). *p 5 Config$feature sniffer -- SNIFFER configuration --? capture Start capturing packets filename Choose default file name exit Exit to parent menu Esta discrepancia en el menú de la facilidad Sniffer entre los procesos CONFIG y RUNNING- CONFIG se debe a que las capturas han de hacerse sobre interfaces que ya estén funcionando en el equipo, lo que limita a P 5 la utilización del comando capture. ROUTER TELDAT Facilidad Sniffer Configuración II - 8
1.1.? (AYUDA) Muestra la lista de los comandos disponibles. Desde P 4: Sintaxis: SNIFFER config>? SNIFFER config>? filename Choose default file name exit Exit to parent menu SNIFFER config> Desde P 5: Sintaxis:?? capture Start capturing packets filename Choose default file name exit Exit to parent menu 1.2. CAPTURE La ejecución de este comando inicia el proceso de captura de paquetes en el interfaz seleccionado. Se deben especificar también el número de paquetes a capturar y el modo de funcionamiento. El comando capture solo está disponible en el proceso P 5 dentro del menú de la facilidad Sniffer. Sintaxis: capture? <interface> Interface name any Any device a) capture <interface> Permite especificar un interfaz concreto sobre el que realizar la captura de paquetes. Si el interfaz seleccionado no permite capturar tráfico la consola muestra un mensaje de error. Sintaxis: capture <interface> <No. of packets(0..1000)> <modo> ROUTER TELDAT Facilidad Sniffer Configuración II - 9
capture ethernet0/0 200 promiscuous Capturing traffic (Press any key to abort)... Capture finished CAP file is available, by means of FTP connection, in /mem directory. capture ethernet0/0 100 single-host Capturing traffic (Press any key to abort)... Capture finished CAP file is available, by means of FTP connection, in /mem directory. En el primer ejemplo se ha realizado una captura de 200 paquetes en modo promiscuo, y en el segundo de 100 paquetes en modo single-host. En el primer caso se dispone de todos los paquetes que han llegado a la tarjeta de red Ethernet, y en el segundo solo se capturan los paquetes cuya dirección origen o destino coincida con la de la tarjeta de red del equipo. El usuario puede abortar el proceso de captura sin más que pulsar una tecla. El archivo.cap recoge los paquetes capturados hasta ese momento. b) Capture any Realiza una captura de tipo any device. Es decir, se dispone de los paquetes que entren o salgan del equipo encapsulados en una trama de nivel dos ficticia. El campo de datos está compuesto por el paquete real de nivel tres y, si es posible disponer de ella, de la cabecera real del nivel de enlace. Sintaxis: capture any <No. of packets(0..1000)> <modo> capture any 10 single-host Capturing traffic (Press any key to abort)... Capture finished CAP file is available, by means of FTP connection, in /mem directory. 1.3. EXIT Sale del entorno de configuración de la facilidad Sniffer y retorna al prompt de configuración anterior. Sintaxis: SNIFFER config>exit ROUTER TELDAT Facilidad Sniffer Configuración II - 10
-- SNIFFER configuration -- SNIFFER config>exit Config> ROUTER TELDAT Facilidad Sniffer Configuración II - 11
2. Resumen de comandos CAPTURE < interfaz any > <No. of paquets (1..1000)> <promiscuous single-host> FILENAME <File_name(1..8 chars)> EXIT ROUTER TELDAT Facilidad Sniffer Configuración II - 12