Pregunta

Quiero crear un socket para acceder a los paquetes IPv4 desde la capa de enlace de datos. De UNIX V1 programación de la red,

socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP))

1) Me estoy poniendo en práctica un cliente DHCP, es esta la forma correcta de hacerlo? (Medios sin acceder a la capa de enlace de datos, no puedo recibir respuesta del servidor DHCP) o hay alguna otra manera más fácil? también, ya que esta toma recibirá todos los paquetes IPv4 con destino a mi sistema, ¿cómo debería distinguir paquete de respuesta DHCP de otros paquetes?

2) por favor me sugieren una relación buena / tuorial para programación de la red con acceso a la capa de enlace de datos . En el libro anterior, no se detalla la descripción.

Este es mi código

¿Fue útil?

Solución

¿Es usted necesita las cabeceras de la capa de enlace también? Si es así, usted necesita utilizar SOCK_RAW-SOCK_DGRAM eliminará la capa de enlace de cabecera antes de dársela a su aplicación.

Puede identificar las peticiones DHCP por los puertos de origen y destino, ya que DHCP genera tráfico en los puertos UDP 67 y 68.

Otros consejos

¿Usted ha intentado buscar en las bibliotecas PCAP? Proporciona funciones de filtrado agradables sobre IP, puerto y otras cosas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top