2012-06-14 27 views
7

Possiedo un server Linux con una rete wireless ad hoc per i client a cui connettersi. Una volta connesso, desidero che gli utenti vengano sempre reindirizzati al proprio server Web, indipendentemente dall'URL in cui vengono digitati. La soluzione più ampia sarebbe quella di configurare un server DNS completo (con BIND o equivalente), ma sembra eccessivo. Tutto ciò di cui ho bisogno è un semplice programma che ascolterà qualsiasi richiesta DNS e risponderà sempre con lo stesso indirizzo IP.Server DNS molto semplice

Mi sono guardato intorno, ma non riuscivo a trovarne uno. Preferibilmente dovrebbe essere scritto in C o in Perl, in quanto non voglio davvero installare nessun altro linguaggio di scripting.

+1

ne dite di dnsmasq: http://serverfault.com/q/351108 –

+1

È possibile utilizzare dnsmasq (DNS + DHCP semplice) – dAm2K

+0

FWIW, utilizzando DNS per catturare clienti in punti di accesso wireless è ormai considerata cattiva pratica perché interferisce con la cache DNS. Decenti portali in cattività ora utilizzano invece l'intercettazione HTTP. – Alnitak

risposta

1

ho usato fakedns.py in retromarcia malware. Potrebbe essere troppo limitato per la tua situazione.

7

Suggerirei di utilizzare dnsmasq. È più completo di quello di cui hai assolutamente bisogno, ma è molto ben scritto, piccolo e facile da installare, e l'unica configurazione che dovresti dargli è --address='/#/1.2.3.4' per dirgli di rispondere a tutte le domande (che non corrispondono ad alcune altra regola) con l'indirizzo 1.2.3.4. dnsmasq è ben noto e gestito e probabilmente un server più robusto di Net :: DNS :: Nameserver.

2

Come ho risposto nell'altra domanda correlata, ho scritto un server DNS di base in C++ per un colloquio di lavoro con licenza BSD.

penso che il codice era abbastanza pulita, anche se non ho fatto i test di unità :-( ho provato con dig, e ci sono voluti circa una settimana protocollo di intesa DNS + attuazione + documentazione.

Se qualcuno vorrebbe estenderla, credo che non sarebbe molto difficile Perché credo che supportata solo query inverse, come quello è stato chiesto nell'esercizio

il codice potrebbe essere trovato qui:.. http://code.google.com/p/dns-server/

È stato migrato a : https://github.com/tomasorti/dns-server