मैं अपना आंतरिक आईपी पता कैसे ढूंढूं?

मेरे पास उबंटू सर्वर 12.04 स्थापित है, इसलिए मेरे पास कोई जीयूआई नहीं है । जब मैं कमांड करता हूं इफ कॉन्फिग, मुझे अपना आंतरिक आईपी पता नहीं मिल रहा है । यह कहता है कि इनेट एडरर: 127.0.0.1 ।

यहाँ का उत्पादन है ifconfig -a:

eth0   link encap:Ethernet  HWaddr 00:06:4f:4a:66:f0    BROADCAST MULTICAST  MTU:1500  Metric:1    RX packets:0 errors:0 dropped:0 overruns:0 frame:0    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:1000    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)eth1   link encap:Ethernet  HWaddr 00:16:ec:05:c8:9c     BROADCAST MULTICAST  MTU:1500  Metric:1    RX packets:0 errors:0 dropped:0 overruns:0 frame:0    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:1000    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)lo     Link encap:Local Loopback    inet addr 127.0.0.1  Mask:255.0.0.0    inet6 addr:  ::1/128 Scope:Host    UP LOOPBACK RUNNING MTU:65536  Metric:1    RX packets:1800 errors:0 dropped:0 overruns:0 frame:0    Tx packets:1800 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:0    RX bytes:143896 (143.b KB)  TX bytes:143896 (143.8 KB)

यहां ईटीसी / नेटवर्क / इंटरफेस की सामग्री दी गई है:

# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet dhcp

अगर कोई मेरे लिए इसे संपादित कर सकता है, तो ईटीसी/नेटवर्क/इंटरफेस की सामग्री अलग-अलग लाइनों पर होनी चाहिए ।

मेजबान का उत्पादन askubuntu.com था:

;; connection timed out; no servers could be reached.

मैंने कुछ महीने पहले खुद के क्लाउड और वेबमिन की स्थापना की थी और बिना किसी समस्या के एक महीने तक उनका उपयोग कर रहा था । मुझे लगता है कि 2 महीने पहले एक दिन बिजली बंद हो गई थी और मैंने कल तक सर्वर को वापस चालू नहीं किया । मैंने ऐसा कुछ भी नहीं किया है जिससे इंटरनेट सेटअप प्रभावित हो, इसलिए मुझे यकीन नहीं है कि यह अब काम क्यों नहीं करता है । जहां तक मेरा नेटवर्क टोपोलॉजी जाता है, मेरे पास पीसी के लिए पीसीआई-ई नेटवर्क कार्ड है । ईथरनेट लाइन नेटवर्क कार्ड से स्विच तक जाती है, और फिर वहां से मॉडेम/राउटर तक जाती है ।

hostname -I

यह आपको बिना किसी अतिरिक्त जानकारी के सिर्फ आईपी एड्रेस देगा ।

ये आदेश आपको सभी नेटवर्क जानकारी बताएंगे

ip add

या

ifconfig -a

यदि आप कहते हैं कि यह केवल आपको 127.0.0.1 देता है तो दो विकल्प हैं:

  1. आपका नेटवर्क कार्ड संलग्न नहीं है या सिस्टम द्वारा मान्यता प्राप्त नहीं है

  2. आपका नेटवर्क डीएचसीपी सर्वर नहीं चल रहा है या कनेक्ट नहीं है

यह वही है जो मैं वर्तमान में सुझाता हूं:

ip route get 8.8.8.8 | awk '{print $NF; exit}'

उस आदेश का लाभ यह है कि आपको यह नहीं जानना है कि आप किस इंटरफ़ेस का उपयोग कर रहे हैं (एथ0? eth1? या शायद wlan0?), आपको लोकलहोस्ट पते, या डॉकर पते, या वीपीएन सुरंगों आदि को फ़िल्टर करने की आवश्यकता नहीं है । और आपको हमेशा मिलेगा आईपी पता जो वर्तमान में इंटरनेट कनेक्शन के लिए उपयोग किया जाता है उसी क्षण (महत्वपूर्ण जब आप ईथरनेट और वाईफाई दोनों से जुड़े हों या वीपीएन आदि के माध्यम से । ).

यह न केवल परीक्षण करेगा कि आपके पास कुछ इंटरफ़ेस पर एक सही आईपी कॉन्फ़िगर किया गया है (जैसे आउटपुट को पार्स करने के साथ ifconfig) लेकिन यह भी कि आपके पास रूटिंग टेबल को सही तरीके से उपयोग करने के लिए कॉन्फ़िगर किया गया है ।

मैंने उस विचार को पाया यह जवाबद्वारा Collin एंडरसन.

मैं में इसका इस्तेमाल internalip स्क्रिप्ट में मेरी स्क्रिप्ट संग्रह GitHub पर, जिसके साथ आप इंस्टॉल कर सकते हैं:

wget https://rawgit.com/rsp/scripts/master/internalipchmod a+x internalip

और के रूप में उपयोग करें:

internalip

या:

internalip TARGET

और आपको अपना आईपी पता मिल जाएगा जिसका उपयोग कनेक्ट करने के लिए किया जाएगा लक्ष्य आईपी पते के साथ. डिफ़ॉल्ट लक्ष्य है 8.8.8.8 कौन सा है गूगल सार्वजनिक DNS रिज़ॉल्वर और इंटरनेट के लिए एक अच्छा डिफ़ॉल्ट ।

लेकिन अगर आप इसे एक अलग आईपी के साथ चलाते हैं:

internalip 127.2.3.4

तब आपको मिलेगा:

127.0.0.1

क्योंकि वह आपका आईपी पता है जिसका उपयोग कनेक्ट करने के लिए किया जाएगा 127.2.3.4 के साथ लूपबैक इंटरफ़ेस पर । यह तब उपयोगी होता है जब आपका लक्ष्य लैन, वीपीएन या अन्य विशेष नेटवर्क पर होता है, इस स्थिति में इंटरनेट तक पहुंचने के लिए डिफ़ॉल्ट आईपी की तुलना में कनेक्शन के लिए कुछ अन्य आईपी का उपयोग किया जा सकता है ।

बाहरी आईपी

अपनी जांच करने के लिए बाहरी आईपी पता (वह जो इंटरनेट पर सर्वर देखते हैं जब आप उनसे कनेक्ट करते हैं - जो यहां वर्णित आंतरिक आईपी पते से भिन्न हो सकता है) देखें यह जवाब.

मुझे लगता है कि यह उल्लेखनीय है कि इफकॉन्फिग के साथ चल रहा है-एक विकल्प सभी इंटरफेस को प्रदर्शित करेगा या इंटरफ़ेस में आईपी नहीं है ।

अकेले इफकॉन्फिग चलाना, असाइन किए गए आईपी के साथ केवल इंटरफेस प्रदर्शित करेगा ।

यहां एक अच्छी चाल है जिसका उपयोग आप पर्ल का उपयोग करके केवल आईपी प्रदर्शित करने के लिए कर सकते हैं ।

# ifconfig | perl -nle'/dr:(\S+)/ && print $1'192.168.1.100127.0.0.1

आपका नेटवर्क कार्ड सिस्टम द्वारा पहचाना जाता है, यही कारण है कि यह एथ0 और एथ1 दिखा रहा है

यहां आपके इंटरफ़ेस को आईपी असाइन करने का एक त्वरित तरीका है, तदनुसार वैध आईपी/सबनेट का उपयोग करें ।

 ifconfig eth0 192.168.1.200/24 up 

फिर हमें एक डिफ़ॉल्ट मार्ग जोड़ने की आवश्यकता है

route add default gw 192.168.1.1

सबसे अच्छा,

यह कमांड एक डिवाइस के लिए सभी आईपी पते दिखाएगा:

dev=eth0ip addr show $dev | awk '/inet/ {print $2}' | cut -d/ -f1

यह आउटपुट की एक या दो लाइनों को प्रिंट करेगा । पहला आईनेट/आईपीवी 4 पता है और दूसरा आईनेट 6 / आईपीवी 6 है यदि आपका सिस्टम इसका समर्थन करने के लिए कॉन्फ़िगर किया गया है ।

मामले में, ifconfig कमांड ने आईपी पता प्रदर्शित नहीं किया, जीयूआई के माध्यम से उबंटू मशीन के आईपी पते का पता लगाने का एक बहुत ही सरल और आसान तरीका है । नीचे दिए गए चरणों का पालन करें:

क्लिक करें नेटवर्क आइकन अधिसूचना क्षेत्र में और क्लिक करें कनेक्शन की जानकारी.Network icon options

यह एक विंडो लाता है जिसमें आईपी पते सहित कुछ जानकारी होती है । IP address information

पहले से चुनने के लिए यहां बहुत सारे अच्छे उत्तर हैं, लेकिन मैंने सोचा कि मैं इंगित करूंगा facter जो आमतौर पर है, लेकिन सिस्टम के बारे में विभिन्न तथ्यों को इकट्ठा करने के लिए कठपुतली के साथ जरूरी नहीं है । फैक्टर का मुख्य लाभ यह है कि यह अच्छा साफ आउटपुट देता है जो आपको सभी हेरफेर से बचाता है grep, sed, awk, cut, perl, आदि । यह आपको यह बताने वाला नहीं है कि आप किस इंटरफ़ेस में रुचि रखते हैं, लेकिन यदि आप इसे जानते हैं, तो निम्नलिखित आपको अन्य क्रूफ्ट के बिना आईपी को साफ करने के लिए देता है:

facter ipaddress_eth0 

आईपी कमांड

यहाँ एक भिन्नता है ip addr रास्ता।

ip है -o विकल्प जो सभी जानकारी को सिंगल लाइन पर रखने की अनुमति देता है-यह टूल के साथ पार्सिंग के लिए उपयोगी है awk या perl. के साथ संयोजन में -4 विकल्प, हम केवल आईपीवी 4 पते देखेंगे। इस प्रकार, आउटपुट कुछ इस तरह होगा (नोट - डब्ल्यूएलएएन 7 को उस इंटरफ़ेस से बदलें जिसे आप जांचना चाहते हैं):

$ ip -4 -o addr show wlan73: wlan7    inet 192.168.0.78/24 brd 192.168.0.255 scope global dynamic wlan7\       valid_lft 85654sec preferred_lft 85654sec

जैसा कि आप देख सकते हैं, आउटपुट में आईपी पता 4 वां कॉलम/शब्द है । बाकी, है सरल पार्सिंग व्यायाम अपनी पसंद के उपकरण के माध्यम से । यहाँ, मैं अजगर का उपयोग कर रहा हूँ:

ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]" 

एक ही बात, केवल यहाँ स्ट्रिंग के साथ <<< और कमांड प्रतिस्थापन $()

python -c "import sys;print sys.stdin.readlines()[0].split()[3]"  <<< $(ip -4 -o addr show wlan7)

व्यक्तिगत रूप से, मैंने इसे अपने में एक अच्छे कार्य के रूप में सहेजा है ~/.bashrc इसलिए कम टाइपिंग की जाती है ।

wlan_ip() {    ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]" } 

पर्ल और रूबी का संस्करण थोड़ा छोटा है:

$ ip -4 -o addr show  wlan7 | perl -lane 'print $F[3]'                         192.168.0.78/24$ ip  -4 -o addr show wlan7 | ruby -n -e 'print $_.split()[3]'                 192.168.0.78/24

Wireshark

यदि आप नेटवर्क विश्लेषण टूल का उपयोग करने से परिचित हैं, तो आप शायद जानते हैं कि अपना आईपी पता प्राप्त करने के लिए, आपको केवल ब्राउज़र कैश साफ़ करना है, विशिष्ट इंटरफ़ेस पर वायरशार्क कैप्चर शुरू करना है, और एचटीटीपी की तलाश करना है GET पैकेट प्रेषित किया जा रहा है । गंतव्य कॉलम आपका आईपी पता दिखाएगा

ऊपर बहुत सारी अच्छी जानकारी है । मैं इसे इस तरह सरल रखता हूं:

# what your computer thinks its ip address isfunction iplocal() {  ip route get 8.8.8.8 | awk '{print $NF; exit}'    # 8.8.8.8 is google dns}# what the outside world thinks your ip address isfunction ipexternal() {  curl --silent http://checkip.amazonaws.com        # or:  http://ipinfo.io/ip}function ipinfo() {  echo "local    IP  =>  $(iplocal)"  echo "external IP  =>  $(ipexternal)"}

नमूना उपयोग:

> ipinfolocal    IP  =>  192.168.1.139external IP  =>  76.88.85.95

ifconfig | ग्रेप -जी "192.168.*.255 | / कट-डी ''- एफ 10 आपको आईपी प्राप्त कर सकता है, या बस’ होस्टनाम-आई | कट-डी ‘`- एफ 1’

अवतारपार्टो वे सार्वजनिक पहुंच का सामना करने वाले इंटरफेस के लिए हैं, यह सवाल आंतरिक नेटवर्क के बारे में है । …

जिज्ञासा से बाहर, /आदि/नेटवर्क/इंटरफेस में क्या है?

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

‘एलएस’ एक निर्देशिका में फ़ाइलों को सूचीबद्ध करेगा । ‘एलएस-एल’ एक विस्तृत सूची देगा । किसी विशेष निर्देशिका की सामग्री को सूचीबद्ध करने के लिए, एलएस-एल /आदि/नेटवर्क । एक निर्देशिका और सूची सामग्री सीडी /आदि/नेटवर्क में बदलने के लिए ;एलएस-एलआदि/नेटवर्क/इंटरफेस की सामग्री को पढ़ने के लिए (यह एक फाइल है) सुडो पिको /आदि/नेटवर्क/इंटरफेस । (पिको एक हल्का पाठ संपादक है - पढ़ने और बुनियादी संपादन के लिए अच्छा है, और`छठी ’ की तुलना में कम डराने वाला है । )