0
我只想創建一個偵聽請求的DNS服務器,並且始終返回相同的特定IP。我正在使用Python ....如何使用Python創建一個非常簡單的DNS服務器?
我只想創建一個偵聽請求的DNS服務器,並且始終返回相同的特定IP。我正在使用Python ....如何使用Python創建一個非常簡單的DNS服務器?
看看dnslib模塊,具體來說,dnslib.server。
>>> class TestResolver:
... def resolve(self,request,handler):
... reply = request.reply()
... reply.add_answer(*RR.fromZone("abc.def. 60 A 1.2.3.4"))
... return reply
>>> resolver = TestResolver()
>>> server = DNSServer(resolver,port=8053,address="localhost",logger=logger,tcp=True)
>>> server.start_thread()
>>> a = q.send("localhost",8053,tcp=True)
Request: [...] (tcp)/'abc.def.' (A)
Reply: [...] (tcp)/'abc.def.' (A)/RRs: A
>>> print(DNSRecord.parse(a))
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ...
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;abc.def. IN A
;; ANSWER SECTION:
abc.def. 60 IN A 1.2.3.4
>>> server.stop()
嘗試dnslib模塊 – DorinPopescu