TamoSoft: Network Analysis Tools & Security Software
Contents

CommView Help Documentation


    Return to the main product page
 
Introducción
Acerca de CommView
Novedades
Utilizando el Programa
Perspectiva General
Seleccionar Interfaz de Red para Monitoreo
Últimas Conexiones IP
Paquetes
Registro
Visor de Registros
Reglas
Reglas Avanzadas
Alarmas
Reconstrucción de sesiones TCP
Estadísticas y Reportes
Utilizando Alias
Generador de Paquetes
Identificar el Fabricante de la Tarjeta
Planificador
Utilizando Remote Agent
Capturar Tráfico Loopback
Configurando opciones
Respuestas a Preguntas Frecuentes
Temas Avanzados
Capturando un volumen elevado de tráfico
Trabajando con Multiples Instancias
Ejecutando CommView en Modo Oculto
Parámetros de Línea de Comandos
Intercambiando datos con su aplicación
Decodificación Personalizada
Formato de Archivos de Registro de CommView
Información
Como Adquirir CommView
Contactenos
Otros productos por TamoSoft
Reglas Avanzadas


Las reglas avanzadas son reglas que poseen mayor flexibilidad y son más poderosas. Las mismas le permiten crear filtros complejos utilizando lógica Booleana. La utilización de reglas avanzadas requiere un entendimiento básico de lógica y matemáticas, pero la sintaxis de las reglas es fácil de comprender.

advanced

Perspectiva General

Para agregar una nueva regla, deberá ingresar un nombre a elección en el campo Nombre, seleccionar la acción Capturar/Ignorar, ingresar una Formula utilizando la sintaxis descripta a continuación, y hacer clic en Agregar /Editar. Su nueva regla será agregada a la lista y se activara de forma inmediata. Puede agregar todas las reglas que desee, pero solo aquellas reglas que tienen marcado la casilla contigua al nombre de la regla estarán actualmente activas. Puede activar/desactivar reglas marcando/desmarcando las casillas correspondientes o eliminar completamente las reglas seleccionadas utilizando el botón Eliminar. Si más de una regla está activa, puede evaluar la regla combinada resultante haciendo clic en Evaluar. Por favor observe que múltiples reglas activas estarán combinadas utilizando el operador lógico OR, por ejemplo si tiene tres reglas activas, RULE1, RULE2, y RULE3, la regla resultante será RULE1 OR RULE2 OR RULE3.

Puede utilizar las reglas avanzadas en conjunción con las reglas básicas descriptas en el capitulo previo, sin embargo, si se siente confortable con la lógica booleana, es buena idea utilizar solamente reglas avanzadas, ya que ofrecen mayor flexibilidad. Las reglas básicas se combinan con reglas avanzadas utilizando el operador lógico AND.

Descripción de la sintaxis


dir - Dirección del paquete. Los valores posibles son in (entrante), out (saliente), y pass (pasante).

etherproto - Protocolo Ethernet, el 13vo y 14vo Bytes del paquete. Los valores aceptables son numéricos (ejemplo etherproto=0x0800 para IP) o alias utilizados comúnmente (ejemplo etherproto=ARP, que es equivalente a 0x0806).

ipproto - Protocolo IP. Los valores aceptables son numéricos (ejemplo ipproto!=0x06 para TCP) o alias utilizados comúnmente (ejemplo ipproto=UDP, que es equivalente a 0x11).

smac - Dirección física de origen. Los valores aceptables de las direcciones físicas se deben expresar en notación hexadecimal (ejemplo smac=00:00:21:0A:13:0F) o alias definido por el usuario.

dmac - Dirección física de destino.

sip - Dirección IP de origen. Los valores aceptables son direcciones IP en notación puntuada (e.g. sip=192.168.0.1), direcciones IP con comodines (e.g. sip!=*.*.*.255), direcciones de red y máscaras de subnet (e.g. sip=192.168.0.4/255.255.255.240 o sip=192.168.0.5/28), rangos de IP (e.g. sip from 192.168.0.15 to 192.168.0.18 o sip in 192.168.0.15 .. 192.168.0.18 ), o Alias definidos por el usuario.

dip - Dirección IP de destino.

sport - Puertos de origen para paquetes de TCP y UDP. Los valores aceptables son numéricos (ejemplo sport=80 para HTTP), rangos (ejemplo sport from 20 to 50 o sport in 20..50 para cualquier número de Puerto entre 20 y 50) o alias definidos por el sistema operativo (ejemplo sport=ftp, que es equivalente a 21). Para la lista de alias soportados por su sistema operativo haga clic en Ver => Información de Referencia de Puertos

dport - Puerto de destino para los paquetes TCP y UDP.

flag - Indicador TCP. Los valores aceptables son numéricos (ejemplo 0x18 para PSH ACK) o uno o varios de los siguientes caracteres: F (FIN), S (SYN), R (RST), P (PSH), A (ACK), y U (URG), o la clave has, que significa que el indicador contiene un valor cierto. Ejemplos de uso: flag=0x18, flag=SA, flag has F.

size - Tamaño del paquete. Los valores aceptados son numéricos (ej: size=1514) o rangos (ej. size from 64 to 84 o size in 64..84 para cualquier tamaño entre 64 y 84).

str - Contenido del paquete. Utilice esta función para indicar que el paquete debe contener una cadena de caracteres. Esta función tiene tres argumentos: cadena de caracteres, posición y MAYÚSCULAS/minúsculas. El primer argumento es una cadena de caracteres, por ejemplo 'GET'. El segundo argumento es un número que indica el desplazamiento de la posición de la cadena de caracteres en el paquete. La primera posición para medir el desplazamiento es CERO, por ejemplo si está buscando por el primer Byte en el paquete, el valor del desplazamiento debe ser 0. Si el valor del desplazamiento no es importante, utilice -1. El tercer argumento es MAYÚSCULAS/minúsculas y puede ser false (no sensible a MAYÚSCULAS/minúsculas) o true (sensible a MAYÚSCULAS/minúsculas). El segundo y el tercer argumento son opcionales, si se omiten, el desplazamiento por omisión es -1 y la sensibilidad a MAYÚSCULAS/minúsculas por omisión es false. Ejemplos de uso: str('GET',-1,false), str('GET',-1), str ('GET').

hex - Contenido del paquete. Utilice esta función para indicar que el paquete debe contener un cierto patrón hexadecimal. Esta función tiene dos argumentos: patrón hex y posición. El primer argumento es un valor hexadecimal, ejemplo 0x4500. El segundo argumento es un número indicando el desplazamiento del patrón en el paquete. El desplazamiento está basado en cero, ejemplo. Si usted está buscando por el primer byte de un paquete, el valor del desplazamiento debe ser 0. Si el desplazamiento no es importante, utilice -1. El segundo argumento es opcional; si es omitido, el valor del desplazamiento será -1. Ejemplo de uso: hex(0x04500, 14) , hex(0x4500, 0x0E), hex (0x010101).

bit – Contenido del paquete. Use esta función para determinar si el bit especificado en el desplazamiento especificado está fijado a 1. En este caso, la función da como resultado verdadero (true). Si el bit especificado está fijado a 0 o el byte especificado está más allá del límite del paquete, la función da como resultado falso (false). Esta función tiene dos argumentos índices de bit y posición de byte. El primer argumento es el índice de bit en el byte; Los valores permitidos son 0-7. El índice está basado en 0, por ejemplo si está buscando por el octavo bit en el byte, el valor de índice debe ser 7. El segundo argumento es un número que indica la posición del byte (desplazamiento) en el paquete. El desplazamiento está basado en cero, por ejemplo si está buscando el primer byte en el paquete, el valor del desplazamiento debe ser 0. Ambos argumentos son obligatorios, Ejemplos de Uso: bit(0, 14) , bit(5, 1).

Las palabras clave descriptas a continuación pueden ser utilizadas con los siguientes operadores:

and - Conjunción Booleana.
or - Disyunción Booleana.            
not - Negación Booleana.      
= - Igualdad aritmética.
!= - desigualdad aritmética.
<> - desigualdad aritmética.
> - Aritmética mayor-que.
< - Aritmética menor-que.
( ) - paréntesis, operador de control precedente de las reglas.

Todos los números pueden encontrarse en notación decimal o hexadecimal. Si usted desea utilizar notación hexadecimal, el número debe estar precedido de
0x, ejemplo usted puede utilizar tanto el 15 o el 0x0F.

Ejemplos

A continuación encontrará un número de ejemplos ilustrando las reglas de sintaxis. Cada regla esta seguida por nuestros comentarios acerca de lo que realiza cada regla. Las reglas son mostradas en rojo. Los comentarios están separados de la regla actual por dos barras.

·dir!=pass // Capturar solamente paquetes entrantes y salientes. Los paquetes pasantes que son enviados por otras computadoras en la LAN son ignorados.  
·(smac=00:00:21:0A:13:0E or smac=00:00:21:0A:13:0F) and etherproto=arp // Captura puertos ARP enviados por dos computadoras, 00:00:21:0A:13:0E y 00:00:21:0A:13:0F.  
·ipproto=udp and dport=137 // Captura paquetes UDP/IP enviados al Puerto número 137.  
·dport=25 and str('RCPT TO:', -1, true) // Captura paquetes TCP/IP o UDP/IP que contengan "'RCPT TO:" y donde el Puerto de destino es 25.  
·not (sport>110) // Captura todo excepto los paquetes donde el Puerto de origen es mayor a 110  
·(sip=192.168.0.3 and dip=192.168.0.15) or (sip=192.168.0.15 and dip=192.168.0.3) // Captura solamente los paquetes IP que están siendo enviados entre las maquinas, 192.168.0.3 y 192.168.0.15. Todos los demás paquetes serán descartados.  
·((sip from 192.168.0.3 to 192.168.0.7) and (dip = 192.168.1.0/28)) and (flag=PA) and (size in 200..600) // Capturar los paquetes TCP cuyo tamaño esté entre 200 y 600 bytes provenientes de las direcciones IP cuyo rango sea 192.168.0.3 - 192.168.0.7, cuya dirección IP de destino se encuentre en el segmento 192.168.0.1/255.255.255.240 , y cuando su indicador TCP es PSH ACK.    
·Hex(0x0203, 89) and (dir<>in)// Capturar los paquetes que contienen 0x0203 y el desplazamiento 89, donde la dirección del paquete no sea entrante.