2011-10-07 15 views
12

जैसा कि आप जानते हैं कि का उपयोग कर रॉ सॉकेट बनाने में असमर्थ है, विंडोज सॉकेट प्रशासनिक निजीकरण के बिना। समस्या यह है कि मुझे आईसीएमपी संदेश भेजने की जरूरत है, इस प्रकार मुझे रॉ सॉकेट की जरूरत है। समस्या: मेरे प्रोग्राम को प्रशासनिक विशेषाधिकारों के बिना चलाने की जरूरत है।व्यवस्थापक विशेषाधिकारों के बिना पिंग क्यों काम करता है?

जो मुझे प्रश्न पर ले जाता है, पिंग टूल आईसीएमपी संदेशों को प्रशासनिक विशेषाधिकारों को कैसे भेजता है?

+0

अपने आवेदन के भीतर 'पिंग [होस्टनाम]' पर सिस्टम कॉल करने का प्रयास करें - मुझे नहीं लगता कि प्रशासनिक विशेषाधिकारों की आवश्यकता है। इसके अलावा, आपने क्या प्रयास किया है, और यदि यह असफल हो रहा है, तो त्रुटि संदेश क्या है? – jefflunt

+0

मुझे यकीन नहीं है कि यह व्यवस्थापक विशेषाधिकारों के बिना काम करता है। मैंने पहले पिंग को विस्टा में किसी भी तरह की "पहुंच से वंचित" त्रुटि संदेश के साथ वापस आ गया था। मेरा विन 7 नहीं है, लेकिन मेरे पास यूएसी बंद है, इसलिए मेरी वर्तमान स्थिति अटूट हो सकती है। –

+0

@ असामान्यता: मुझे पिंग की आवश्यकता नहीं है, मुझे कुछ अन्य आईसीएमपी संदेशों की आवश्यकता है। मैं क्यों जानना चाहता हूं कि कैसे पिंग आईसीएमपी w/o व्यवस्थापक अधिकार भेज सकता है ...;) – dom0

उत्तर

13

हालांकि आईसीएमपी रॉ सॉकेट का उपयोग करता है (जिसके लिए Win2K और बाद में व्यवस्थापक अधिकारों की आवश्यकता होती है), माइक्रोसॉफ्ट अपने आईसीएमपी एपीआई को पार करने की अनुमति देने के लिए अपने स्वयं के सुरक्षा नियमों को रोकता है। इस प्रकार, अपने स्वयं के आईसीएमपी पिंग संदेशों को भेजने के लिए सीधे रॉ सॉकेट का उपयोग न करें। IcmpSendEcho() और इसके बजाय संबंधित फ़ंक्शंस का उपयोग करें।

+0

धन्यवाद जो मुझे बहुत मदद करता है! – dom0

+0

@ रेमी लेबेउ किस इकाई या रैपर में 'IcmpSendEcho' लागू किया गया है? – user1580348

+0

@ user1580348: यदि आप [दस्तावेज़ीकरण पढ़ते हैं] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa366050.aspx), तो आप देखेंगे कि यह 'Icmp में एक निर्यात किया गया फ़ंक्शन है। डीएलएल '(विन 2 के) और' Iphlpapi.dll' (एक्सपी और बाद में)। –

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

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