
सिस्टम-स्वतंत्र लाइब्रेरी जो उपयोगकर्ता-स्तरीय पैकेट कैप्चर और फ़िल्टरिंग के लिए है। यह विभिन्न प्लेटफ़ॉर्मों पर निम्न-स्तरीय नेटवर्क निगरानी, सुरक्षा विश्लेषण और डीबगिंग के लिए एक पोर्टेबल ढाँचा प्रदान करती है।
सुरक्षा संबंधी समस्या की रिपोर्ट करने के लिए कृपया [email protected] पर ईमेल भेजें।
बग और अन्य समस्याओं की रिपोर्ट करने, पैच योगदान करने, सुविधा का अनुरोध करने, सामान्य प्रतिक्रिया प्रदान करने आदि के लिए कृपया योगदान दिशानिर्देश देखें।
दस्तावेज़ीकरण निर्देशिका](doc/) में विशिष्ट ऑपरेटिंग सिस्टम और विकल्पों के बारे में README फ़ाइलें हैं।
अनाम Git इस प्रकार उपलब्ध है:
https://github.com/the-tcpdump-group/libpcap.git
यह निर्देशिका libpcap का स्रोत कोड शामिल करती है, जो उपयोगकर्ता स्तर पर पैकेट कैप्चर के लिए एक सिस्टम-स्वतंत्र इंटरफ़ेस है। libpcap निम्न-स्तरीय नेटवर्क निगरानी के लिए एक पोर्टेबल ढांचा प्रदान करता है। अनुप्रयोगों में नेटवर्क सांख्यिकी संग्रह, सुरक्षा निगरानी, नेटवर्क डिबगिंग आदि शामिल हैं। चूंकि लगभग हर सिस्टम विक्रेता पैकेट कैप्चर के लिए एक अलग इंटरफ़ेस प्रदान करता है, और चूंकि हमने कई उपकरण विकसित किए हैं जिन्हें इस कार्यक्षमता की आवश्यकता है, हमने इस सिस्टम-स्वतंत्र API को पोर्टिंग को आसान बनाने और प्रत्येक एप्लिकेशन में कई सिस्टम-निर्भर पैकेट कैप्चर मॉड्यूल की आवश्यकता को कम करने के लिए बनाया है।
formerly from Lawrence Berkeley National Laboratory
Network Research Group <[email protected]>
ftp://ftp.ee.lbl.gov/old/libpcap-0.4a7.tar.Z
कुछ प्लेटफ़ॉर्म के लिए README.{system} फ़ाइलें होती हैं जो उन प्लेटफ़ॉर्म पर पैकेट कैप्चर के लिए OS के इंटरफ़ेस से संबंधित मुद्दों पर चर्चा करती हैं, जैसे कि OS में उस इंटरफ़ेस के लिए समर्थन कैसे सक्षम करें, यदि यह डिफ़ॉल्ट रूप से निर्मित नहीं है।
libpcap इंटरफ़ेस BSD पैकेट फ़िल्टर में आर्किटेक्चर पर आधारित एक फ़िल्टरिंग तंत्र का समर्थन करता है। BPF को 1993 के विंटर Usenix पेपर ``The BSD Packet Filter: A New Architecture for User-level Packet Capture'' (संपीडित PostScript, gzip'd PostScript, PDF) में वर्णित किया गया है।
हालांकि अधिकांश पैकेट कैप्चर इंटरफ़ेस कर्नेल-में फ़िल्टरिंग का समर्थन करते हैं, libpcap केवल उन उपयोग मामलों के लिए कर्नेल-में फ़िल्टरिंग का उपयोग करता है जो BPF प्रोग्राम का समर्थन करते हैं, अर्थात्, BPF पैकेट कैप्चर इंटरफ़ेस, Linux पैकेट सॉकेट और GNU/Hurd इंटरफ़ेस।
अन्य सभी मामलों में libpcap प्रत्येक पैकेट को उपयोगकर्ता-स्थान में पढ़ता है और फ़िल्टर प्रोग्राम का उपयोग करके उसका मूल्यांकन करता है, जिससे अतिरिक्त ओवरहेड उत्पन्न होता है (विशेषकर चयनात्मक फ़िल्टर के लिए)। आदर्श रूप में, libpcap BPF फ़िल्टर को अंतर्निहित कर्नेल सबसिस्टम के साथ संगत फ़िल्टर प्रोग्राम में अनुवाद करेगा, लेकिन यह लागू नहीं किया गया है।
BPF NetBSD, FreeBSD, OpenBSD, DragonFly BSD, macOS, QNX और Solaris 11 में मानक है; एक पुराना, संशोधित और अप्रलेखित संस्करण AIX में मानक है।
Linux में कई BPF-आधारित सिस्टम हैं, और libpcap अभी तक किसी भी eBPF तंत्र का समर्थन नहीं करता है, हालांकि यह कई मेमोरी मैप्ड रिसीव तंत्र का समर्थन करता है। अधिक जानकारी के लिए Linux-विशिष्ट README देखें।
अब एक साझा लाइब्रेरी बनाने का नियम है, जो अन्य प्लेटफ़ॉर्म के अलावा Linux और *BSD पर काम करना चाहिए।
यह लाइब्रेरी का soname libpcap.so.1 पर सेट करता है; यह वही होना चाहिए, NOT libpcap.so.1.x या libpcap.so.1.x.y या ऐसा कुछ।
हम काफी समय से libpcap रिलीज़ के बीच बाइनरी संगतता बनाए रख रहे हैं; libpcap से जुड़े बाइनरी को libpcap की किसी विशेष रिलीज़ से बांधने का कोई कारण नहीं है।