DNS 질의는 작은 요청/응답을 빠르게 주고받기 때문에 UDP 53번 포트를 기본으로 사용합니다.
UDP 자체는 신뢰성을 보장하지 않으므로 타임아웃, 재시도, TCP fallback이 함께 필요합니다.
query = build_dns_query("example.com") sock.sendto(query, (dns, 53)) data, _ = sock.recvfrom(512)