|
|
La función snif_for se encarga de capturar paquetes por la interfaz "dispositivo", que se ajusten a un filtro del tipo tcpdump que se le pasa como parámetro. Tras la captura llama a la función f_manejadora, que será la que se encargue de procesar el paquete, y que también recibirá el parámetro "otros_parametros". En caso de error se almacenará en errbuff.
- Parámetros:
-
| dispositivo: | debe de contener una cadena del tipo eth0, eth1, ethx que indique el dispositivo a escuchar |
| errbuff: | buffer donde almacenaremos un posible mensaje de error tiene que contener espacio suficiente. |
| fitro | Cadena que contendrá un un filtro en el formato libpcap. mas informacion en "man tcpdump". |
| f_manejadora: | Función que recibe cada paquete capturado para su tratamiento. NULL si no queremos hacer nada. |
| _time_out: | tiempo mínimo de bloqueo en espera de la llegada de un Paquete. Si es menor que 0 espera indefinidamente |
| otros_parametros | cualquier cosa que necesitemos. Se le pasan tal cual a la función manejadora. |
- Devuelve:
- -1 si ha habido un error. 0 si se ha capturado el paquete de forma correcta. -2 si se ha interrumpido el loop debido a que ha finalizado el tiempo máximo de espera.
|