获取本地的IP地址(内网)】的更多相关文章

方法一 public static String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr…
.net framework 下面可以用下面的代码获取到本地网络ip地址.netcore下面这个代码也依然可以用 System.Net.Dns.GetHostName() System.Net.Dns.GetHostEntry(hostName) But,偶然的一次线上日志查看,发现获取到的IP全都是127.0.0.1.虽然本地windows测试上面的代码好使,本地测试环境centos7也好使.就是线上部分机器有问题, 遂写了个demo程序放产线上跑了一下,发现GetHostEntry里面只有一…
问题描述 通过Azure的Resource Graph Explorer(https://portal.azure.cn/#blade/HubsExtension/ArgQueryBlade),可以查看到当前列表中的各种资源并导出CSV格式,以便日常的管理或生成Power BI等报表的源数据. 如查看虚拟机,MySQL,Redis,Application Gateway(应用程序网关),VNET(虚拟网络),公共IP等资源信息.只要找到这些资源的类型(type)后就可以写类SQL语句(Kusto…
private static String getHostIP(){ String tempIP = "127.0.0.1"; try { if(isIpv4(InetAddress.getLocalHost().getHostAddress())) tempIP = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e1) { // TODO Auto-generated catch…
@echo off & setlocal enabledelayedexpansionrem 如果系统中有route命令,优先采用方案1:for /f "tokens=3,4" %%a in ('route print^|find "0.0.0.0 0.0.0.0"') do ( set "gate=%%a" & set "ip=%%b")for /f "tokens=2" %%a in (…
package cn.itcast.net.p1.ip; import java.net.InetAddress;import java.net.UnknownHostException; public class IPDemo { /**  * @param args  * @throws UnknownHostException   */ public static void main(String[] args) throws UnknownHostException { //获取本地主机…
/// <summary> /// 获取本地IP地址信息 /// </summary> public static string GetAddressIP() { ///获取本地的IP地址 string AddressIP = string.Empty; foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList) { if (_IPAddress.AddressFamily.To…
一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { //http://iframe.ip138.com/ic.asp //infoUrl = new URL("http://city.ip138.com/city0.asp"); infoUrl = new URL("http://iframe.ip138.com/ic.asp&q…
前言 我们经常会有需求,希望能获取的到当前用户的IP地址,而IP又分为公网ip(也称外网)和私网IP(也称内网IP),IP地址是IP协议提供的一种统一的地址格式,每台设备都设定了一个唯一的IP地址”,从而确保了用户在连网的计算机上操作时,能够快速地从互联网中找到自己所需的对象. 外网IP和内网IP的区别 1,外网IP是全球唯一的IP地址,仅分配给某一台网络设备.内网IP是由路由器分配给每一台设备内部使用的IP地址: 2,外网IP任何一台设备都可以ping通.内网IP只有在同一环境的内部设备才能p…
1 public static void main(String[] args) { 2 try { 3 InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121 4 String hostAddress = address.getHostAddress());//192.168.0.121 5 InetAddress address1 = InetAddress.…
一.概述 习惯了Linux下的网络编程,在还没用智能机之前就一直想知道怎么得到手机的IP地址(玩智能机之前我是不搞手机应用的).好了,得知Android是基于Linux内核的,那么不就可以利用之前学的Linux下的网络编程方法来获取IP了吗?呵呵,其实这是比较底层的方法,在Android上,完全可以利用Java的API来实现,而且实现的代码非常简单.下面的实现只可以获取到本地IP(内网IP),不包括外网IP,想获得外网IP的话要用其他方法. 二.实现 新建工程GetIp,修改/res/layou…
tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255  172.16.0.0/12:172.16.0.0-172.31.255.255  192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制.        …
/// <summary> /// 获取客户端的IP地址 /// </summary> /// <returns></returns> public static string ClientIP() { string result = String.Empty; result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (result…
在没有网关或者反向代理软件情况下,java里获取客户端ip地址的方法是request.getRemoteAddr() 先解释下http协议和TCP协议: 网页默认是进行http连接了,http协议即超文本传送协议(Hypertext Transfer Protocol ),是工作TCP协议之上的协议 tcp连接需要三次握手,也就是调用底层的socket进行连接确认.而socket连接需要知道通信双方的ip地址和端口才可以进行数据的正确传输. 由上面可以知道request.getRemoteAdd…
服务端获取客户端请求IP地址,常见的包括:x-forwarded-for.client-ip等请求头,以及remote_addr参数. 一.remote_addr.x-forwarded-for.client-ip remote_addr:指的是当前直接请求的客户端IP地址,它存在于tcp请求体中,是http协议传输的时候自动添加,不受请求头header的控制.因此,当客户端与服务器之间不存在任何代理的时候,通过remote_addr获取客户端IP地址是最准确,也是最安全的. x-forward…
这两天遇到一个bug,折腾的够呛,已经上线的项目,出现了个人登录不上的情况,瞬间整个人都不好了,首先找问题,在本地和测试服务器上都没问题,打包发布到正式环境就出现问题了,刚开始我看不了日志,日志要找别人要,自己各种方法折腾,后来要到日志,看了半天,突然发现后台报错连接超时,这是什么鬼?本地.测试都没问题,正式环境报这个问题,幸好同事之前经历过同样的事情,我说连接超时,他有点印象,原来是Linux服务器不能二次通过外网访问自己,要换成内网IP,然后就解决了问题,困扰了一天半,有感之余学习下外网IP…
动态端口映射:   内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP.端口和本机IP.端口,NAT网关会把本机IP.端口替换成自己的公网IP.一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用.然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到 NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用.   动态端口映…
一般情况下可以使用以下代码获取到用户 IP 地址 echo 'User IP - '.$_SERVER['REMOTE_ADDR']; // 服务器在局域网的话,那么显示的则是内网IP .// 如果服务器在外网的话,那么访问的话获得的是外网的IP,无法获取内网IP. 但是有些用户会使用 Proxy 代理,在这种情况下可以通过以下代码获取到真实的 IP function getUserIpAddr(){ if(!empty($_SERVER['HTTP_CLIENT_IP'])){ //ip fr…
TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制. 提示:上述IP地址…
之前写了一个获取ip地址的方法,但是放网上一查显示此Ip地址是局域网ip地址,要是想获取请求端的真实公网ip地址怎么样了,看了一些别人的博客后发现,想要获取客户端的公网ip必须借助第三方. package com.jzproject.common.util; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger;import org.slf4j.LoggerFactory; import java.io.Buf…
我在本地开一个服务,然后通过 Frp 让小伙伴可以在外网访问我的 API 连接,但是直接通过 RemoteIp 拿到的是本地的地址.本文告诉小伙伴如何通过 Frp 可以拿到用户的真实 IP 地址 我写过dotnet core 通过 frp 发布自己的网站可以在本地运行自己的服务,然后在外网访问到 但是因为是通过本地的 frp 发给用户,也就是本地是 frp 访问,如使用下面代码获取用户的 IP 地址拿到的是本地的地址 _accessor.HttpContext.Connection.Remote…
我们真的能通过请求来获取用户真实的ip地址嘛? 答案是不能,如果能,肯定是我学的不够深入,欢迎交流指正. 那么写这篇文章的意义是什么?我们接着往下看. IP地址相当于电脑在网络上的身份证,但事实上IP地址却没有想象中那么简单,IP也分很多种,比如经常提到内网IP和外网IP. 外网ip和内网ip的区别是什么? 因为这个网络太复杂,讲解时牵扯到的东西太多,没法简单地描述,长篇大论对初学者是极不友好的:如果非要简单地讲解又必然会有遗漏,可能会对你以后产生误导. 我自己也对这个是比较模糊的,我就按照自己…
印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使用了这个笨办法. fn getIP_PCname = ( cc = (dotnetclass "System.Net.Dns") oo = cc.GetHostAddresses(cc.GetHostName()) to oo.count do ( getip = filterString…
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到,如果是后端真实服务器是nginx,那么继续往下看. 实例环境: 用户IP 120.22.11.11 CDN前端 61.22.22.22 CDN中转 121.207.33.33 公司NGINX前端代理 192.168.50.121(外网121.207.…
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.Inet…
用apache反向代理解决单外网ip对应内网多个web主机的问题 转载一个有独立外网IP,需内网服务器对外发布的例子,是应用apache虚拟主机的. 来源地址:http://www.itshantou.com/Servers/web/06/10/44219.html 几年前开始在学校的服务器上建网站,那时学校通过一台自制的路由器(用台双网卡的电脑安装linux系统)上网,这样通过linux中的iptables做nat上网,并同时做80口对内网web服务器的端口映射,这台路由的wan网卡可以得到一…
外网IP,内网IP的关系 在这三类地址中,绝大多数的IP地址都是公有地址,需要向国际互联网信息中心申请注册.但是在IPv4地址协议中预留了3个IP地址段,作为私有地址,供组织机构内部使用. 这三个地址段分别位于A.B.C三类地址内: A类地址:10.0.0.0--10.255.255.255 B类地址:172.16.0.0--172.31.255.255 C类地址:192.168.0.0--192.168.255.255 IP地址范围:1.0.0.1--255.255.255.254 虚拟机的网…
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢?另外,内行都知道,提到外网IP和内网IP就不得不提NAT路由转换这种东西,那这双是什么鬼?本文就来简单讲讲这些到底都是怎么回事.   另外,以下是与本文内相关知识点有关联的文章,可详细阅读之: <P2P 技术详解(一):NAT详解——详细原理.P2P简介> <P2P 技术详解(二):P2P…
首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下是不准的 网上一个比较普遍的说法是InetAddress.getLocalHost().getHostAddress()似乎很简单,但忽略了一个问题,即IP地址在现在的网络环境更加复杂了,比如有Lan,WIFI,蓝牙热点,虚拟机网卡...即存在很多的网络接口(network interfaces),…
搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么? 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢?另外,内行都知道,提到外网IP和内网IP就不得不提NAT路由转换这种东西,那这双是什么鬼?本文就来简单讲讲这些到底都是怎么回事. 2.每台电脑都必须要一个公网IP吗? 答案:不是. 我们都知道,IPv4中的IP地址的数量是有限的…