Realizar un sniffer
Publicado por Juan Carlos (18 intervenciones) el 14/01/2006 20:46:38
Buenas de nuevo q tal? Ante todo Feliz Año a todos y esperemos q este año sea mejor q el anterior, en fin vamos a lo nuestro.
Estoy realizando una especie de Sniffer para rastrear los paquetes que se están emitiendo a través de mi red, para realizar unas estadísticas sobre las peticiones q se realizan..
Ya escucho los paquetes sin problemas y los guardo en un struct separando cada uno de los bytes dependiendo de lo que sea ( Version, Longitud,.......,IpOrigen,IPDestino,....).
Lo que no se hacer ahora mismo es una vez obtenidos dichos bytes y separados en sus respectivos trozos. ¿Como convierto dichos bytes a los datos que me interesan para poderlos leer?, es decir, El Protocolo que se esta utilizando que se encontraría en el byte decimo del paquete, como lo convierto para poder yo leer que tipo de protocolo es, y especialmente me interesa saber como convierto los bytes de la iporigen, destino a una dirección IP según el protocolo IP que seguimos (192.168.2.2 por ejemplo).
Espero que podais ayudarme gracias de nuevo.
Lo estoy haciendo mediante Sockets claro.
Estoy realizando una especie de Sniffer para rastrear los paquetes que se están emitiendo a través de mi red, para realizar unas estadísticas sobre las peticiones q se realizan..
Ya escucho los paquetes sin problemas y los guardo en un struct separando cada uno de los bytes dependiendo de lo que sea ( Version, Longitud,.......,IpOrigen,IPDestino,....).
Lo que no se hacer ahora mismo es una vez obtenidos dichos bytes y separados en sus respectivos trozos. ¿Como convierto dichos bytes a los datos que me interesan para poderlos leer?, es decir, El Protocolo que se esta utilizando que se encontraría en el byte decimo del paquete, como lo convierto para poder yo leer que tipo de protocolo es, y especialmente me interesa saber como convierto los bytes de la iporigen, destino a una dirección IP según el protocolo IP que seguimos (192.168.2.2 por ejemplo).
Espero que podais ayudarme gracias de nuevo.
Lo estoy haciendo mediante Sockets claro.
Valora esta pregunta


0