मुझे पता है कि डीएनएस आमतौर पर ऑपरेटिंग सिस्टम द्वारा संभाला जाता है, लेकिन मैं इस धारणा के तहत काम कर रहा हूं कि लक्ष्य प्रणाली पर DNS टूट गया है (यह DNS गलत कॉन्फ़िगरेशन का निदान करने का एक उपकरण है)। इसलिए मुझे ज्ञात अच्छे DNS सर्वर के खिलाफ सिस्टम से वापस आने वाले परिणामों की जांच करने के लिए स्वयं को DNS लागू करने की आवश्यकता है।मुझे सी ++ DNS लाइब्रेरी कहां मिल सकती है?
आप एनएसएलूकअप या डिग टूल्स के साथ ऐसा कर सकते हैं, मैन्युअल रूप से एक DNS सर्वर पता निर्दिष्ट करते हैं, लेकिन ऐसा लगता है कि विंडोज एपीआई ऐसा करने के लिए कॉल करता है (उदाहरण के लिए GetAddressByName) मुझे क्वेरी करने के लिए सर्वर निर्दिष्ट करने की अनुमति न दें, और उपयोग करें सिस्टम के बजाय कॉन्फ़िगर किया गया लक्ष्य।
मैंने DNS पर आरएफसी की तलाश करने की कोशिश की, लेकिन दुर्भाग्यवश वे मेरे लिए मिट्टी के रूप में स्पष्ट हैं - वे HTTP spec को कभी भी सबसे स्पष्ट और सबसे अच्छी तरह से लिखे गए नमूने की तरह दिखते हैं।
मैं कुछ ऐसा नहीं करना चाहता हूं जो किसी और ने पहले से ही कई बार किया हो।
मुझे प्रश्न समझ में नहीं आता है। DNS को गलत कॉन्फ़िगर किया जा सकता है लेकिन यह वैकल्पिक API की आवश्यकता नहीं है।'gethostbyname()' और दोस्तों अभी भी आपको बताएंगे कि कॉन्फ़िगरेशन में * क्या है *। – EJP
@EJP: एआरएम, नहीं, gethostbyname केवल एक लुकअप करता है। अगर कॉन्फ़िगरेशन गलत है, तो यह बस विफल हो जाता है। आवश्यक DNS सर्वरों का उपयोग करने के लिए फ़ंक्शन को बताने के लिए कोई प्रोग्रामेटिक तरीका नहीं है। (DNS के लिए वैश्विक सेटिंग्स को बदलने के बिना, लेकिन मैं स्थानीय समस्या को हल करने के लिए वैश्विक स्थिति नहीं बदल रहा हूं) –