DNS über proxy?
Ich habe mein Haar ziehen in den letzten Tagen auf der Suche rund um für eine gute Lösung, um zu verhindern, dass DNS-leaks über einen socks4/5 proxy.
Ist, habe ich mich in die SocksiPy(-Zweig) - Modul, und versucht, wickeln Sie eine Reihe von Dingen (das urllib,urllib2,dnstools), aber Sie scheinen alle noch Leck DNS-Anfragen. So hat pyCurl.
Ich weiß, dass proxychains/proxyresolv werfen kann DNS-Anfragen über einen socks4/5-proxy, und es tut allen, die die Magie mit einigen LD_PRELOAD Bibliotheken monkey-patch-socket-Funktionen, ähnlich wie SocksiPy tut, aber ich kann nicht scheinen, um herauszufinden, warum es nicht senden, die DNS entweder über einen socks4 oder socks5 proxy.
Ich nehme an, für linux habe ich möglicherweise in der Lage zu CTypes mit libproxychains.so zu tun, meiner Auflösung, aber ich bin auf der Suche nach etwas, das multi-Plattform, so denke ich, monkey-patching das socket-Modul ist der Weg zu gehen.
Hat jemand herausgefunden, eine gute Möglichkeit, dies zu umgehen? Ich will es tun alle in-code für die Portabilität Willen, und ich will nicht zu greifen, zu laufen, einen anderen proxy-server!
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nun habe ich es herausgefunden. Sie benötigen, um Ihr Standard-proxy-BEVOR Sie beginnen mit dem sockel (z.B. vor dem import etwas, das es verwendet.). Sie müssen auch monkeypatch die getaddrinfo Teil der Buchse, dann funktioniert alles einwandfrei.
Dieser Werke und leitet alle DNS-Anfragen durch beliebige Modul, das Sie importieren, statt das urllib. Hoffe es hilft jemandem da draußen!
BEARBEITEN: können Sie aktualisierte code und Zeug auf meiner blog