3

How to get Computer Name and IP address by jquery or JS ?

9
  • The quick and simple answer is you can't get ip address by javascript or by jquery for security reason. Commented May 25, 2017 at 9:12
  • 1
    possible duplicate of stackoverflow.com/questions/922476/… Commented May 25, 2017 at 9:13
  • @AtaurRahmanMunna that's simply not accurate Commented May 25, 2017 at 9:15
  • 3
    Possible duplicate of How to get ip address using javascript or jQuery? Commented May 25, 2017 at 9:15
  • 1
    By using this, you can get only gateway ip, not the machine real ip. Again the original OP asked for computer name also. Commented May 25, 2017 at 9:34

7 Answers 7

3

I found this code snippet that actually worked for me

var RTCPeerConnection = /*window.RTCPeerConnection ||*/    
     window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
    
 if (RTCPeerConnection) (function () {    
     var rtc = new RTCPeerConnection({ iceServers: [] });
     if (1 || window.mozRTCPeerConnection) {          
         rtc.createDataChannel('', { reliable: false });    
     };

     rtc.onicecandidate = function (evt) {    
         if (evt.candidate)
             grepSDP("a=" + evt.candidate.candidate);
     };

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

     var addrs = Object.create(null);
     addrs["0.0.0.0"] = false;
     function updateDisplay(newAddr) {
         if (newAddr in addrs) return;
         else addrs[newAddr] = true;
         var displayAddrs = Object.keys(addrs).filter(function(k) {
             return addrs[k];
         });
         document.getElementById('list').textContent =
             displayAddrs.join(" or perhaps ") || "n/a";    
     }

     function grepSDP(sdp) {
         var hosts = [];
         sdp.split('\r\n').forEach(function (line) { 
             if (~line.indexOf("a=candidate")) {   
                 var parts = line.split(' '),   
                     addr = parts[4],
                     type = parts[7];
                 if (type === 'host') updateDisplay(addr);
             } else if (~line.indexOf("c=")) {      
                 var parts = line.split(' '),
                     addr = parts[2];
                 updateDisplay(addr);
             }
         });
     }
 })(); else

 {
     document.getElementById('list').innerHTML = "<code>ifconfig| grep inet | grep -v inet6 | cut -d\" \" -f2 | tail -n1</code>";
     document.getElementById('list').nextSibling.textContent = "In Chrome and Firefox your IP should display automatically, by the power of WebRTCskull.";
  }
<div id="list"></div>

And unlike other codes which mostly returns server IP address it return client ip address of machine.Refer this article https://www.c-sharpcorner.com/blogs/getting-client-ip-address-or-local-ip-address-in-javascript

Sign up to request clarification or add additional context in comments.

3 Comments

On my machine, it returns a random (version 4) uuid. If it returned the machine name, I would consider it a security flaw.
@georgeawg me too i think its someting related to security either our PC's are encrypted or some issue with the code
2023 checking in. On my Chrome this returns random uuids, different every time.
2

To get Computer Name and IP Address using JavaScript,

-- ComputerName

var network = new ActiveXObject('WScript.Network');
    // Show a pop up if it works
    alert(network.computerName);

-- IP Address

$.getJSON("http://jsonip.com/?callback=?", function (data) {
    console.log(data);
    alert(data.ip);
});

1 Comment

ActiveXObject is available only on IE browser.
1

You can get IP address by using simple ajax request as:-

let xhttp = new XMLHttpRequest();
xhttp.open("GET", "https://api.ipify.org/?format=json", true);
xhttp.send();
xhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        let ip = JSON.parse(this.responseText).ip;
    }
};

Comments

1

You can get an IP address by using a simple fetch request as:-

async function getIP(){
    let req = await fetch("https://peerip.glitch.me/");
    let data = await req.json();
    let IP = data.ip;
    return IP;
}

Comments

0

If you need these details client side, you could use third party service like https://www.ipify.org/ and make API call to get the details like IP.

For other details, use similar service/services.

But if you are looking this details server side, then it depends what programming language you have used, though on server side this information readily available in HTTP Headers.

Refer similar questions for server side details.

How to get the exact client browser name and version in Spring MVC?

Comments

0

for computer name

<script type="text/javascript">
    var network = new ActiveXObject('WScript.Network');
    alert(network.computerName);
</script>

2 Comments

How did you get ActiveXObject? Can you make a fiddle? also throw an error in console ActiveXObject is not defined.
ActiveXObject is available only on IE browser.
0

Browser, Operating System, Screen Colors, Screen Resolution, Flash version, and Java Support should all be detectable from JavaScript (and maybe a few more). However, computer name is not possible

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.