2011-01-03 13 views
5

मैं यू का उपयोग कर लिनक्स पर विशिष्ट इंटरफ़ेस से यूडीपी पैकेट कैसे भेजूं? क्या मुझे बांधना चाहिए? क्या इंटरफ़ेस से आईपी पता नहीं होने पर यूडीपी भेजना संभव है?मैं लिनक्स पर एक विशिष्ट इंटरफेस से यूडीपी पैकेट कैसे भेजूं?

धन्यवाद।

उत्तर

3

आप SO_BINDTODEVICE सॉकेट विकल्प का उपयोग करके एक विशिष्ट इंटरफ़ेस करने के लिए एक सॉकेट बाध्य कर सकते हैं, लेकिन इस रूट विशेषाधिकारों की आवश्यकता है।

वैकल्पिक रूप से, आप की स्थापना IP_PKTINFO विकल्प सेट कर सकते हैं, और भेजने के लिए sendmsg उपयोग करते हैं, in_pktinfo के ipi_ifindex अपने इंटरफेस के सूचकांक करने के लिए।

+0

क्या आप नहीं जानते: क्या यह एक क्रॉसप्लेटफार्म तरीका है? जैसे क्या यह विंडोज़ पर इस तरह काम करेगा? –

+1

@ हाय-एंजेल: मैंने कोशिश नहीं की है, लेकिन स्पष्ट रूप से आप ['IPPROTO_IP'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms738586 (v = बनाम .85) .aspx) विंडोज पर 'IP_UNICAST_IF' सॉकेट विकल्प। यह विकल्प एक इंटरफेस इंडेक्स लेता है, और मौजूदा लिनक्स सिस्टम पर भी काम करना चाहिए (2012 में जोड़ा गया था और लिनक्स v3.4 में मौजूद है)। – Hasturkun

+0

हम्म, दिलचस्प ... मुझे जीएनयू/लिनक्स दस्तावेज़ों में विकल्प के बारे में कोई उल्लेख नहीं मिला, लेकिन [एक संक्षिप्त नोट] (http://kernelnewbies.org/Linux_3.4) पाया गया कि इसे वाइन प्रोजेक्ट में मदद के लिए जोड़ा गया था। मुझे उम्मीद है कि वाइन परियोजना इसके बारे में जागरूक है: डी –

7

बाइंड का उपयोग करें। आप एक इंटरफ़ेस के माध्यम से यूडीपी पैकेट नहीं भेज सकते हैं जिसमें आईपी पता नहीं है, क्योंकि यूडीपी इंटरनेट प्रोटोकॉल का उपयोग करता है और इंटरनेट प्रोटोकॉल को आईपी एड्रेस की आवश्यकता होती है।

+0

जब तक आप उन्हें कच्चे पैकेट के रूप में नहीं भेजते। – nategoose

+0

@nategoose वह धोखाधड़ी होगी। – Oswald

+1

बाइंड मदद नहीं करता है। यूडीपी पैकेट का स्रोत आईपी सही है (यानी यह इंटरफ़ेस का आईपी है जिसे मैं भेजने की कोशिश कर रहा हूं) लेकिन पैकेट स्वयं डिफ़ॉल्ट इंटरफ़ेस से चला जाता है। – jackhab

0

आपको सॉकेट विकल्प IP_MULTICAST_IF का उपयोग करने की आवश्यकता है।

यहाँ देखें: Multicast-HOWTO-6.html

+0

क्या यह केवल मल्टीकास्ट के लिए काम नहीं करेगा? (भी, एक पते की आवश्यकता प्रतीत होती है) – Hasturkun

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