nodejs获取本机内网和外网ip地址的实现代码
var os = require('os');
function getLocalIP() {
var map = [];
var ifaces = os.networkInterfaces();
console.log(ifaces);
for (var dev in ifaces) {
if (dev.indexOf('eth0') != -1) {
var tokens = dev.split(':');
var dev2 = null;
if (tokens.length == 2) {
dev2 = 'eth1:' + tokens[1];
} else if (tokens.length == 1) {
dev2 = 'eth1';
}
if (null == ifaces[dev2]) {
continue;
}
// 找到eth0和eth1分别的ip
var ip = null, ip2 = null;
ifaces[dev].forEach(function(details) {
if (details.family == 'IPv4') {
ip = details.address;
}
});
ifaces[dev2].forEach(function(details) {
if (details.family == 'IPv4') {
ip2 = details.address;
}
});
if (null == ip || null == ip2) {
continue;
}
// 将记录添加到map中去
if (ip.indexOf('10.') == 0 ||
ip.indexOf('172.') == 0 ||
ip.indexOf('192.') == 0) {
map.push({"intranet_ip" : ip, "internet_ip" : ip2});
} else {
map.push({"intranet_ip" : ip2, "internet_ip" : ip});
}
}
}
return map;
}
console.log(getLocalIP());
相关推荐
-
js获取IP地址的方法小结
1,js取得IP地址的方法一 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script type="text/<A class=infotextkey href="http://www.jb51.net/" target=_blank>javascript</A>"> document.write(retur
-
JSP 获取真实IP地址的代码
但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端.但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息.用以跟踪原有的客户端
-
JS获取IP、MAC和主机名的五种方法
今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本.下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,给出代码: 方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000): 获取客户端IP. 复制代码 代码如下: <HTML> <HEAD> <TITLE>G
-
js获取ip和地区
这个接口是搜狐的目前是可用的, 就是不知道以后会不会失效 效果图: 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>t1</title> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"
-
js获取客户端外网ip的简单实例
var wwip=""; $(function(){ $(document).ready( function() { $.getJSON( "http://smart-ip.net/geoip-json?callback=?", function(data){ alert( data.host); wwip=data.host; } ); }); }); 这个问题查了很多资料,都不可以,这个还好用. 例子,js获取本地与外网IP地址. <script lang
-
JS实现的验证身份证及获取地区功能示例
本文实例讲述了JS实现的验证身份证及获取地区功能.分享给大家供大家参考,具体如下: 这里的代码可以用来验证身份证号,并且根据身份证号来判断是哪个省份及性别 代码示例: <head > <title></title> <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> </head> <body
-
Jsoup获取全国地区数据属性值(省市县镇村)
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. 最近手头在做一些东西,需要一个全国各地的地域数据,从省市区到县镇乡街道的.各种度娘,各种谷歌,都没找到一个完整的数据.最后功夫不负有心人,总算找到一份相对来说比较完整的数据,但是这里的数据也只是精确到镇级别,没有村一级的数据(后来通过分析数据源我知道了为什么,呵呵),在加上博主提供的有些数据存在冗余,对于有
-
JavaScript获取客户端IP的方法(新方法)
很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: <script type="text/javascript" src="http://fw.qq.com/ipaddress"></script> 它可以返回用户IP和地点,比喻: var IPData = new Array("220.181.108.85","&q
-
JS获取客户端IP地址、MAC和主机名的7个方法汇总
今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本.下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,给出代码: 一.使用JS获取客户端IP的几个方法 方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000). 获取客户端IP代码: 复制代码 代码如下: <HTML> <HE
-
nodejs获取本机内网和外网ip地址的实现代码
实现代码: 复制代码 代码如下: var os = require('os');function getLocalIP() { var map = []; var ifaces = os.networkInterfaces(); console.log(ifaces); for (var dev in ifaces) { if (dev.indexOf('eth0') != -1) { var tokens = dev.split(':');
-
用shell脚本实现自动切换内网和外网实现高可用
首先说明下我们的配置文件,都是类似格式的,假如内网是192.168.0.3,外网是123.123.123.123,配置文件如下: $db['salver']['hostname'] = '192.168.0.3:3306';//$db['salver']['hostname'] = '123.123.123.123:3306'; 这个时候就是外网是注释的状态.走的是内网.说下思路,就是一个配置文件,复制出来2分放到别的地方,这两份一个里面设置的是内网,一个里面设置的是外网,如果内网不通的情况下,
-
Java 获取本机IP地址的实例代码
目录 前言 一.规则 二.获取 1.使用 2.工具类 前言 在Java中如何准确的获取到本机IP地址呢?网上大部分的做法是InetAddress.getLocalHost().getHostAddress().这的确能获取到本机IP地址,但是是不准确的.因为忽略了一个问题,网络环境是多变的,一台计算机不同的网卡有多个IP地址,Lan.WiFi.蓝牙.热点.虚拟机网卡等. 一.规则 127.xxx.xxx.xxx 属于 “loopback” 地址,即只能你自己的本机可见,就是本机地址,比较常见的有
-
asp.net 获取客户端浏览器访问的IP地址的实例代码
本文介绍了asp.net 获取客户端浏览器访问的IP地址的实例代码,分享给大家,自己也留个笔记 1.js方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <script src="http://pv.sohu.com/cityjson?ie=utf-8"></scr
-
Java获取电脑真实IP地址的示例代码
/** * @author yins * @date 2018年8月12日下午9:53:58 */ import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; /** * 获取本地真正的IP地址,即获得有线或者无线WiFi地址. * 过滤虚拟机.蓝
-
python获取linux和windows系统指定接口的IP地址的步骤及代码
实验目的: 用户输入网卡名称,通过函数返回对应的IPv4和IPv6地址. 实验代码: 步骤一: 由于window系统下网卡名称并不是真正的名字,而真正的ID在注册表SYSTEM\CurrentControlSet\Control\Network{4d36e972-e325-11ce-bfc1-08002be10318}目录下.所以需要通过如下代码,返回接口名称和唯一ID的对应关系. win_ifname.py: import netifaces as ni # import winreg as
-
网管成长历程——IP地址规划之分配篇2
4.代理服务器分配 NAT地址转换方式虽然好,但也有其自身的缺陷.简单地说,就是只能简单地进行IP地址转换,而无法实现文件缓存,从而降低了Internet访问流量,无法实现快速的Internet访问. 代理服务器与NAT的工作原理不太一样,它并不只是简单地做地址转换,而是代理网络内的计算机访问Internet,并把访问的结果返回给当初提出该请求的用户,同时,把访问的结果保存在缓存中.当网络用户发出下一Internet请求时,服务器将首先检查缓存中是否保存有该页面的内容,如果有,立即从缓存中调出并
-
网管成长历程——IP地址规划之分配篇1
在IP地址规划时,我们已经知道IP地址包括公网和专用(私有)两种类型,公网IP地址又称为可全局路由的IP地址,是在Internet中使用的IP地址,目前对企业来说主要是ISP提供的一个或几个C类地址:而专用(私有)IP地址则包括A.B和C类三种,另外就是Microsoft Windows的APIPA预留的(169.254.0.0 -- 169.254.255.255)网段地址:下面就和大家谈谈这些IP地址的在企业局域网的分配方式. 一.可全局路由(公网)的IP地址的分配方式 毫无疑问,Inter
-
安卓 获取手机IP地址的实现代码
1.获取手机IP地址的代码: public static String getLocalIpAddress(){ try{ for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enu
-
自动修改本机IP地址的bat代码
代码比较多,经过我们小编测试,在2008 r2上无法正常执行,其实bat设置ip就是几个命令,无外乎加了一些判断与获取原来网络配置的一些信息,代码越复杂越容易出问题 @echo off setlocal enabledelayedexpansion title 修改本机IP地址 by:小小沧海20130409 :init cls&echo --------------自动修改本机IP地址-------------- rem 系统版本,值可为Windows7或是WindowsXP,或是auto(表
随机推荐
- 浅析php中json_encode()和json_decode()
- jquery插件star-rating.js实现星级评分特效
- 详解JavaScript操作HTML DOM的基本方式
- js如何打印object对象
- win2003服务器asp.net权限设置问题及解决方法
- asp.net中javascript与后台c#交互
- Bootstrap CSS组件之导航条(navbar)
- mac系统下为 php 添加 pcntl 扩展
- python设计模式大全
- C++中基类和派生类之间的转换实例教程
- ERROR: Error in Log_event::read_log_event()
- centos7安装mysql并jdbc测试教程
- MySQL入门完全指南及Linux系统下基本的安装教程
- 基于laravel制作APP接口(API)
- Android 矢量室内地图开发实例
- node.js中的console.log方法使用说明
- php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
- word-wrap
- javascript onmouseout 解决办法
- layui前段框架日期控件使用方法详解