C/Visual C - Sockets Linux

 
Vista:

Sockets Linux

Publicado por Albert (2 intervenciones) el 05/11/2008 01:05:08
Hola buenas, asi en resumen, quiero implementar un cliente dhcp en C para linux. Para ello debo hacer uso de la api de sockets disponible. El caso es que al tratarse de dhcp (q tiene el objetivo de configurar la interfaz para ip y demas), no se pueden usar sockets "normales". Nos han comentado que hay q hacer uso de packet sockets, pero no tengo muy claro que seria necesario para realizar un simple envio de un paquete cualquiera.

Buscando por los manuales y demas he visto que existe la estructura sockaddr_in que se puede usar en la funcion sendto() de envio de paquetes, pero no consigo que el paquete se envie.

Gracias por cualquier ayuda!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sockets Linux

Publicado por Tom (619 intervenciones) el 05/11/2008 12:36:41
Seguramente no necesitas sockets packet (considerados obsoletos), ni raw, con datagramas te sirve :

socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

Tienes un buen ejemplo en:

http://www.openwall.com/lists/owl-users/2004/02/04/5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sockets Linux

Publicado por Albert (2 intervenciones) el 07/11/2008 14:32:35
Gracias. Ya consegui enviar un paquete al menos, aunque no consigo formar bien las cabeceras IP, UDP y DHCP. Si era necesario usar packet sockets ya que los otros si no esta la interfaz IP configurada (objetivo del cliente DHCP a construir) no funcionan.

Gracias ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar