यदि आपका कनेक्शन NAT'ed है, तो क्या एक आउटबाउंड वेब अनुरोध किए बिना आपके बाहरी आईपी पते को देखना संभव है?
कोई भी OS (Windows, Linux, आदि) ठीक है।
यदि आपका कनेक्शन NAT'ed है, तो क्या एक आउटबाउंड वेब अनुरोध किए बिना आपके बाहरी आईपी पते को देखना संभव है?
कोई भी OS (Windows, Linux, आदि) ठीक है।
जवाबों:
यदि आपका कंप्यूटर NAT के पीछे है, तो आपके लिए अपने राउटर का बाहरी आईपी पता देखना संभव है, लेकिन आपको राउटर के लिए प्रशासनिक पहुंच की आवश्यकता है।
राउटर आपके बाहरी आईपी पते को जानता है, इसलिए इसके कॉन्फ़िगरेशन पृष्ठ तक पहुंचकर आप उस आईपी पते को पा सकते हैं। इस तरह से वेब ब्राउज़र को छोड़कर किसी विशेष टूल की आवश्यकता नहीं होती है।
अन्य प्रोटोकॉल जिसमें जानकारी प्राप्त करने के लिए एक उपकरण की आवश्यकता होती है:
जैसा कि user @dirkt द्वारा परीक्षण किया गया है, सभी विधियाँ केवल IPv4 के साथ काम करती हैं (संभवतः PCP को छोड़कर)।
WANIPConn1/GetExternalIPAddress
, और इसने सफलतापूर्वक सही पते को लौटाया है।
कुछ तरीके हैं जो कुछ NAT के साथ काम करते हैं लेकिन कुछ भी नहीं जो हर जगह काम करने की गारंटी है।
मेरा मानना है कि uPnP, NAT-PMP, और PCP (यूनिवर्सल प्लग एंड प्ले, NAT पोर्ट मैपिंग प्रोटोकॉल, और पोर्ट कंट्रोल प्रोटोकॉल) सभी के लिए एक अनिवार्य NAT गेटवे से पूछने के तरीके हैं कि जनता का पता क्या है, लेकिन सभी NATER इन प्रोटोकॉल का समर्थन नहीं करते हैं। कॉर्पोरेट या वाहक ग्रेड NAT समाधानों की तुलना में होम गेटवे राउटर में समर्थन अधिक आम है।
जब आप अपने आप को NAT के पीछे पाते हैं, तो यह देखने का एकमात्र निश्चित तरीका है कि सार्वजनिक IP पता क्या है जो आपके ट्रैफ़िक का अनुवाद कर रहा है, कुछ आउटगोइंग ट्रैफ़िक को कुछ सार्वजनिक होस्ट को भेजना है जो वापस रिपोर्ट करेगा, एक तरह से NAT अनुवाद नहीं करेगा, क्या पता है कि आपका ट्रैफ़िक कहां से आया है। एक वेब आधारित सेवा का उपयोग करना एक तरीका है, लेकिन आप इसे क्लाउड सर्वर इंस्टेंस में SSHing के द्वारा भी कह सकते हैं, और कह sshd
सकते हैं कि आपका SSH सत्र कहां से आ रहा है।
आप एक DNS अनुरोध का उपयोग कर सकते हैं, जो मुझे लगता है कि "वेब अनुरोध" की श्रेणी में नहीं आएगा:
nslookup myip.opendns.com resolver1.opendns.com
dig +short @8.8.8.8 o-o.myaddr.l.google.com txt | grep edns
। : मैं यहाँ आदेश पाया groups.google.com/d/msg/public-dns-discuss/uyzmMcHQBE0/...
nsslookup
आज्ञा मेरे लिए विफल है। मैं Server: resolver1.opendns.com
Address: 2620:119:35::35#53
** server can't find myip.opendns.com: NXDOMAIN
dig
तब से परहेज किया जब यह विंडोज पर नहीं है। myaddr
Google के बारे में अच्छी बात है , हालांकि मुझे इस बारे में जानकारी नहीं थी! मुझे लगता है कि विंडोज nslookup
समतुल्य होगाnslookup -type=txt o-o.myaddr.l.google.com ns3.google.com
nslookup
किस आईपी संस्करण को परिवहन के लिए उपयोग करने का निर्देश नहीं दे सकते हैं , लेकिन जिस तरह से OpenDNS करता है इसका मतलब है कि आपको करना होगा। इसके बिना आपको यह अनुमान लगाना nslookup
होगा कि कौन सा आईपी संस्करण परिवहन के लिए उपयोग करेगा और तदनुसार ए या एएएए मांगेगा। यदि आप अपने साथ फंसे हुए हैं nslookup
तो आप Google जैसे किसी अन्य प्रदाता का उपयोग कर सकते हैं। हालाँकि आपको अभी भी प्रतिक्रिया में केवल एक प्रोटोकॉल संस्करण मिलता है और आप इसे नहीं चुन सकते।
nslookup -type=txt o-o.myaddr.l.google.com ns3.google.com
और यह वास्तव में काम करता है। लेकिन अगर मेरे पास IPv4 और IPv6 दोनों हैं जो मुझे चुनने नहीं देंगे कि मुझे उनमें से कौन सा देखने को मिलेगा। सबसे अधिक संभावना है कि यह मुझे आईपीवी 6 पता दिखाएगा, और सबसे अधिक संभावना है कि मैं इसका उपयोग कर रहा हूं क्योंकि मैं एक नेट का आईपीवी 4 पता जानना चाहता हूं। इसके चारों ओर पाने के लिए किसी ऐसी सेवा का उपयोग करना होगा जिसका IPv4-only नाम और IPv6-only नाम है, जो NAT64 के मुद्दे को भी संबोधित करेगा।
मैं पहले से मौजूद उत्तरों में एक बिंदु जोड़ना चाहूंगा।
यह नेटवर्क जटिलता पर भी निर्भर करता है। यह संभव है कि आपका कंप्यूटर एक ऐसे नेटवर्क के भीतर स्थित हो, जिसमें कई बाहरी IP पते हों और राउटर कहीं-कहीं लाइन को कुछ मानदंडों के आधार पर इंटरनेट पर भेज देता है: उदाहरण के लिए, गंतव्य IP-पता, या दिन का समय (हो सकता है) एक अपलिंक चैनल रात में या अन्य कारणों से सस्ता है)।
तो, पूरा होने के लिए, "बाहरी आईपी पते" की धारणा को एक गंतव्य बिंदु को परिभाषित करने की आवश्यकता हो सकती है, जिसमें आपका पता बाहरी हो रहा है।
नीचे दिए गए उदाहरण में Router #2
NAT प्रदर्शन कर सकते हैं और या तो अपलिंक करने के लिए ट्रैफ़िक भेज सकते हैं और प्राप्त करने वाला होस्ट अलग-अलग बाहरी IP- पता देख सकता है Host
।
या यह हो सकता है कि एक निश्चित गंतव्य (उदाहरण के लिए host1.example.com
) हमेशा मार्गों के माध्यम से Uplink A
, और मेजबान host2.example.com
हमेशा मार्गों के माध्यम से Uplink B
। इसलिए, आपके बाहरी IP पते उन होस्ट द्वारा अलग-अलग होंगे, जो प्रदान करते हैं Uplink A
और Uplink B
अलग-अलग ISPs हैं।
Uplink A Uplink B
------------- -------------
| |
| |
| 192.168.1.1 192.168.50.50 |
| ----------- |
|---------------|Router #2|---------------|
-----------
| 192.168.100.1
|
| 192.168.100.2
-----------
|Router #1|
-----------
| 192.168.200.1
|
| 192.168.200.2
-----------
| Host |
-----------
तो, ट्रैफ़िक भेजने से अधिक विश्वसनीय परिणाम प्राप्त करने की अनुमति होगी।
आप HTTP के बजाय DNS का उपयोग कर सकते हैं। उदाहरण के लिए आप उपयोग कर सकते हैं:
dig +short TXT o-o.myaddr.l.google.com
यह आपके द्वारा उपयोग किए जा रहे DNS सर्वर का यूनिकस्ट पता दिखाएगा, और अगर यह EDNS का समर्थन करता है तो यह आपके आईपी पते को भी दिखाएगा, हालांकि संभवतः छंटनी की गई है।
अपना पूर्ण आईपी पता प्राप्त करने के लिए आप अपने स्थानीय DNS सर्वर को बायपास कर सकते हैं और उपरोक्त अनुरोध सीधे ns {1,2,3,4}। Com पर भेज सकते हैं।
dig +short TXT o-o.myaddr.l.google.com @ns3.google.com
यदि आप एक विशिष्ट प्रोटोकॉल संस्करण में अपने आईपी पते को देखना चाहते हैं जो आप उपयोग कर सकते हैं -6
और -4
:
dig -6 +short TXT o-o.myaddr.l.google.com @ns3.google.com
dig -4 +short TXT o-o.myaddr.l.google.com @ns3.google.com
यदि आप चाहें तो OpenDNS का उपयोग भी कर सकते हैं। OpenDNS इसके लिए TXT रिकॉर्ड का उपयोग नहीं करता, बल्कि A और AAAA रिकॉर्ड करता है, इसलिए आपको यह निर्दिष्ट करना होगा कि आप किस प्रोटोकॉल संस्करण की तलाश कर रहे हैं:
dig -6 +short AAAA myip.opendns.com @resolver2.opendns.com
dig -4 +short A myip.opendns.com @resolver2.opendns.com
ध्यान दें कि यदि आपका ट्रैफ़िक प्रोटोकॉल अनुवाद से जाता है तो आपको अलग-अलग परिणाम मिल सकते हैं या कोई भी नहीं। NAT64 के पीछे एक मशीन से परीक्षण करने पर मैं उपरोक्त आदेशों के साथ अपना IPv6 पता देख पा रहा था लेकिन NAT64 का IPv4 पता नहीं।
यह उत्तर इन स्रोतों 1 2 3 और मेरे स्वयं के थोड़े शोध पर आधारित है ।
वेब आमतौर पर HTTP को संदर्भित करता है, यदि यह आपके प्रश्न का अर्थ है, तो उदाहरण के लिए, आप STUN ( विकिपीडिया लेख ) का उपयोग कर सकते हैं जो "NAT के लिए सत्र त्रैमासिक उपयोगिताओं" के लिए है।
अब जैसा कि एक टिप्पणी में हाइलाइट किया गया है, आपके पास कई बाहरी आईपी हो सकते हैं। साथ ही जैसे वायरलेस कनेक्शन अधिक सामान्य हो रहे हैं (बात 4 जी), यह असंभव नहीं है कि आपके राउटर द्वारा रिपोर्ट किया गया आईपी पता सार्वजनिक नहीं होगा। मैंने कुछ देशों में ऑप्टिक फाइबर कनेक्शन पर भी इस परिदृश्य को पूरा किया है, जहां आईएसपी स्थानीय राउटर को एक निजी आईपी देगा, जो कि 1: 1 को अपने नेटवर्क से बाहर निकलते समय सार्वजनिक आईपी में अनुवादित किया जाएगा।
इसलिए यदि आपका प्रश्न है "क्या मैं अपने नेटवर्क से पैकेट भेजे बिना अपना सार्वजनिक आईपी पा सकता हूं", तो आप अपने संदर्भ में सही होंगे, लेकिन 100% प्रमाण समाधान नहीं है।