Servidor DNS muy simple

Tengo un servidor Linux que tiene una red inalámbrica ad-hoc para que los clientes se conecten. Una vez conectados, quiero que los usuarios siempre sean redirigidos a su propio servidor web sin importar la URL que escriban. La gran solución sería configurar un servidor DNS completo (con BIND o equivalente) pero eso parece una exageración. Todo lo que necesito es un progtwig simple que escuchará cualquier solicitud de DNS y siempre responderá con la misma dirección IP.

Busqué a mi alrededor por uno, pero no pude encontrar uno. Preferiblemente se escribiría en C o Perl ya que realmente no quiero instalar ningún otro lenguaje de scripting.

Utilice Net :: DNS :: Nameserver y escriba su propio controlador de respuestas.

Para C, mira:

  • Cómo construir un servidor DNS simple personalizado en C / C ++
  • Crear un servidor de nombres DNS personalizado en C

Yo sugeriría usar dnsmasq . Es más completo de lo que realmente necesita, pero está muy bien escrito, es pequeño y fácil de instalar, y la única configuración que debería darle es --address='/#/1.2.3.4' para decirle para responder a todas las consultas (que no coincidan con alguna otra regla) con la dirección 1.2.3.4. dnsmasq es conocido y mantenido, y probablemente sea un servidor más robusto que Net :: DNS :: Nameserver.

He usado fakedns.py para revertir el malware. Puede ser demasiado limitado para su situación.

Como respondí en la otra pregunta relacionada, escribí un servidor DNS básico en C ++ para una entrevista de trabajo bajo la licencia BSD.

Creo que el código estaba bastante limpio, aunque no hice pruebas de unidad 🙁 Lo probé con excavación, y me llevó aproximadamente una semana entender el protocolo DNS + implementar + documentación.

Si alguien quisiera extenderlo, supongo que no sería muy difícil. Porque creo que solo admitía consultas inversas, como se solicitó en el ejercicio.

El código se puede encontrar aquí: http://code.google.com/p/dns-server/

Se migró a: https://github.com/tomasorti/dns-server