Sock_Raw recv(), recvfrom().....

Iniciado por soyloqbuskas, 4 Abril 2012, 05:16 AM

0 Miembros y 1 Visitante están viendo este tema.

soyloqbuskas

¡Buenas a todos!

Esto programando un sniffer y tengo un problema con estas funciones. Necesito una funcion del estilo de recv() pero que no necesite que el socket este conectado.

El sniffer en si mismo me funciona muy bien, pero cuando hago un MITM el sniffer no me captura datos pero el wireshark si. Y creo que el problema esta en el recv() que necesista que haya se ejecutado la funcion connect() para que recv() capture los datos.

Asi que mi pregunta es:¿Conoceis alguna funcion equivalente a recv() pero que no sea dependiente de la funcion connect()?

Gracias, un saludo.
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

BlackZeroX

.
Solo necesitas asociar el socket con bind... el connect (y si lo llegaste a pensar listen() tamien) esta(n) demás...

Dulces Lunas!¡.
The Dark Shadow is my passion.

Sagrini

Puedes sencillamente hacer un socket () y luego leer directamente con read () o recv (). Recv () no da problemas si el socket no está inicializado, no tienes que buscar otra solución.

soyloqbuskas

Buenas ya he probado lo que me dijeron....y me he dado cuenta de que tengo un problema mas grave que este....Resulta que solo me captura los paquetes que llegan a mi PC, los paquetes que mando yo desde mi PC no los captura......

¿Eso a que se debe?
¿Deberia tener 2 sockets abiertos, 1 para los paquetes de ida y otro para los paquetes de vuelta?

Un saludo.
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw