function getIPAdress(){ var interfaces = require('os').networkInterfaces(); for(var devName in interfaces){ var iface = interfaces[devName]; for(var i=0;i<iface.length;i++){ var alias = iface[i]; if(alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal){ return alias.address; } } } }
/** * Get IPv4 broadcast addresses for all interfaces * * @returns {Array<String>} * @memberof UdpServer */ getBroadcastAddresses() { const list = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.family === "IPv4") { list.push(ipaddr.IPv4.broadcastAddressFromCIDR(f.cidr).toString()); } } } return list; }
// --- NETWORK INTERFACES --- const getNetworkInterfaces = () =>{ const list = []; const ilist = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.internal) { ilist.push({ f,iface }); } else{ list.push({ f,iface }); } } } return list.length > 0 ? list : ilist; }
/** * Get list of local IPs * * @returns */ getIpList() { const list = []; const ilist = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.family === "IPv4") { if (f.internal) { ilist.push(f.address); break; } else { list.push(f.address); break; } } } } return list.length > 0 ? list : ilist; }
/** * Get all interface IPv4 addresses * * @returns {Array<String>} * @memberof UdpServer */ getInterfaceAddresses() { const list = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.family === "IPv4") { list.push(f.address); } } } return list; }
interfaces[name].filter(function (details) { var itemFamily = details.family.toLowerCase(); return itemFamily === family; })
Object.keys(interfaces).map(function (nic) { // // Note: name will only be `public` or `private` // when this is called. // var addresses = interfaces[nic].filter(function (details) { details.family = details.family.toLowerCase(); if (details.family !== family || Util.isLoopback(details.address)) { return false; } else if (!name) { return true; } return name === 'public' ? !Util.isPrivate(details.address) : Util.isPrivate(details.address); }); return addresses.length ? addresses[0].address : undefined; }).filter(Boolean)
function getPublicIP() { var interfaces = os.networkInterfaces(); if (Array.isArray(interfaces.en0) && interfaces.en0.length > 0) { var en0 = interfaces.en0; var ipv4Item = en0.find(function (i) { return i.family === 'IPv4'; }); if (ipv4Item) { return Promise.resolve(ipv4Item.address); } } return Promise.resolve(null); }
const getIps = () => { const ifaces = networkInterfaces(); return Object.keys(ifaces).reduce((results = [], ifname) => { const localResults = ifaces[ifname].filter((iface) => { return 'IPv4' === iface.family && !iface.internal; }).map((iface) => iface.address); return results.concat(localResults); }, []); }
export function getPublicIP(): Promise<string | null> { const interfaces = os.networkInterfaces() if (Array.isArray(interfaces.en0) && interfaces.en0.length > 0) { const { en0 } = interfaces const ipv4Item = en0.find((i) => i.family === 'IPv4') if (ipv4Item) { return Promise.resolve(ipv4Item.address) } } return Promise.resolve(null) }
function getLocalIP() { const interfaces = os.networkInterfaces(); const addresses = []; Object.keys(interfaces).forEach((netInterface) => { interfaces[netInterface].forEach((interfaceObject) => { if (interfaceObject.family === 'IPv4' && !interfaceObject.internal) { addresses.push(interfaceObject.address); } }); }); return addresses; }