मेरे पास सी में लिखा गया कोड है। मैं सी कोड जानकारी का उपयोग करना चाहता हूं जो रूटिंग तालिका में संग्रहीत है। क्या यह संभव है?क्या मैं सिस्टम() कमांड के बिना सी में रूटिंग टेबल को पढ़/लिख सकता हूं?
उत्तर
आप नेटलिंक सॉकेट खोल सकते हैं और रूट अपडेट संदेश भेज सकते हैं। ऐसा करने के तरीके के बारे में an article है।
एक बार जब मैंने गेट्रॉउट संदेश भेजा है, तो मुझे नहीं पता कि उत्तर में कौन सी संरचना होगी, कोई मदद? – JuliandotNut
आप यह देखने के लिए कि route
कमांड कैसे करता है, आप "स्ट्रेस रूट एड ..." भी चला सकते हैं।
मेरे सिस्टम पर, यह SIOCADDRT
के साथ उपयोग करता है। एक छोटी सी खोज कुछ sample code बदल जाती है।
विचित्र रूप से, मैंने पाया है कि सबसे अच्छा दस्तावेज IBM's AS400 man pages से है।
यदि आप केवल रूटिंग तालिका पढ़ना चाहते हैं, तो आप /proc/net/route
खोल और पढ़ सकते हैं। (फिर, strace
दिखाता है कि इस प्रकार route
कमांड करता है।) हेक्स संख्या मशीन-एंडियन रूप में 32-बिट आईपी पते हैं। cat /proc/net/route
आज़माएं।
यदि आप केवल रूटिंग तालिका से पूछना चाहते हैं, तो फ़ाइल /proc/net/route
फ़ाइल को पढ़ने का प्रयास करें। यह मेरे सिस्टम में काम करता है।
आपको लगता है कि 'मार्ग' कमांड क्या करता है यदि यह असंभव है? –
@Vlad शायद यह perl का उपयोग करता है :- डी – RedX