How to get Computer Name and IP address by jquery or JS ?
-
The quick and simple answer is you can't get ip address by javascript or by jquery for security reason. – Ataur Rahman Munna May 25 '17 at 09:12
-
1possible duplicate of https://stackoverflow.com/questions/922476/how-can-i-read-the-clients-machine-computer-name-from-the-browser – Sumit Surana May 25 '17 at 09:13
-
@AtaurRahmanMunna that's simply not accurate – Nick is tired May 25 '17 at 09:15
-
3Possible duplicate of [How to get ip address using javascript or jQuery?](https://stackoverflow.com/questions/19953328/how-to-get-ip-address-using-javascript-or-jquery) – Samir Selia May 25 '17 at 09:15
-
Then how can we do that? @NickA – Ataur Rahman Munna May 25 '17 at 09:28
-
@AtaurRahmanMunna `$.get("http://ipinfo.io", function(response) {alert(response.ip);}, "jsonp");` as said in the possible dup from Samir – Nick is tired May 25 '17 at 09:32
-
1By using this, you can get only `gateway` ip, not the machine real ip. Again the original OP asked for computer name also. – Ataur Rahman Munna May 25 '17 at 09:34
-
http://ipinfo.io is so misleading... you will not actual IP address – Ziggler Jul 16 '18 at 23:15
-
You can get that using jquery Just read the article https://www.c-sharpcorner.com/blogs/getting-client-ip-address-or-local-ip-address-in-javascript – Shubham Jan 22 '19 at 05:31
7 Answers
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
-
On my machine, it returns a random (version 4) [uuid](https://en.wikipedia.org/wiki/Universally_unique_identifier). If it returned the machine name, I would consider it a security flaw. – georgeawg Sep 10 '19 at 21:01
-
@georgeawg me too i think its someting related to security either our PC's are encrypted or some issue with the code – Ahmed amin shahin Oct 16 '21 at 15:16
-
2023 checking in. On my Chrome this returns random uuids, different every time. – Iain Mar 20 '23 at 02:52
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);
});

- 955
- 1
- 13
- 26
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;
}
};

- 1,037
- 11
- 11
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;
}

- 21
- 2
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?

- 5,429
- 3
- 28
- 41
for computer name
<script type="text/javascript">
var network = new ActiveXObject('WScript.Network');
alert(network.computerName);
</script>

- 1
- 1
- 16
- 31
-
How did you get `ActiveXObject`? Can you make a fiddle? also throw an error in console `ActiveXObject is not defined`. – Ataur Rahman Munna May 25 '17 at 10:01
-
2
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

- 48
- 1
- 1
- 11