विंडोज कमांड लाइन से मेरा बाहरी आईपी पता (NAT पर) कैसे प्राप्त करें? [डुप्लिकेट]


13

विंडोज "ipconfig" कमांड केवल मुझे मेरी मशीन से ईथरनेट इंटरफेस से पैरामीटर दिखा सकती है ( ipconfig /allतर्क के साथ भी )। यह इंटरफ़ेस के बारे में विस्तृत जानकारी दिखा सकता है, लेकिन यह मुझे NAT नेटवर्क पर अपना बाहरी आईपी पता कभी नहीं दिखाएगा ।

ipconfig / all - विंडोज स्क्रीनशॉट

हालांकि, कई वेबसाइटें हैं, जैसे "मेरा आईपी पता क्या है" जो मेरे बाहरी आईपी पते को प्राप्त और दिखा सकता है। तो मैं सोच रहा हूं, क्या यह मूल्य बाहरी रूप से प्राप्त करना संभव है? क्या मुझे उम्मीद करनी चाहिए कि मेरे स्थानीय मशीन पर कमांड लाइन से यह जानकारी प्राप्त करने का कोई तरीका है ...

मुझे एक एप्लिकेशन पर लॉग इन करने के लिए यह मान प्राप्त करने की आवश्यकता है जो मैं VBScript के साथ कर रहा हूं । क्या ऐसा करने का एक तरीका cmdविंडोज पर है?


ध्यान दें कि HTTP- आधारित- my-IP सेवाएं आपको एक प्रॉक्सी सर्वर का IP दे सकती हैं। (और इससे पहले कि कोई इंगित करे कि HTTPS परदे के पीछे मौजूद है, आप पारदर्शी रूप से HTTPS को प्रॉक्सी नहीं कर सकते हैं । यदि आपको एक मिल गया है, तो आप इसे जान जाएंगे।)
Billpg

जवाबों:


11

अब, प्रदान की गई साइट ओलिवर का उपयोग करके, इसे VBScript में किया जा सकता है।

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://ifconfig.me/ip", False
o.send
WScript.StdOut.Write o.responseText

PowerShell के लिए एक समान विधि है।


अच्छा लगा, काम हुआ। मैं इसे अपने कार्यक्रम में सम्मिलित करूंगा। यह मेरी समस्या का एक अच्छा समाधान है। धन्यवाद।
दिओगो

हम्म, यह इस स्क्रिप्ट के लिए लाइन 4, चरित्र 1 पर एक "चींटियों से इनकार" कर रहा है। यहां तक ​​कि इसे एक प्रशासक अधिकार कमांड लाइन से चला रहा है ... क्या आप जानते हैं कि क्यों?
दिओगो

@DiogoRocha मुझे पता नहीं क्यों। फ़ास्को का एक शायद अधिक विश्वसनीय है। यह भी संभव है कि आपके पास फ़ायरवॉल हो या कुछ अवरुद्ध इंटरनेट एक्सेस wscript/ cscript
बॉब

10

समस्या यह है, यह आपका आईपी पता नहीं है। यह आपके राउटर का आईपी एड्रेस है।

तो आप अपने राउटर के माध्यम से जाने के बिना इसे पुनः प्राप्त करने में कभी सक्षम नहीं होंगे। और सबसे आसान तरीका यह है कि राउटर को आपके लिए एक वेबसाइट पुनः प्राप्त करें (जैसा कि आपने पहले ही देखा है)। क्योंकि राउटर उस साइट को पुनः प्राप्त करने के लिए अपने आईपी पते का उपयोग करेगा।

कहा जा रहा है, आप ifconfig.me/ip का उपयोग करके अपने आप को आसान बना सकते हैं । अब, यदि आपके पास है curl, तो आप पहले से ही कर रहे हैं, यदि नहीं: विंडोज के लिए Wget / cURL वैकल्पिक मूल?


1
ifconfig.me/ip को लोड करने में लंबा समय लगा। whatismyip.org आपको एक समान सादा पाठ आईपी देता है और बहुत तेज था।
nhinkle

1
@ यानिंकल भले ही आपके स्थान पर निर्भर हो। वे दोनों मेरे लिए एक ही लोड समय के लिए दिखाई देते हैं, लेकिन ifconfig.me से पिंग प्रतिक्रिया समय आधा (139ms 250 ग्राम) है। संभवतः यह अधिक महत्वपूर्ण है कि सेवा यथासंभव लंबे समय तक रहती है, लेकिन हमारे पास वास्तव में जानने का कोई तरीका नहीं है।
बॉब

पोर्ट अग्रेषण नियमों और IPv4 पर विचार करते हुए मेरे राउटर के बाहरी आईपी अतिरिक्त के साथ कुछ भी गलत नहीं है।
mbx

5

अपने अवकाश पर चलने के लिए एक VB स्क्रिप्ट बनाएं।

इसे txt फ़ाइल में टाइप करें:

Option Explicit
Dim http : Set http = CreateObject( "MSXML2.ServerXmlHttp" )
http.Open "GET", "http://icanhazip.com", False
http.Send
Wscript.Echo http.responseText   'or do whatever you want with it
Set http = Nothing

Txt फ़ाइल बंद करें और इसे ip.vbs में बदल दें (इसे इस उदाहरण के लिए C: पर सहेजें)

खिड़कियों में एक डॉस विंडो खोलें (cmd चलाएं) ( हा! मुझे एहसास हुआ कि अगर आप स्वैप करते हैं कि यह रनिंग dmk हो जाता है !! )

सुनिश्चित करें कि आप c: / में हैं (यदि नहीं, तो c: टाइप करें और एंटर दबाएं, फिर cd .. और कुछ समय दर्ज करें जब तक आप देखें:>)

डॉस प्रॉम्प्ट प्रकार पर:

cscript ip.vbs

और आप तुरंत अपने बाहरी आईपी देखेंगे।

यदि आप vbs फ़ाइल को एक usb कुंजी या किसी चीज़ पर रखते हैं (और डॉस प्रॉम्प्ट पर cscript ip.vbs को याद रखना चाहते हैं - लेकिन सुनिश्चित करें कि आप ip.vbs फ़ाइल के समान निर्देशिका में हैं), तो आप इसे अपने साथ ले जा सकते हैं कहीं भी आप जाएं और अपने बाहरी आईपी को देखने के लिए किसी भी कंप्यूटर पर .vbs फ़ाइल चलाएं।

एक अन्य नोट, लाइन जिसमें icanhazip.com का पता है, उसे निम्न में से किसी में भी बदला जा सकता है:

http://myip.dnsomatic.com
http://whatismyip.org
http://icanhazip.com
http://www.whatismyip.com/automation/n09230945.asp
http://externip.com

संपादित करें, आप dos विंडो पर जाए बिना विंडोज़ में ip.vbs फ़ाइल भी चला सकते हैं और यह बस थोड़ी सी पॉप विंडो में दिखाई देगा।


icanhazip.com के पास यूरोप के केंद्र में ipconfig.me/ip से बेहतर प्रतिक्रिया समय है ।
मार्टिन ब्रॉन

4

जब मैं PowerShell समकक्ष की तलाश में इस साइट पर ठोकर खाई और मुझे लगा कि मैं इस आदेश को साझा करूंगा किसी और को देखना चाहिए:

Invoke-WebRequest ifconfig.me/ip

अधिक विवरण यहां उपलब्ध हैं, आपको उनकी आवश्यकता होनी चाहिए - http://jfrmilner.wordpress.com/2012/12/22/powershell-quick-tip-03-whats-my-external-ip-address-windows-command-line/


3

एक बाहरी आईपी पता प्राप्त करने के लिए, आपको नेटवर्क के बाहर कुछ पूछने की आवश्यकता है और यह रिपोर्ट करें कि आपका आईपी पता "ऐसा" प्रतीत होता है। यह एक ऐसे पृष्ठ की क्वेरी के द्वारा स्क्रिप्टिंग के माध्यम से किया जा सकता है जो परिणाम को पार्स करना आसान है और उस से आईपी पता प्राप्त करना आसान है, लेकिन विंडोज में कोई उपकरण नहीं बनाया गया है जिससे आप बस यह बता सकें कि आपका बाहरी आईपी पता क्या है। आपको स्वयं एक लिखने या एक खोजने और इसे डाउनलोड करने की आवश्यकता होगी।


2

अपने DHCP IP पते को एक डोमेन नाम निर्दिष्ट करने के लिए DynDNS जैसी किसी चीज़ का उपयोग करके , आप तब एक nslookup, या पिंग कर सकते हैं (यदि आपके राउटर को जवाब देने के लिए कॉन्फ़िगर किया गया है), तो आपका डोमेन नाम और उस से IP पता निकाल सकते हैं।

केवल अन्य विंडोज उपयोगिता है traceroute, लेकिन यह केवल आपके द्वारा कनेक्ट किए जाने वाले आउटबाउंड गेटवे को दिखाएगा, न कि आपके राउटर के आईपी पते को जो उस गेटवे से कनेक्ट हो।

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

wscript.echo WAN_IP()

function WAN_IP()
    set obj = createobject("Microsoft.XMLHTTP")
    call obj.open("get", "http://ifconfig.me/ip", false)
    obj.send()

    strresponse = obj.responsetext
    set obj = nothing

    if strresponse <> "" then
        strIP = strresponse
    else
        strIP = "Unavailable"
    end if

    WAN_IP = trim(strIP)

end function

1

यदि आपका राउटर यूनिवर्सल प्लग एंड प्ले (UPnP) का समर्थन करता है, तो आप इसे IP पता (es) क्वेरी कर सकते हैं।

विंडोज पर आप डब्ल्यूएमआई का उपयोग करके और WMIC टूल का उपयोग करके कमांड-लाइन से ऐसी जानकारी को क्वेरी कर सकते हैं।


2
क्या आप एक उदाहरण प्रदान कर सकते हैं? मुझे इसमें बहुत दिलचस्पी होगी।
डेर होकस्टापलर

1

जैसा कि दूसरों ने पहले ही कहा है, आपको एक बाहरी सेवा पर भरोसा करने की आवश्यकता है। मैं http://www.externalip.net की सलाह दूंगा

सादे पाठ प्रारूप में आईपी प्राप्त करने के लिए आप http://api.externalip.net/ip का उपयोग कर सकते हैं । यह तेज और विश्वसनीय साबित हुआ है, साथ ही इसका असीमित उपयोग है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.