python - 如何使用Python创建一个非常简单的DNS服务器?

标签 python dns server

我只想创建一个 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/

相关文章:

python - 如何检查 AppEngine 上是否提供了 DataStore 索引?

windows - AI_FQDN 和 AI_CANONNAME 结果在 ADDRINFOW 结构中有什么区别?

c++ - 设置 AD 标志时获取 "The security ID structure is invalid"

java - 服务器重置后无法通过 firebase 接收消息

java - 从服务器向所有客户端发送消息

python - 通过名称从上下文获取值

python - 简单的基本 Python 比较

python - 在 Python 中定义 LibreOffice Calc 自定义函数

ubuntu - 告诉 LAN DNS 服务器计算机名称是什么

javascript - 用 Angular 2 CLI 表达