2015-01-28 6 views
5

पंजीकृत करने के लिए सेब साइट से सॉकेट फ़िल्टर हैंडल (sflt_filter.sf_handle) के मूल्य को कैसे प्राप्त करें I पैकेट निस्पंदन पंजीकरण के लिए सॉकेट-फ़िल्टर के लिए हैंडल कुंजी प्राप्त करने का प्रयास कर रहा हूं। मैंने इसे पहले ही टीसीपी पैकेट के लिए पंजीकृत कर लिया है, मैं इसे यूडीपी पैकेट के लिए पंजीकृत करना चाहता हूं। इस हैंडल कुंजी को अन्य अनुप्रयोगों से अद्वितीय होना चाहिए।पैकेट निस्पंदन

sflt_filter.sf_handle = 0xAACAF333; 

मैं के बारे में 2 साल पहले का उपयोग कर link (http://developer.apple.com/datatype/), लेकिन यह अलग लिंक करने के लिए अब रीडायरेक्ट होने से पहले ही प्राप्त किया है।

मैंने link पढ़ा है, यह कहता है कि निर्माता कोड को 10.6 और उससे ऊपर तक अनदेखा किया जाता है। लेकिन पैकेट-निस्पंदन के लिए kext को लागू करने के लिए हमें उस कोड को अद्वितीय होने की आवश्यकता है।

क्या कोई भी अद्वितीय कुंजी प्राप्त करने के बारे में जानता है? या अनन्य कुंजी प्राप्त करने की आवश्यकता नहीं है? या अब हैंडल का उपयोग करने के लिए उनका अलग तरीका है?

अग्रिम धन्यवाद।

उत्तर

1

मैं जानता हूँ कि प्रश्न बहुत पुरानी हो चुकी है, लेकिन मैं एक ही समस्या का सामना करना पड़ा है, और बस अगले एक के लिए जो भी करेंगे:

अब आप रजिस्टर और फिल्टर sys/kern_event से kev_vendor_code_find समारोह फोन करने के लिए अद्वितीय संभाल प्राप्त कर सकते हैं। एच, यूंट 32 चर के लिए बंडल आईडी और पॉइंटर गुजर रहा है।

उसके बाद, उपयोगकर्ता स्थान में आप SIOCGKEVVENDOR ioctl द्वारा इस हैंडल को प्राप्त कर सकते हैं, pendter को kev_vendor_code संरचना में vendor_string फ़ील्ड में उसी बंडल आईडी के साथ पास कर सकते हैं।

आपको इस हैंडल को "अनधिकृत" करने के लिए कुछ भी नहीं करना चाहिए (लेकिन आपको ड्राइवर में इस हैंडल के साथ फ़िल्टर को अनियंत्रित करना चाहिए :: रोकें))

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