2010-01-26 7 views
5

मैं अपने LAN पर उपयोगकर्ताओं को नेटवर्क व्यवस्थापक (मुझे) के साथ "रजिस्टर" करने के लिए एक तरीका प्रदान करने का प्रयास कर रहा हूं, बिना किसी ए के) ए) मेरे कंप्यूटर पर एक पेज होस्ट करें b) केंद्रीय सर्वर पर एक स्क्रिप्ट होस्ट करें (क्योंकि यह है केवल एक राउटर, वास्तव में एक ठोस HTTP सर्वर नहीं) या सी) पहले दो में से किसी एक के लिए एक डायनामिक डोमेन के लिए साइन अप करें और स्थानीय आईपी के लिंक पर यूआरएल भेजने के भ्रम से बचें।ब्राउज़र में स्थानीय आईपी पता प्राप्त करने के गैर-सर्वर पक्ष विधि?

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

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

+0

पर मेरे लिए एक सिस्टम व्यवस्थापक सवाल की तरह लग रहा - serverfault.com – Oded

+0

के इस कदम यह जरूरत है जब तक केवल सिस्टम व्यवस्थापक है जावास्क्रिप्ट/iframes के लिए इसमें आता है। यकीन नहीं था कि वह उनका बैग था। लेकिन मैं इसे एक शॉट दूंगा। – Anthony

उत्तर

1

हां वास्तव में है। मुझे लगता है कि आप यहाँ करने के लिए कोशिश कर रहे हैं का एक उदाहरण है:

      <p><b>Internal (LAN) IP</b>: <span id="localip">Checking...</span> 
         <script> 
          function MyAddress(IP) 
           { document.getElementById("localip").innerHTML = IP; } 
         </script> 
         <applet code="MyAddress.class" MAYSCRIPT width=0 height=0> 
          Sorry You Need Java For This To Work 
         </applet> 

तो मैं आप सोच रहा हूँ: अगर आप उस पृष्ठ आप आंतरिक आईपी अनुभाग के लिए निम्न देखें पर स्रोत देखें http://www.whatsmyip.org/more/

कुछ विकल्प हैं, आप या तो उस साइट पर संकलित जावा एप्लेट की प्रति डाउनलोड कर सकते हैं, या अपना खुद का लिख ​​सकते हैं। यह कैसे काम करता है इसका सामान्य विचार, जावा एप्लेट्स स्थानीय आईपी को लोड करता है, और उसके बाद डीओएम में कॉल करता है और उस तत्व के सहज HTML को अपडेट करता है। (बीटीडब्ल्यू, मैं आपको एप्लेट चोरी करने के लिए नहीं कह रहा हूं, लेकिन यह एक सुझाव है यदि आप शैक्षणिक उद्देश्यों के लिए इसे आजमा सकते हैं)

आशा है कि इससे मदद मिलती है। मार्क

7

वीब्रेट के लिए धन्यवाद, जावास्क्रिप्ट से स्थानीय आईपी तक पहुंचना संभव है। हालांकि जावास्क्रिप्ट से स्थानीय IP तक पहुँचने में कोई गोपनीयता और सुरक्षा समस्या हो सकती है http://net.ipcalf.com/ (स्रोत)

(यह क्रोम में काम करता है)

:

पर एक नजर डालें।

और फिर सरल उदाहरण net.ipcalf.com

नीचे और jsfiddle

var RTCPeerConnection = window.webkitRTCPeerConnection || window.mozRTCPeerConnection; 

var configuration = { "iceServers": [] }; 
var pc; 
var localIP; 

if(RTCPeerConnection){ 

    pc = new RTCPeerConnection(configuration); 
    pc.onicecandidate = function (evt) { 
     if (evt.candidate) { 
      if (!localIP) { 
       localIP = getIpFromString( evt.candidate.candidate); 
       console.log(localIP); 
      } 
     } 
    }; 

    pc.createOffer(function (offerDesc) {; 
     pc.setLocalDescription(offerDesc);          
    }, function (e) { console.warn("offer failed", e); }); 

    function getIpFromString(a) 
    { 
     var r = a.match(/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/); 
     return r[0]; 
    } 

} else { 
//browser doesn't support webrtc 
} 
+1

यह गोपनीयता चिंता कैसे है? तथ्य यह है कि सार्वजनिक आईपी एबीसीडी और स्थानीय आईपी डी.ई.एफ.जी. में ऐसा कोई और तरीका है, फिर भी किसी अन्य आईडी की चीजें जो आप किसी उपयोगकर्ता की मशीन के बारे में जांच सकते हैं? या फिर यह है कि आप अपने सबनेट को जान सकते हैं और स्कैनिंग शुरू कर सकते हैं भले ही आप शायद पहले से ही उपयोगकर्ताओं के बहुमत के लिए जानते हैं कि यह 1 9 2.168.xy या 10.0.xy आदि है .. जहां x = 0 या 1. केवल कुछ उत्सुक है अगर मैं कुछ ' मैं लापता हूँ – gman

+0

@gman शायद मुझे "विशाल" शब्द को हटा देना चाहिए :) उस समय सवाल का जवाब दे रहा था कि मुझे कुछ चीजों के बारे में कुछ चिंताएं थीं: आप अलग-अलग ब्राउज़र का उपयोग कर अपने आप को छुपा नहीं सकते (दो ब्राउज़र एक ही स्थानीय होंगे आईपी) + अपने ब्राउज़र को फिंगरप्रिंट करने के लिए कुछ और बिट्स। सबनेट को बढ़ाने, राउटर तक पहुंचने, प्रिंटर अन्य स्थानीय उपकरणों और एक्सएसएस के माध्यम से कोड निष्पादित करना - यह सिर्फ एक और हमला वेक्टर है।शायद समय पर हमले के साथ कुछ मुद्दे भी। –

+0

धन्यवाद, आप मेरा दिन बचाओ! –

संबंधित मुद्दे