2009-07-17 20 views
40

मेरे कंप्यूटर राउटर/फ़ायरवॉल के पीछे बैठे हैं। मैं प्रोग्रामेटिक रूप से कैसे पता लगा सकता हूं कि मेरा बाहरी आईपी पता क्या है। मैं ad-hoc प्रश्नों के लिए http://www.whatsmyip.org/ का उपयोग कर सकता हूं, लेकिन TOS स्वचालित चेक के लिए अनुमति नहीं देता है।मैं कैसे पता लगा सकता हूं कि मेरा बाहरी आईपी पता क्या है?

कोई विचार?

+13

+1 में

$ curl 'https://api.ipify.org?format=json' 

परिणाम टीओएस सम्मान के लिए! – RichieHindle

+0

आप सर्वर आप पर काम कर रहे स्वामी नहीं हैं, तो आप यकीन है कि आप इस परियोजना में किसी भी वास्तविक प्रयास डालने से पहले नेटवर्क के बाहर मेजबान की पहुंच है बनाने के लिए चाहता हूँ। –

उत्तर

45

http://ipecho.net/plain, एक व्यावहारिक विकल्प होने के लिए के रूप में whatismyip.com अब उनके स्वचालित लिंक के लिए सदस्यता की आवश्यकता है प्रकट होता है। वे बहुत दयालु offering इस सेवा को मुफ्त में देखते हैं, इसलिए कृपया इसका दुरुपयोग न करें।

+2

इस बारे में अधिक जानकारी के लिए कि यह पसंदीदा तरीका क्यों है: http://www.whatismyip.com/automation – Justin

+0

व्हाइसिस्मिप अब इस सेवा के लिए शुल्क लेता है। आप http://www.whatismyip.com/membership-options/ – RyanfaeScotland

+0

http://www.ipveg.com पर और अधिक जानकारी प्राप्त कर सकते हैं http://www.ipveg.com को किसी भी प्रमाणीकरण या किसी भी सीमा की आवश्यकता नहीं है –

12

दुर्भाग्यवश ऐसा करने का कोई आसान तरीका नहीं है।

मैं www.whatsmyip.org जैसी साइट का उपयोग करता हूं और आउटपुट को पार्स करता हूं।

checkip.dyndns.com एक बहुत ही सरल HTML फ़ाइल जो इस तरह दिखता है रिटर्न:

<html> 
    <head> 
    <title>Current IP Check</title> 
    </head> 
    <body> 
    Current IP Address: 84.151.156.163 
    </body> 
</html> 

यह पार्स करने के लिए बहुत आसान होना चाहिए। इसके अलावा साइट लगभग दस वर्षों तक मौजूद है। आशा है कि यह थोड़ी देर के लिए होगा।

+0

दुर्भाग्य से, DynDns सेवा केवल जब आप उनकी सेवाओं (http://dyn.com/support/developers/checkip-tool/) का उपयोग कर रहे प्रयोग की जाने वाली है। –

+0

मैं इसका उपयोग करता हूं। यह कोड के सभी अतिरिक्त लाइनें ([से पहले: -After] filebuffer दूर करने के लिए कोड की एक पंक्ति है अजगर में सबसे अधिक भाषाओं में पार्स करने के लिए बहुत आसान है, जहां से पहले और पहले और बाद में वर्णों की संख्या रहे हैं, और स्थिरांक हैं के बाद ।) @IvanMesic, आपको इस साइट का उपयोग करने के लिए अपनी किसी भी सेवा का उपयोग करने की आवश्यकता नहीं है। – JFA

0

whatismyip.com या ipchicken.com पार्स करना बहुत आसान है।

यदि आपके पास वेबहोस्ट या वीपीएस है तो आप इसे भी निर्धारित कर सकते हैं, इसके डर के बिना आप बेकार छोड़कर नीचे जा रहे हैं।

11

आप modphp के साथ एक वेबसर्वर तक पहुँच है, तो आप रोल कर सकते हैं अपनी खुद की:

<?php print $_SERVER['REMOTE_ADDR']; ?> 

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

मैं वर्षों से अपने सर्वर पर एक का उपयोग कर रहा हूं।

स्पष्ट:

एक फ़ाइल को अपनी वेबसाइट में अपने public_html फ़ोल्डर में whatismyip.php बुलाया बनाएँ। इसे कुछ भी कहा जा सकता है और अपने वेबूट में कहीं भी हो सकता है।

ऊपर पंक्ति जोड़ें, और उसके बाद अपने सर्वर क्वेरी:

curl http://example.com/whatismyip.php 
उदाहरण के लिए

+0

मैंने इस तरह की एक स्क्रिप्ट को मेरे सर्वर साल पहले जोड़ा और यह बहुत उपयोगी है। बाकी सब कुछ विचित्र ओवरकिल है। – JAL

+1

लेकिन हम आलसी हैं, इसलिए हम SO पर कुछ जल्दी ढूंढ रहे हैं! – georgiecasey

1

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

मैं सही क्षेत्र लगेगा लेकिन हेडर प्रत्येक implmentation से भिन्न हो सकते हैं, के लिए देखो प्राप्त-दर और का पालन करें कि जब तक आप कुछ है कि तरह लग रहा है करने के लिए मिल भेजा द्वारा

संपादित करें: यह कैसे जवाब देता है आईपी ​​पता खोजने के लिए, प्रोग्रामिंग दृष्टिकोण

+3

यह एक बेहद अक्षम विचार है। –

+0

शायद अक्षम है लेकिन यदि आप लॉक डाउन वर्कस्टेशन पर हैं और बाहरी डिवाइस तक नहीं पहुंच सकते हैं तो आप इसका उपयोग कर सकते हैं। – Wayne

2

यदि राउटर आप पीछे हैं तो यूपीएनपी बोलते हैं तो आप अपने बाहरी आईपी के लिए राउटर से पूछने के लिए जो भी भाषा विकसित कर रहे हैं, उसके लिए आप हमेशा यूपीएनपी लाइब्रेरी का उपयोग कर सकते हैं।

6

दुर्भाग्यवश 2013 तक, सेवा के लिए whatismyip.com चार्ज।

http://www.icanhazip.com अभी भी मजबूत हो रहा है, 3 साल बाद। सिर्फ आईपी को टेक्स्ट के रूप में आउटपुट करता है, बिल्कुल कुछ और नहीं।

http://checkip.dyndns.org अभी भी काम करता है।

यदि आप यह सुनिश्चित करना चाहते हैं कि यह नीचे नहीं जायेगा, तो आप Google का भी उपयोग कर सकते हैं, लेकिन यह आपको अभी भी TOS उल्लंघनों के लिए अवरुद्ध कर सकता है।

https://www.google.ie/search?q=whats+is+my+ip

लेकिन फिर भी जब वे मुझे ब्लॉक, वे अभी भी मुझे त्रुटि संदेश में मेरे मुवक्किल आईपी पते बताओ।

1

मेरा डब्लूआरटी 54 जी राउटर मुझे स्थानीय राउटर एक्सेस फीचर (http (एस) प्रशासन इंटरफ़ेस) के माध्यम से बताता है, और मुझे लगता है कि कई अन्य उपकरणों के साथ ऐसा कुछ भी किया जा सकता है। इस मामले में, प्रवेश पृष्ठ IPv4 एड्रेस के ओक्टेट्स इस वाक्यांश युक्त चार लाइनों में देता है:

वर्ग = संख्या maxLength = 3 आकार = 3 मूल्य = 'मैं' name = 'wan_ipaddr_ एन' आईडी =

कहाँ मैं ऑक्टेट मान और एन है ओकटेट संख्या है 'एन wan_ipaddr_'। खोटा की यह बिट को हासिल करेगा और मेरे लिए यह पार्स करता है, cygwin के सौजन्य:

#! /usr/bin/env perl 
use strict; 
use warnings 'all'; 

my($account, $password) = @ARGV; 

open QUERY, 
    "curl --sslv3 --user '$account:$password' https://Linksys/ --silent |" 
    or die "Failed to connect to router"; 

my @ipaddr = ('x','x','x','x'); 

while(<QUERY>) { 
    $ipaddr[$2] = $1 if /value='(\d+)' name='wan_ipaddr_([0-3])/; 
} 
close QUERY; 
print join('.', @ipaddr); 

इसकी कोई गारंटी नहीं है कि इस रूटर फर्मवेयर के सभी संस्करणों के साथ काम करेंगे है।

यदि आपका राउटर इस इंटरफ़ेस के लिए http का उपयोग करने के लिए सेट है, तो --sslv3 कर्ल विकल्प ड्रॉप करें, और आप राउटर को संबोधित करने के लिए बिंदीदार दशमलव नोटेशन का उपयोग कर सकते हैं। ऊपर कर्ल विकल्पों के साथ https का उपयोग करने के लिए, मैं भी ऐसा किया:

  1. एक ब्राउज़र प्रयुक्त रूटर के स्व-हस्ताक्षरित प्रमाणपत्र (Linksys.crt के रूप में सहेजा) लाने के लिए।

    openssl x509 -in Linksys.crt -text >> /usr/ssl/certs/ca-bundle.crt 
    
  2. जोड़ा गया 'Linksys' मेरे होस्ट फ़ाइल से:

  3. यह मेरी सीए बंडल में जोड़ा गया (C: \ Windows \ System32 \ ड्राइवर \ मेरी Win8 बॉक्स पर आदि \ मेजबान), के लिए एक उपनाम के रूप राउटर का पता। यदि इस उपनाम के बजाय डॉट-दशमलव नोटेशन कर्ल को दिया जाता है, तो यह प्रमाणपत्र के नाम पर कनेक्शन को अस्वीकार करता है विषय नाम मेल नहीं खाता।

वैकल्पिक रूप से, आप प्रमाण पत्र सत्यापन को बाईपास करने के लिए केवल --insecure विकल्प का उपयोग कर सकते हैं, जो शायद परिस्थितियों में अधिक समझ में आता है।

2
curl ifconfig.me 

या

curl ifconfig.me/ip 

यदि आपके कर्ल स्थापित नहीं,

wget ifconfig.me/ip 2>/dev/null && cat ip 

आशा इस मदद करता है।

-1

सरल लेकिन इस उपयोग के लिए सुरुचिपूर्ण नहीं है। मैं कुछ सुरक्षा कैमरे और मेरे केबल प्रदाता स्थापित - वाइड ओपन पश्चिम या WOWWAY $ 10 एक स्थिर IP स्थापित करने के लिए एक महीने के लिए चाहते थे - एक DHCP आरक्षण के लिए जबरन वसूली ... इसलिए, मैं करने के लिए परिणाम ड्रॉप करने के लिए निम्न कोड के साथ एक VBS फ़ाइल बनाई ड्रॉपबॉक्स और Google ड्राइव ... किसी कारण से सिंक करने के लिए फ़ाइल को नए सिरे से हटाना होगा।

यह मेरे घर पर एक पीसी पर चलता है। मेरे पीसी बिजली कटौती को फिर से शुरू करने के लिए सेट कर दिया जाता है और एक काम हर दिन एक बार (ध्यान दें कि यदि आप, यह अक्सर चलाने साइट आपके अनुरोधों को अवरुद्ध कर देगा) इस चलाने के लिए निर्धारित किया गया है।

अब मैं सड़क पर मेरे आईपी पते हो और देख सकते हैं लोग मेरा सामान चोरी :-)

get_html "http://ipecho.net/plain", "C:\Users\joe\Google Drive\IP.html" 

get_html "http://ipecho.net/plain", "C:\Users\joe\Dropbox\IP.html" 



sub get_html (up_http, down_http) 

dim xmlhttp : set xmlhttp = createobject("msxml2.xmlhttp.3.0") 

xmlhttp.open "get", up_http, false 

xmlhttp.send 

dim fso : set fso = createobject ("scripting.filesystemobject") 

dim newfile : set newfile = fso.createtextfile(down_http, true) 

newfile.write (xmlhttp.responseText) 

newfile.close 

set newfile = nothing 
set xmlhttp = nothing 

end sub 
0

ifcfg.me

nslookup
टेलनेट
एफ़टीपी
और http के माध्यम से देखने की अनुमति देता है

आईपीवी 6

0 के साथ भी काम करता है
2

http://myexternalip.com इस तरह की जानकारी प्रदान करता है। करने के लिए आप बहुत सारे विकल्प है आपके आईपी पुनः प्राप्त:

  • http://myexternalip.com/ - ब्राउज़र + बहुत की है कि यह कैसे
  • http://myexternalip.com/raw उपयोग करने के लिए की उदाहरण के - एक शुद्ध पाठ जवाब, केवल आपके आईपी, कोई अन्य बकवास
  • http://myexternalip.com/json - json-पारसर्स के लिए तैयार एक resposnse, यह भी
  • प्रमुख jsonp का समर्थन करता है http://myexternalip.com - केवल एक सिर अनुरोध भेजने और जवाब पाने के
2

के बाद से इस सवाल का एक समय पहले कहा गया था, वहाँ अब एक स्वतंत्र रूप से उपलब्ध वेब विशेष रूप से डिजाइन आप प्रोग्राम आपके आईपी पते का पता लगाने देने के लिए सेवा है, ipify कहा जाता है।

{"ip": "1.2.3.4" /* your public IP */} 
संबंधित मुद्दे