2011-10-22 21 views
12

मैं कच्चे सॉकेट और libcap का उपयोग करने पर थोड़ा उलझन में था। क्या, सरल दोनों में से कोई भी दोनों का उपयोग करने के फायदे बता सकता है। मैंने कुछ लिंक पढ़े, लेकिन, यह मुझे भ्रमित कर रहा है।क्या libpcap उनके नीचे कच्चे सॉकेट का उपयोग करता है?

उत्तर

1

"libpcap" और "कच्चे सॉकेट" अलग-अलग विषय हैं।

लिनपैप लिनक्स के लिए एक पैकेट कैप्चर लाइब्रेरी है जिसका प्रयोग नेटवर्क इंटरफ़ेस जैसे eth0 जैसे ट्रैफ़िक/पैकेट को कैप्चर करने के लिए किया जाता है।

विंडोज़ पर Winpcap लाइब्रेरी एक ही चीज़ करता है।

कच्चे सॉकेट ओएस द्वारा प्रदान किए गए सॉकेट एपीआई की एक विशेषता है जिसका उपयोग एप्लिकेशन द्वारा परिभाषित शीर्षकों के साथ पैकेट भेजने के लिए किया जा सकता है, न कि ओएस। तो कच्चे सॉकेट का उपयोग करके हम आईपी, टीसीपी हेडर निर्दिष्ट कर सकते हैं और पैकेट भेज सकते हैं।

हर समय लिनक्स पर कच्चे सॉकेट उपलब्ध हैं। विंडोज़ कच्चे सॉकेट पर केवल विंडोज एक्सपी और विंडोज एक्सपी (एसपी 1) में उपलब्ध थे।

विंडोज़ पर Winpcap लाइब्रेरी में मनमाने ढंग से सामग्री वाले पैकेट भेजने की सुविधा है, जिसका अर्थ है कि विंडोज पर Winpcap के साथ कच्ची सॉकेट कार्यक्षमता हासिल की जा सकती है।

10

libpcap विभिन्न ऑपरेटिंग सिस्टम पर विभिन्न तंत्र का उपयोग करता है। लिनक्स पर, यह पीएफ_PACKET कच्चे या पके हुए सॉकेट का उपयोग करता है, इस पर निर्भर करता है कि क्या यह इंटरफ़ेस और के लिए लिनक्स लिंक-लेयर प्रकार (ARPHRD_ मान) के बारे में जानता है या नहीं, चाहे उस लिंक-परत प्रकार के इंटरफेस उपयोगी लिंक-लेयर हेडर (पीपीपी इंटरफेस नहीं करते हैं, इसलिए आप नेटवर्क-लेयर प्रोटोकॉल पहचानकर्ता नहीं देख सकते हैं)। आईरिक्स पर, यह RAWPROTONNOOP प्रोटोकॉल के साथ PF_RAW सॉकेट का उपयोग करता है। अन्य प्रणालियों पर, यह कच्चे सॉकेट का उपयोग नहीं करता है।

कच्चे सॉकेट का उपयोग कई प्रयोजनों के लिए किया जा सकता है, जैसे लिंक-लेयर के बारे में चिंता किए बिना कच्चे आईपीवी 4 पैकेट भेजने और प्राप्त करना (यानी, वे नेटवर्क डिवाइस ड्राइवर के बजाय आईपी परत में प्लग करते हैं)। यदि आपको कच्ची लिंक परत तक पहुंच की आवश्यकता है, तो अधिकांश ओएस पर कच्चे सॉकेट उस समर्थन का समर्थन नहीं करते हैं (लिनक्स और आईरिक्स पिछले अनुच्छेद के अनुसार स्पष्ट अपवाद हैं), लेकिन libpcap करता है।

+0

विंडोज पर, यह डेटा कैप्चर करने के लिए निम्न-स्तरीय नेटवर्क ड्राइवर का उपयोग करता है। रॉ सॉकेट विंडोज के आधुनिक संस्करणों पर व्यवस्थापक उपयोगकर्ताओं तक ही सीमित हैं। –