J'ai développé en java un soft qui fait relais DNS, ca ressemble bien à ce que tu veux. sauf que je stocke pas en local les entrées DNS, c'est juste pour tracer vers où IE va...
Je peux te filer des pistes pour ca (si tu sais développer un minimum) :
(tu mets ton IP locale dans les lignes de DNS de ta config IP)
tu écoutes en local sur le port 53, en UDP (DatagramSocket). quand tu recois un message, il s'agit d'une demande DNS. il te suffit de la transférer sur le port 53 (toujours UDP) du vrai DNS, tu attends la réponse, et tu la forwarde dans le tuyau d'où venait initialement la requete. De là tu peux ajouter un traitement qui récupère les infos des réponses, et qui met à jour une base de données, pour que la fois suivante tu puisse répondre directement.
Pour ce qui est d'analyser la requete DNS, et savoir sous quelle forme répondre, la RFC est la 1035 (par exemple à http://www.enseignement.polytechni [...] t/#rfc1035 ).
Voilà pour les infos.