Pequeño tutorial de TCPDump - Filtros Avanzados

10 - Filtros Avanzados

[editar]
Tutorial creado por Icewinddale. Extraido de: http://www.mononeurona.org/index.php?idp=434
27 de Octubre de 2005
Para los realmente muy cafeteros, el tcpdump permite hacer filtros a mano, indicando que bytes de la trama queremos pillar y como los queremos interpretar. Cuando queremos definir filtros de esta manera la expresión general es:

expr relop expr

Donde relop puede ser cualquiera de las operaciones de relación de C: >,<, >= <=, = y !=. expr es una expresión aritmética compuesta por una serie de números enteros, los operadores binarios de C, (+, -, *, /, & y |), un operador de longitud, len, y una serie de palabras reservadas que nos permiten el acceso a los diferentes paquetes de datos (ether, fddi, tr, ip, arp, rarp, tcp, udp, icmp e ip6).

Para acceder a los datos dentro de un paquete, usamos los modificadores anteriores y una expresión entera. Opcionalmente podemos especificar el tamaño de los datos que accedemos.

proto [expr : tam]

Asm por ejemplo, el primer byte de la trama ethernet será ether[0], la primera palabra será ether[0:2]. El parámetro tam puede ser 1 (por defecto y no hace falta especificarlo), 2 o 4. Por ejemplo,

Una nota, al menos en la página de manual de la versión 3.6.2 hacen notar que cuando se especifica tcp, udp u otro procolo de nivel superior se hace referencia a IPv4. Esta limitación sin embargo no aparece en OpenBSD.

Otra nota a tener en cuenta: en caso de usar tcp[indice] o udp[indice], implicitamente se aplica una regla para averiguar si es un paquete fragmentado, es decir, usando la notacisn de estos filtros ip[0:2] & 0x1fff = 0. udp[0] o tcp[0] se refieren al primer byte de la cabecera UDP o TCP.



La mayoría de la doc aquí contenida se ha obtenido de la pagina de manual del tcpdump de una Redhat Linux y del OpenBSD. De hecho, la sección de filtros procede en su totalidad de la página de manual del mismo, aunque he cambiado algunos detalles a la hora de expresarlos.
[editar]

Sé el primero en opinar


Tutoriales relacionados con 'Pequeño tutorial de TCPDump'

Tcpdump (y su port a Windows, Windump) son programas cuya utilidad principal es analizar el... Más »
Las páginas que estás viendo están alojadas en mi propio servidor (IP 217. 126.10.173), que... Más »
Este Cómo es la base para entender la evolución de las capacidades de Linux para... Más »

Autor y licencia de 'Pequeño tutorial de TCPDump'


Tutorial de Icewinddale. Extraido de: http://www.mononeurona.org/index.php?idp=434 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.