精华内容
下载资源
问答
  • springboot 获取访问接口的请求的IP地址 https://blog.csdn.net/qq_35387940/article/details/84391784 问题: 无法获取到真实IP地址 获取出来全是 192.xxx.xxx.xxx 开头 或者 172.xxx.xxx.xxx开头 解决方案: ...

    工具类:

    springboot 获取访问接口的请求的IP地址

    https://blog.csdn.net/qq_35387940/article/details/84391784


    问题:

    无法获取到真实IP地址 


     获取出来全是  192.xxx.xxx.xxx 开头 或者  172.xxx.xxx.xxx 开头 

    解决方案:

    nginx代理需要做一些配置(如果是微服务,直接在网关服务的nginx做配置即可)

    #得到请求真实IP

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;

    proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect default;

    展开全文
  • 网关地址和网关IP是什么

    万次阅读 多人点赞 2019-09-03 13:48:19
    一、什么是IP?: 1、IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机...

    一、什么是IP?:

    1、IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。
    2、IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。
    3、IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。

    二、什么是网关

    1、网关实质上是一个网络通向其它网络地IP地址。
    2、比方有网络A和网络B,网络A地IP地址范围为“192.168.1.1192.168.1.254”,子网掩码为255.255.255.0;网络B地IP地址范围为“192.168.2.1192.168.2.254”,子网掩码为255.255.255.0。在没有路由器地状况下,两个网络之间是不能进行TCP/IP通讯地,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会依据子网掩码(255.255.255.0)断定两个网络中地主机处在不同地网络里。而要完成这两个网络之间地通讯,则必需通过网关。假如网络A中地主机发觉数据包地目地主机不在本地网络中,就把数据包转发给它自己地网关,再由网关转发给网络B地网关,网络B地网关再转发给网络B地某个主机。网络B向网络A转发数据包地进程也是如此。
    3、一个用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址。配置默认网关可以在 IP 路由表中创建一个默认路径。 一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。

    总结:

    电脑或者设备需要制定一个ip地址,电脑是通过这样ip地址才能让网络识别到。网关就是这个ip地址的上网的出口,有这个网关地址,设定ip的电脑才可以连接到互联网上面。

    举例说明:

    在这里插入图片描述
    在这里插入图片描述

    本文转载自:https://blog.csdn.net/greenjolly/article/details/80965186

    展开全文
  • java 获取同一个网关下不同客户端的ip,得到的客户端的ip都是网关的,得不到客户端的实际ip,如何处理?网络部署如图所示: [img]...
    java 获取同一个网关下不同客户端的ip,得到的客户端的ip都是网关的,得不到客户端的实际ip,如何处理?网络部署如图所示:
    

    [img]http://dl2.iteye.com/upload/attachment/0124/0845/5869167d-cc70-375c-8a67-6a1d37efef87.png[/img]

    [color=red][b]请问,没什么方法能正确获取到客户端的真实ip了嘛?[/b][/color]


    局域网 访问外网 都需要经过你的网关!所以你服务器上获取的IP 都一样!


    公司内网访问服务器时,服务器上request.getRemoteAddr只获取到公司的网关的ip,我要得到公司内网中不同客户端的不同ip
    一下地址也碰到过。
    http://www.iteye.com/problems/52039
    展开全文
  • java程序 获取ip某个主机地址 获得本机的ip地址 java程序 获取ip某个主机地址 获得本机的ip地址
  • java或者springboot获取本机的ip、子掩码、默认网关,不用外部工具包什么的获取,有没有大佬知道有啥方法,求告知,谢谢
  • java获取Centos7服务器网卡ip 子网掩码 默认网关 DNS 同时设置网卡 及 重启网卡参考
  • 外网tomcat服务器 公司内网访问服务器时,服务器上request.getRemoteAddr只获取到公司的网关ip,我要得到公司内网中不同客户端的不同ip,我该怎么办? 我没分!见谅!
  • 要判断IP网关或者两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网。 java代码: import java.util.regex.Pattern; ...

    要判断IP和网关或者两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网。

    js代码:

    /**
        * [isEqualIPAddress 判断两个IP地址是否在同一个网段]
        * @param {[String]} addr1 [地址一]
        * @param {[String]} addr2 [地址二]
        * @param {[String]} mask [子网掩码]
        * @return {Boolean} [true or false]
        */
        function isEqualIPAddress (addr1,addr2,mask){
    	    if(!addr1 || !addr2 || !mask){
    		    // 各参数不能为空
    		    return false;
    	    }
    	    var
    	    res1 = [],
    	    res2 = [];
    	    addr1 = addr1.split(".");
    	    addr2 = addr2.split(".");
    	    mask = mask.split(".");
    	    for(var i = 0,ilen = addr1.length; i < ilen ; i += 1){
    		    res1.push(parseInt(addr1[i]) & parseInt(mask[i]));
    		    res2.push(parseInt(addr2[i]) & parseInt(mask[i]));
    	    }
    	    if(res1.join(".") == res2.join(".")){
    		    // 在同一个网段
    		    return true;
    	    }else{
    		    // 不在同一个网段
    		    return false;
    	    }
        }
    

    java代码:

     
    import java.util.regex.Pattern;
     
    /**
    * <pre>
    * IP地址范围:
    * 0.0.0.0~255.255.255.255,包括了mask地址。
    *
    * IP地址划分:
    * A类地址:1.0.0.1~126.255.255.254
    * B类地址:128.0.0.1~191.255.255.254
    * C类地址:192.168.0.0~192.168.255.255
    * D类地址:224.0.0.1~239.255.255.254
    * E类地址:240.0.0.1~255.255.255.254
    *
    * 如何判断两个IP地址是否是同一个网段中:
    * 要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网。
    * 例:假定选择了子网掩码255.255.254.0,现在分别将上述两个IP地址分别与掩码做与运算,如下图所示:
    * 211.95.165.24 11010011 01011111 10100101 00011000
    * 255.255.254.0 11111111 11111111 111111110 00000000
    * 与的结果是: 11010011 01011111 10100100 00000000
    *
    * 211.95.164.78 11010011 01011111 10100100 01001110
    * 255.255.254.0 11111111 11111111 111111110 00000000
    * 与的结果是: 11010011 01011111 10100100 00000000
    * 可以看出,得到的结果(这个结果就是网络地址)都是一样的,因此可以判断这两个IP地址在同一个子网。
    *
    * 如果没有进行子网划分,A类网络的子网掩码为255.0.0.0,B类网络的子网掩码为255.255.0.0,C类网络的子网掩码为255.255.255.0,缺省情况子网掩码为255.255.255.0
    *
    * @author Slive
    */
    public class IpV4Util{
         // IpV4的正则表达式,用于判断IpV4地址是否合法
         private static final String IPV4_REGEX = "((\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3})";
        
         /**
         * 比较两个ip地址是否在同一个网段中,如果两个都是合法地址,两个都是非法地址时,可以正常比较;
         * 如果有其一不是合法地址则返回false;
         * 注意此处的ip地址指的是如“192.168.1.1”地址
         * @return
         */
         public static boolean checkSameSegment(String ip1,String ip2, String mask){
        	 int maskInt = getIpV4Value(mask);
              // 判断IPV4是否合法
              if(!ipV4Validate(ip1)){
                   return false;
              }
              if(!ipV4Validate(ip2)){
                   return false;
              }
              int ipValue1 = getIpV4Value(ip1);
              int ipValue2 = getIpV4Value(ip2);
              return (maskInt & ipValue1) == (maskInt & ipValue2);
         }
       
         /**
         * 判断ipV4或者mask地址是否合法,通过正则表达式方式进行判断
         * @param ipv4
         */
        public static boolean ipV4Validate(String ipv4){
             return ipv4Validate(ipv4,IPV4_REGEX);
        }
       
        private static boolean ipv4Validate(String addr,String regex){
              if(addr == null)
              {
                  return false;
             }
             else
             {
                  return Pattern.matches(regex, addr.trim());
             }
         }
     
         public static int getIpV4Value(String ipOrMask){
              byte[] addr = getIpV4Bytes(ipOrMask);
              int address1  = addr[3] & 0xFF;
              address1 |= ((addr[2] << 8) & 0xFF00);
              address1 |= ((addr[1] << 16) & 0xFF0000);
              address1 |= ((addr[0] << 24) & 0xFF000000);
              return address1;
         }
     
         public static byte[] getIpV4Bytes(String ipOrMask){
              try{
                   String[] addrs = ipOrMask.split("\\.");
                   int length = addrs.length;
                   byte[] addr = new byte[length];
                   for (int index = 0; index < length; index++){
                        addr[index] = (byte) (Integer.parseInt(addrs[index]) & 0xff);
                   }
                   return addr;
              }
              catch (Exception e)
              {
              }
              return new byte[4];
         }
         public static void main(String[] args) {
        	 String ip1 = "168.1.1.11";
        	 String ip2 = "168.1.2.254";
        	 String mask1 = "255.255.255.0";
        	 boolean b = checkSameSegment(ip1, ip2, mask1);
        	 System.out.println(b);
    	}
    }
    
    
    

    参考地址:
    1.https://www.jb51.net/article/44430.htm
    2.https://blog.csdn.net/lipslive/article/details/10776381#

    展开全文
  • How can I determine the IP of my router/gateway in Java? I can get my IP easily enough. I can get my internet IP using a service on a website. But how can I determine my gateway's IP?This is somewhat ...
  • 在没有网关或者反向代理软件情况下,java获取客户端ip地址的方法是request.getRemoteAddr() 先解释下http协议和TCP协议: 网页默认是进行http连接了,http协议即超文本传送协议(Hypertext Transfer Protocol )...
  • 在没有网关或者反向代理软件情况下,java获取客户端ip地址的方法是request.getRemoteAddr() 先解释下http协议和TCP协议: 网页默认是进行http连接了,http协议即超文本传送协议(Hypertext Transfer Protocol...
  • Java获取真实IP地址

    2020-06-10 09:06:32
    Java获取真实IP地址 public static String getIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (!checkIP(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if ...
  • Java获取客户端的真实IP地址

    万次阅读 多人点赞 2015-03-27 14:08:32
    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。像移动网关一样,iisforward这个...
  • 获取同网段IP? 对网络知识不牢靠的我,太小看了这东西,所以花费了我不少时间。 条件: 一个IP地址 一个子网掩码 像这样返回地址列表 [192.168.1.252, 192.168.1.253, 192.168.1.254, 192.168.1.255] [192.168.1....
  • import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException;
  • Java获取客户端IP地址

    千次阅读 2013-11-16 13:36:16
    像移动网关一样,iisforward这个ISAPI过滤器也会对request对象进行再包装,附加一些WLS要用的头信息。这种情况下,直接用request.getRemoteAddr()是无法取到真正的客户IP的。 实际的iisforward附加头如下: ...
  • ip网关格式正则校验

    千次阅读 2019-05-10 16:21:43
    ip格式校验 def is_ip(ip): """ ip格式判断 :param ip: :return: """ if re.match(r"(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})(\.(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})...
  • 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将...
  • java 获取网卡 ip地址

    千次阅读 2019-01-18 17:26:58
    JAVA获取本地ip /** * 获取本地网卡ip * @return */ public static String getLocalAddress() { try { // Traversal Network interface to get the first non-loopback and non-priv...
  • java中通过网卡名称获取IP地址,需要的朋友可以参考一下
  • java获取局域网IP

    千次阅读 2011-07-23 21:38:47
    需要遍历局域网IP的,大体分为两步:: 1....根据IP类型,一次遍历局域网内IP地址 我给你一个JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可 代码如下:package bean;
  • 获取网关IP

    2014-09-17 17:47:42
    private String getDynamicGatewayIp(Context context) { Log.i("xfh", "begin getDynamicGatewayIp..."); WifiManager wifiManager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE);...
  • Java获取双网卡ip

    2014-10-20 11:15:21
    package com.et59.License; import java.net.InterfaceAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Collections;import java.util.Enumeration;import jav...
  • Java 获取客户端IP

    2015-01-22 10:15:00
    像移动网关一样,iisforward这个ISAPI过滤器也会对request对象进行再包装,附加一些WLS要用的头信息。这种情况下,直接用request.getRemoteAddr()是无法取到真正的客户IP的。 实际的iisforward附加头如下: WL-...
  • java 获取客户端ip

    2016-09-27 11:15:39
    像移动网关一样,iisforward这个ISAPI过滤器也会对request对象进行再包装,附加一些WLS要用的头信息。这种情况下,直接用request.getRemoteAddr()是无法取到真正的客户IP的。 实际的iisforward附加头如下: ...
  • Java获取转发后的真实请求IP

    千次阅读 2020-03-10 17:20:06
    * 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, * <p> * 可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,...
  • Linux获取IP,子网掩码,网关

    千次阅读 2019-02-20 16:38:15
    最近项目中需要获取linux系统的所有网口信息并设置默认网口,若在终端查看只需输入ifconfig命令即可,通过编程实现则比较麻烦,通过查询资料发现linux提供的ioctl()函数可以获取相关信息。下面首先介绍几个需要使用...
  • java如何实现对本机的ip地址 网关地址 子网掩码的修改?? 跪求大神回答
  • java获取请求方的IP

    千次阅读 2018-05-28 17:17:28
    X-Real-IP" )2: String ip = request.getHeader("X-Forwarded-For"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Pro....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,435
精华内容 16,174
关键字:

java获取的ip是网关ip

java 订阅