इस लेख में, हम बताएंगे कि कैसे एक बैश स्क्रिप्ट में एक IPv4 और IPv6 पते के लिए एक होस्टनाम / डोमेन नाम को हल किया जाए। हालाँकि, स्क्रिप्ट बनाने की दिशा में आगे बढ़ने से पहले, आइए कुछ कमांड की समीक्षा करें जिनका उपयोग किसी आईपी पते पर होस्टनाम/डोमेन नाम को हल करने के लिए किया जा सकता है।
गुनगुनाहट
पिंग सबसे सरल और अंतर्निहित टूल है जो लगभग सभी ऑपरेटिंग सिस्टम पर उपलब्ध है। इसका उपयोग किसी नेटवर्क में किसी होस्ट की पहुंच योग्यता को सत्यापित करने के लिए किया जाता है। हालाँकि, हम इसका उपयोग किसी भी होस्टनाम/डोमेन नाम के विरुद्ध IP पता खोजने के लिए भी कर सकते हैं। लक्षित होस्टनाम/डोमेन नाम का IP पता खोजने के लिए निम्नलिखित सिंटैक्स का उपयोग करें:
$गुनगुनाहटलक्ष्य-मेजबान
न्सलुकअप
होस्टनाम को IP पते पर हल करने के लिए Nslookup का व्यापक रूप से उपयोग किया जाता है। IP लुकअप के लिए इस कमांड का उपयोग करने के लिए, निम्न सिंटैक्स का उपयोग करें:
$nslookup लक्ष्य-होस्ट
मेज़बान
एक अन्य कमांड-लाइन उपयोगिता होस्ट का उपयोग किसी भी होस्टनाम/डोमेन नाम के विरुद्ध आईपी पता खोजने के लिए किया जा सकता है। इस कमांड का उपयोग करने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें:
$मेजबान लक्ष्य मेजबान
आप
डिग एक अन्य उपयोगी कमांड लाइन टूल है जिसका उपयोग विभिन्न DNS संबंधित रिकॉर्ड को क्वेरी करने के लिए किया जाता है। इसका उपयोग किसी भी होस्टनाम/डोमेन नाम के विरुद्ध आईपी पता खोजने के लिए किया जा सकता है। किसी विशिष्ट होस्टनाम/डोमेन नाम के विरुद्ध IP पता खोजने के लिए निम्नलिखित तरीके से Dig कमांड का उपयोग करें।
$आपलक्ष्य-मेजबान +लघुकिसी IP पते पर होस्टनाम को हल करने के लिए स्क्रिप्ट को बैश करें
IP लुकअप के लिए बैश स्क्रिप्ट का उपयोग करने के लिए, नीचे दिए गए चरणों का पालन करें:
- किसी भी टेक्स्ट एडिटर का उपयोग करके बैश फाइल बनाएं। यहां मैं नैनो संपादक का उपयोग करके एक स्क्रिप्ट बनाऊंगा जिसका नाम है iplookup.sh .$सुडो नैनोscript.sh
- अपनी स्क्रिप्ट फ़ाइल में निम्न पंक्तियों को कॉपी-पेस्ट करें। ध्यान दें, यहाँ इस स्क्रिप्ट में, मैं IP लुकअप के लिए Google के सार्वजनिक DNS सर्वर को निर्दिष्ट कर रहा हूँ। आप अपने परिवेश के अनुसार कोई अन्य DNS सर्वर निर्दिष्ट कर सकते हैं।# DNS सर्वर निर्दिष्ट करें
डीएनएससर्वर='8.8.8.8'
# आईपी एड्रेस पाने के लिए फंक्शन
समारोहget_ipaddr{
आईपी पता=''
# IPv4 और IPv6 के लिए क्रमशः A और AAA रिकॉर्ड
# $1 पहले तर्क के लिए खड़ा है
अगर [ -एन '$ 1' ];फिर
होस्ट नाम='$ {1}'
अगर [ -साथ में 'क्वेरी_टाइप' ];फिर
query_type='प्रति'
होना
# DNS लुकअप ऑपरेशंस के लिए होस्ट कमांड का उपयोग करें
मेज़बान-टी ${query_type} ${होस्टनाम} &> /देव/शून्य$ {डीएनएससर्वर}
अगर [ '$?' -ईक्यू '0' ];फिर
# आईपी पता प्राप्त करें
आईपी पता='$(होस्ट-टी ${query_type} ${hostname} ${dnsserver}| awk '/has.*address/{print $NF; exit}')'
अन्यथा
बाहर जाएं 1
होना
अन्यथा
बाहर जाएं 2
होना
# प्रदर्शन आईपी
फेंक दिया $ip_address
}
होस्ट नाम='$ {1}'
के लियेजिज्ञासामें 'ए-आईपीवी4' 'एएएए-आईपीवी6';करना
query_type='$(प्रिंटफ $क्वेरी | कट-डी--एफ 1)'
आईपीवर्सन='$(प्रिंटफ $क्वेरी | कट-डी--एफ 2)'
पता='$(get_ipaddr ${hostname})'
अगर [ '$?' -ईक्यू '0' ];फिर
अगर [ -एन '${पता}' ];फिर
फेंक दिया 'NS${आईपीवर्सन}होस्टनाम का पता${होस्टनाम}है:$पता'
होना
अन्यथा
फेंक दिया 'एक त्रुटि पाई गई'
होना
किया हुआ - एक बार हो जाने के बाद, फ़ाइल को सहेजने और बाहर निकलने के लिए क्रमशः Ctrl+O और Ctrl+X का उपयोग करें।
- अब एक लक्षित होस्टनाम/डोमेन नाम के खिलाफ एक आईपी पता खोजने के लिए, निम्नलिखित सिंटैक्स का उपयोग करके स्क्रिप्ट चलाएँ:$./script.sh लक्ष्य-होस्ट
उदाहरण के लिए, google.com के आईपी पते को हल करने के लिए, आदेश होगा:
$./iplookup.sh google.comइसी तरह, yahoo.com के आईपी एड्रेस को हल करने के लिए कमांड होगी:
$./iplookup.sh yahoo.comइसके लिए वहां यही सब है! इस लेख में, हमने एक बैश स्क्रिप्ट का उपयोग करके होस्टनाम को IPv4 और IPv6 पते पर हल करना सीखा है। हमने कुछ अन्य कमांड-लाइन टूल भी सीखे जैसे कि पिंग, एनएसलुकअप, होस्ट और डिग जिनका उपयोग आईपी लुकअप करने के लिए किया जा सकता है।