Tôi biết DNS thường được xử lý bởi hệ điều hành, nhưng tôi đang làm việc với giả định rằng DNS đã bị hỏng trên hệ thống đích (đây là một công cụ để chẩn đoán cấu hình sai DNS). Vì vậy, tôi cần phải thực hiện DNS bản thân mình, để kiểm tra kết quả tôi nhận được từ hệ thống chống lại một máy chủ DNS tốt được biết đến. Bạn có thể thực hiện điều này bằng các công cụ NSLookup hoặc Dig, chỉ định địa chỉ máy chủ DNS theo cách thủ công, nhưng nó xuất hiện các lệnh gọi API Windows để thực hiện việc này (ví dụ: GetAddressByName) không cho phép tôi chỉ định máy chủ truy vấn và sử dụng thay vào đó, hãy nhắm mục tiêu được định cấu hình của hệ thống.Tôi có thể tìm thư viện DNS C++ ở đâu?
Tôi đã cố tìm kiếm RFC trên DNS, nhưng tiếc là chúng rõ ràng là bùn đối với tôi - chúng làm cho thông số HTTP trông giống như thông số rõ ràng nhất và được viết tốt nhất từng được sản xuất.
Tôi cũng không muốn phát minh lại điều gì đó mà người khác đã thực hiện nhiều lần trước đây.
Tôi không hiểu câu hỏi. DNS có thể bị định cấu hình sai nhưng đó không phải là lý do để cần một API thay thế.'gethostbyname()' và bạn bè sẽ vẫn cho bạn biết * là gì * trong cấu hình. – EJP
@EJP: Erm, no, gethostbyname chỉ thực hiện tra cứu. Nếu cấu hình sai, nó chỉ thất bại. Không có cách nào có lập trình để báo cho hàm sử dụng các máy chủ DNS cụ thể cần thiết. (Không thay đổi cài đặt chung cho DNS, nhưng tôi không thay đổi trạng thái toàn cục để giải quyết vấn đề cục bộ) –