我只想创建一个 DNS 服务器来监听请求并始终返回相同的特定 ip。我正在使用Python......
最佳答案
查看 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()
关于python - 如何使用Python创建一个非常简单的DNS服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33531551/