2011-01-11 6 views
18

विकसित करें मैं अपने स्वयं के उद्देश्य के लिए एक बहुत ही बुनियादी DNS सर्वर विकसित कर रहा हूं। जिस तरह से मैं इसे समझता हूं, DNS सर्वर अनुरोधित डोमेन नाम वाले यूडीपी पैकेट प्राप्त करता है और संबंधित आईपी को किसी प्रकार के मानक रूप में देता है।एक मूल DNS सर्वर (सी # में)

यूडीपी पैकेट को/से द्विआधारी प्रारूप में पढ़ने/लिखने के लिए standard library है। लेकिन मैं DNS अनुरोध/प्रतिक्रियाओं को क्रमबद्ध/deserialising के लिए सी # पुस्तकालय कहां मिल सकता है?

उत्तर

17

ओपन सोर्स ARSoft.Tools.Net लाइब्रेरी में एक DNS सर्वर घटक है (documentation देखें)।

आप इस पुस्तकालय का सीधे उपयोग कर सकते हैं, या केवल अपने स्वयं के DNS अनुरोध serializer के निर्माण के लिए स्रोत को प्रारंभिक बिंदु के रूप में उपयोग कर सकते हैं।

+0

DNS सर्वर घटक से स्रोत कोड वास्तव में डीएनएस पैकेट पार्स कोड होता है। धन्यवाद! –

3

जहाँ तक मैं कह सकता हूं, मुझे सी # के लिए लाइब्रेरी नहीं मिल सका जो DNS पैकेट क्रमबद्धता/deserialization को संभालती है, जिसका अर्थ यह है कि आपको अपना खुद का रोल करना होगा।

संपादित करें: मैं Code Project पर इस नेटवर्क पैकेट स्निफ़र प्रोजेक्ट में आया हूं, जो आपको चाहिए। दावा टीसीपी/यूडीपी/डीएनएस

मैं जो general message format सहित DNS packet types का वर्णन पृष्ठों की एक बहुत व्यापक सेट है TCP/IP के लिए यह बहुत ही उपयोगी साइट मिला पार्स करने के लिए करने में सक्षम हो।

हालांकि previous SO question से कुछ अतिरिक्त सहायता हो सकती है।

3

यदि आप विकिपीडिया देखते हैं तो आपको डीएनएस प्रोटोकॉल के लिए सभी आरएफसी पर एक सूची मिलती है, मुझे लगता है कि आरएफसी नेटवर्क प्रोटोकॉल को लागू करने का सबसे अच्छा तरीका है!

अब डीएनएस प्रोटोकॉल के बजाय कई आरएफसी हैं इसलिए मुझे नहीं पता कि यह प्रोटोकॉल पर पढ़ने का सबसे अच्छा तरीका है, लेकिन आपको कम से कम सभी जानकारी मिलती है।

http://en.wikipedia.org/wiki/Domain_Name_System#Internet_standards

+1

मैंने एआरएसओफ्ट लाइब्रेरी की कोशिश करने से पहले खुद को आरएफसी सिफारिशों को लागू करने में पाया। अधिक विशेष रूप से, मैंने खंड 4.1.1 का उपयोग किया और निम्न के बाद: http://tools.ietf.org/html/rfc1035 –

संबंधित मुद्दे