2012-06-14 12 views
7

Ich habe einen Linux-Server verfügt über ein Ad-hoc-WLAN-Netzwerk für Clients zu verbinden. Sobald ich verbunden bin, möchte ich, dass Benutzer immer auf ihren eigenen Webserver umgeleitet werden, egal welche URL sie eingeben. Die große Lösung wäre, einen vollständigen DNS-Server einzurichten (mit BIND oder Äquivalent), aber das scheint übertrieben zu sein. Alles, was ich brauche, ist ein einfaches Programm, das auf jede DNS-Anfrage wartet und immer mit der gleichen IP-Adresse antwortet.Sehr einfacher DNS-Server

Ich sah mich nach einem, aber konnte nicht einen finden. Es wäre vorzugsweise in C oder Perl geschrieben, da ich eigentlich keine anderen Skriptsprachen installieren möchte.

+1

dnsmasq Wie wäre: http://serverfault.com/q/351108 –

+1

Sie dnsmasq (DNS + DHCP einfach) verwenden können – dAm2K

+0

FWIW, DNS verwendet jetzt schlechte Praxis Kunden bei WLAN-APs zu fangen betrachtet wird, weil es stört mit dem DNS-Cache. Anständige Captive-Portale verwenden jetzt stattdessen HTTP-Überwachung. – Alnitak

Antwort

1

I fakedns.py verwendet haben, wenn Malware rückgängig zu machen. Es kann für Ihre Situation zu begrenzt sein.

7

Ich würde vorschlagen, dnsmasq zu verwenden. Es ist voll ausgestatteter, als Sie unbedingt benötigen, aber es ist sehr gut geschrieben, klein und einfach zu installieren, und die einzige Konfiguration, die Sie benötigen, ist --address='/#/1.2.3.4', um es zu sagen, alle Fragen zu beantworten (die nicht übereinstimmen einige andere Regel) mit der Adresse 1.2.3.4. dnsmasq ist bekannt und gepflegt und wahrscheinlich ein robuster Server als Net :: DNS :: Nameserver.

2

Wie ich in der anderen verwandten Frage beantwortet habe, schrieb ich einen grundlegenden DNS-Server in C++ für ein Vorstellungsgespräch unter BSD-Lizenz.

Ich denke, der Code ziemlich sauber war, obwohl ich nicht Unit-Tests :-( gemacht habe ich es getestet mit dig, und es dauerte etwa eine Woche Verständnis DNS-Protokoll + Dokumentation + implementiert.

Wenn jemand möchte sie verlängern, ich denke, es ist nicht sehr schwierig sein würde, Weil ich denke, dass es nur inverse Abfragen unterstützt, wie bei der Übung gefragt wurde

der Code finden sie hier könnten:.. http://code.google.com/p/dns-server/

Es wurde nach migriert https://github.com/tomasorti/dns-server