【发布时间】:2018-12-28 14:04:38
【问题描述】:
我需要保持 dns 端口 53 繁忙/绑定到仅通过 TCP 或仅 UDP 的接口。有没有办法做到这一点?使用 socket lib python 或任何其他方式将不胜感激。
【问题讨论】:
-
这是否意味着将创建 2 个套接字,TCP 和 UDP,但一次只能接受一个连接?你可以使用
select.select来实现它。 -
嗨 Hagai,实际上一次只需要一个插座。它可以是 TCP 或 UDP,但接口的 53 端口应该绑定在一个传输协议上。
-
你能解释一下为什么吗?从技术上讲这不是问题,但 DNS 的 53 端口需要 TCP 和 UDP 在所有情况下都可靠地工作(尽管旧文档指出 TCP 仅用于区域传输,这是完全错误的)。
-
嗨帕特里克,是的,我同意(AXFR 和其他 DNS 东西使用 TCP),但我需要这些用于测试,它应该在哪里使用/监听任何左侧接口:Proto(TCP 或 UDP):53 .这就是为什么我想同时让他们的 TCP 或 UDP 忙(但不能同时使用其他服务或任何其他方式)。
标签: python sockets dns python-sockets