全网显示 IP 归属地,用上这个开源库,实现也太简单了

细心的小伙伴可能会发现,最近蘑菇新上线了属地的功能,小伙伴在发表动态、发表评论以及聊天的时候,都会显示自己的属地信息动态显示IP属地在蘑菇群聊中,也 可 以 展 示 IP 属 地,下面是小伙伴们在交流群中显示的下面,我就来讲讲,中是如何获取属地的,主要分为以下几步首先需要写一个获取的工具类,因为每一次用户的请 求,都会携带上请求的地 址放到请求头中。这里有三个名词,分别是在我们获取到用户 的地址后,那么就可以获取对应的信息了蘑菇最开始使用的是淘宝库接入方式也比较简单,就是通过封装一个。...
摘要由CSDN通过智能技术生成

细心的小伙伴可能会发现,最近蘑菇新上线了 IP 属地的功能,小伙伴在发表动态、发表评论以及聊天的时候,都会显示自己的 IP 属地信息

动态显示IP属地

在蘑菇群聊中,也 可 以 展 示 IP 属 地,下面是小伙伴们在交流群中显示的

下面,我就来讲讲,Java 中是如何获取 IP 属地的,主要分为以下几步

  • 通过 HttpServletRequest 对象,获 取 用户的 IP 地址
  • 通过 IP 地址,获取对应的省份、城市

首先需要写一个 IP 获取的工具类,因为每一次用户的 Request 请 求,都会携带上请求的 IP 地 址放到请求头中。

public class IpUtil {    public static String getIpAddr(ServerHttpRequest request) {        HttpHeaders headers = request.getHeaders();        String ipAddress = headers.getFirst("X-Forwarded-For");        if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {            ipAddress = headers.getFirst("Proxy-Client-IP");        }        if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {            ipAddress = headers.getFirst("WL-Proxy-Client-IP");        }        if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {            ipAddress = request.getRemoteAddress().getAddress().getHostAddress();            if (ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")) {                // 根据网卡取本机配置的IP                try {                    InetAddress inet = InetAddress.getLocalHost();                    ipAddress = inet.getHostAddress();                } catch (UnknownHostException e) {                    log.error("根据网卡获取本机配置的IP异常", e);                }            }        }        // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割        if (ipAddress != null && ipAddress.indexOf(",") > 0) {            ipAddress = ipAddress.split(",")[0];        }        return ipAddress;    }}

这里有三个名词,分别是

  • X-Forwarded-For一个 HTTP 扩展头部,主要是为了让 Web 服务器获取访问用户的真 实 IP 地址。每个 IP 地址,每个值通过逗号+空格分开,最左边是最原始客户端的 IP 地址,中间如果有多层代理,每⼀层代理会将连接它的客户端 IP 追加在 X-Forwarded-For 右边。
  • X-Real-IP
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全国IP地址,十分详细 范例。 province city isp start_ip1 end_ip1 福建省 电信 1.0.1.0 1.0.3.255 广东省 电信 1.0.8.0 1.0.15.255 广东省 电信 1.0.32.0 1.0.63.255 福建省 电信 1.1.0.0 1.1.0.255 福建省 电信 1.1.2.0 1.1.3.255 福建省 电信 1.1.4.0 1.1.7.255 广东省 电信 1.1.8.0 1.1.63.255 福建省 电信 1.2.0.0 1.2.1.255 北京市 (北龙中网科技有限公司) 网通 1.2.2.0 1.2.2.255 福建省 电信 1.2.4.0 1.2.7.255 广东省 电信 1.2.8.0 1.2.127.255 广东省 电信 1.3.0.0 1.3.255.255 福建省 电信 1.4.1.0 1.4.3.255 福建省 电信 1.4.5.0 1.4.7.255 广东省 电信 1.4.8.0 1.4.127.255 广东省 电信 1.10.0.0 1.10.7.255 福建省 电信 1.10.8.0 1.10.9.255 福建省 电信 1.10.11.0 1.10.15.255 广东省 电信 1.10.16.0 1.10.127.255 北京市 方正宽带 1.12.0.0 1.15.255.255 内蒙古 联通 1.24.0.0 1.31.255.255 内蒙古 赤峰市 联通 1.24.8.0 1.24.15.255 内蒙古 乌兰察布市 联通 1.24.32.0 1.24.39.255 内蒙古 乌兰察布市 联通 1.24.80.0 1.24.87.255 内蒙古 包头市 联通 1.24.184.0 1.24.191.255 内蒙古 乌兰察布市 联通 1.25.128.0 1.25.135.255 内蒙古 锡林郭勒盟 联通 1.25.152.0 1.25.191.255 内蒙古 巴彦淖尔市 联通 1.25.228.0 1.25.255.255 内蒙古 呼伦贝尔市 联通 1.26.0.0 1.26.15.255 内蒙古 赤峰市 联通 1.26.112.0 1.26.127.255 贵州省 电信 1.48.0.0 1.49.255.255 贵州省 贵阳市(电信CDMA全省共用出口) 电信 1.49.128.0 1.49.255.255 宁夏 电信 1.50.0.0 1.50.255.255 山东省 济南市(山东大学) 教育网 1.51.192.0 1.51.255.255 黑龙江省 联通 1.56.0.0 1.63.255.255 黑龙江省 鹤岗市 联通 1.56.0.0 1.56.95.255 黑龙江省 牡丹江市 联通 1.56.128.0 1.56.255.255 黑龙江省 绥化市 联通 1.57.0.0 1.57.63.255 黑龙江省 齐齐哈尔市 联通 1.57.64.0 1.57.127.255 黑龙江省 双鸭山市 联通 1.57.128.0 1.57.191.255 黑龙江省 鸡西市 联通 1.57.192.0 1.57.255.255 黑龙江省 哈尔滨市 联通 1.58.0.0 1.58.255.255 黑龙江省 大庆市 联通 1.59.16.0 1.59.127.255 黑龙江省 佳木斯市 联通 1.59.128.0 1.59.255.255 黑龙江省 黑河市 联通 1.60.0.0 1.60.63.255 黑龙江省 七台河市 联通 1.60.64.0 1.60.95.255 黑龙江省 伊春市 联通 1.60.128.0 1.60.191.255 黑龙江省 齐齐哈尔市 联通 1.60.192.0 1.60.255.255 黑龙江省 绥化市 联通 1.61.0.0 1.61.127.255 黑龙江省 齐齐哈尔市 联通 1.61.128.0 1.61.159.255 黑龙江省 哈尔滨市 联通 1.62.0.0 1.62.127.255 黑龙江省 鸡西市 联通 1.63.0.0 1.63.31.255 黑龙江省 绥化市 联通 1.63.152.0 1.63.159.255 黑龙江省 伊春市 联通 1.63.192.0 1.63.207.255 山西省 电信 1.68.0.0 1.71.255.255 陕西省 电信 1.80.0.0 1.87.255.255 陕西省 西安市 电信 1.80.0.0 1.80.255.255 陕西省 渭南市 电信 1.81.0.0 1.81.127.255 陕西省 汉中市 电信 1.81.128.0 1.81.255.255 陕西省 商洛市 电信 1.82.0.0 1.82.31.255 陕西省 安康市 电信 1.82.32.0 1.82.63.255 陕西省 榆林市 电信 1.82.64.0 1.82.127.255 陕西省 宝鸡市 电信 1.82.128.0 1.82.163.255 陕西省 西安市 电信 1.83.0.0 1.83.255.255 陕西省 西安市 电信 1.84.64.0 1.84.127.255 陕西省 西安市 电信 1.85.0.0 1.85.23.255 陕西省 延安市 电信 1.85.64.0 1.85.95.255 陕西省 安康市 电信 1.85.96.0 1.85.135.255 陕西省 咸阳市 电信 1.85.144.0 1.85.159.255 陕西省 西安市 电信 1.85.172.0 1.85.191.255 陕西省 西安市 电信 1.85.192.0 1.86.255.255 陕西省 西安市 电信 1.87.0.0 1.87.255.255 北京市 歌华有线宽带 1.88.0.0 1.91.255.255 北京市 电信通 1.92.0.0 1.93.255.255 内蒙古 电信 1.180.0.0 1.183.255.255 内蒙古 鄂尔多斯市 电信 1.180.64.0 1.180.67.255 内蒙古 乌海市 电信 1.180.128.0 1.180.135.255 内蒙古 呼和浩特市 电信 1.182.0.0 1.182.3.255 广东省 广州市(暨南大学) 教育网 1.184.0.0 1.184.127.255 黑龙江省 联通 1.188.0.0 1.191.255.255 河南省 郑州市 电信 1.192.0.0 1.192.191.255 河南省 电信 1.192.0.0 1.199.255.255 河南省 郑州市 电信 1.193.0.0 1.193.127.255 河南省 洛阳市 电信 1.193.128.0 1.193.239.255 河南省 平顶山市 电信 1.194.0.0 1.194.63.255 河南省 开封市 电信 1.194.128.0 1.194.159.255 河南省 安阳市 电信 1.194.192.0 1.194.255.255 河南省 新乡市 电信 1.195.0.0 1.195.63.255 河南省 焦作市 电信 1.195.64.0 1.195.127.255 河南省 濮阳市 电信 1.195.128.0 1.195.147.255 河南省 三门峡市 电信 1.195.192.0 1.195.255.255 河南省 商丘市 电信 1.196.64.0 1.196.79.255 河南省 信阳市 电信 1.196.192.0 1.196.223.255 河南省 鹤壁市 电信 1.197.0.0 1.197.15.255 河南省 漯河市 电信 1.197.32.0 1.197.63.255 河南省 周口市 电信 1.197.64.0 1.197.95.255 河南省 驻马店市 电信 1.197.96.0 1.197.127.255 河南省 许昌市 电信 1.197.128.0 1.197.159.255 河南省 南阳市 电信 1.197.160.0 1.197.175.255 河南省 焦作市 电信 1.197.192.0 1.197.207.255 河南省 安阳市 电信 1.197.208.0 1.197.223.255 河南省 周口市 电信 1.197.224.0 1.197.235.255 河南省 周口市 电信 1.199.0.0 1.199.15.255 河南省 新乡市 电信 1.199.96.0 1.199.127.255 北京市 (电信WIFI热点AP网段) 电信 1.202.0.0 1.203.255.255 贵州省 贵阳市 电信 1.204.0.0 1.204.255.255
### 回答1: 全网IP冲突检测工具是一种用于检测在同一网络中是否存在IP地址冲突问题的软件。在一个局域网或广域网中,每个设备都被分配一个唯一的IP地址,以便进行网络通信。然而,有时候由于配置错误或其他原因,两个或多个设备可能会被分配相同的IP地址,导致网络中的冲突。 全网IP冲突检测工具的作用是帮助管理员或网络工程师快速检测并定位这些IP地址冲突的问题。它可以扫描整个网络段,并记录下所有已分配的IP地址。然后,通过与设备进行通信,检查每个IP地址是否已被占用。如果发现多个设备使用相同的IP地址,该工具会生成警告或报告,提醒管理员解决冲突。 全网IP冲突检测工具通常具有以下特点和功能: 1.自动扫描:能够自动扫描整个网络段,并检测每个IP地址的可用性。 2.IP地址管理:能够记录和管理已分配的IP地址,以便后续的冲突检测和查询。 3.实时监测:可以实时监测网络中的IP地址变化和冲突情况,及时发出警告或报告。 4.灵活配置:支持管理员根据实际情况进行各种配置,如扫描频率、报警方式等。 5.报告生成:能够生成详细的报告,包括冲突的IP地址、设备信息以及解决方法。 通过使用全网IP冲突检测工具,网络管理员可以更加快速准确地发现和解决IP地址冲突问题,确保网络正常运行和通信顺畅。 ### 回答2: 全网IP冲突检测工具是一种用于检测局域网内部所有设备IP地址是否冲突的工具。在一个局域网中,每个设备都需要拥有唯一的IP地址,以便进行网络通信。如果多个设备使用了相同的IP地址,就会导致冲突,造成网络无法正常工作。 全网IP冲突检测工具的作用是自动扫描整个局域网中的设备,检测是否存在IP地址冲突的情况。它能够快速识别出所有存在冲突的设备,并且给出相应的报警信息。这样,网络管理员就能够及时采取措施解决冲突问题,保证网络的正常运行。 工具使用的原理是通过发送ARP请求来获取局域网内设备的MAC地址和IP地址的对应关系,然后将这些信息与已知IP地址进行比较,如果存在相同的IP地址,就会被判定为冲突。全网IP冲突检测工具通常提供了图形化界面,用户只需要输入要扫描的IP地址范围或者直接选择扫描整个子网,就可以启动扫描过程。 除了检测IP地址冲突,全网IP冲突检测工具还可以提供一些其他的功能,比如显示设备名称、MAC地址、IP地址、子网掩码等信息,方便管理员对网络设备进行管理。此外,还可以对设备进行Ping测试,以确定设备是否在线。 总之,全网IP冲突检测工具是一种帮助管理员快速检测并解决IP地址冲突问题的工具,它能够提高网络的稳定性和可靠性。 ### 回答3: 全网IP冲突检测工具是一种用于检查网络中是否存在IP地址冲突的工具。当在网络中使用大量设备时,为每个设备分配唯一的IP地址是非常重要的,否则就会导致网络连接问题和数据传输错误。 全网IP冲突检测工具的作用是扫描整个网络段中的IP地址,并检测是否有多个设备使用了相同的IP地址。它会发送一个特殊的信号到每个IP地址,并等待设备的响应。如果多个设备都响应了相同的IP地址,那么就意味着存在IP冲突。 这种工具通常具有以下功能: 1. 自动扫描:能够自动扫描整个网络段中的IP地址,无需手动输入。 2. 快速检测:能够快速发送信号和接收响应,以便迅速检测出IP冲突。 3. 多项检测:支持同时检测多个IP地址,以提高效率。 4. 显示结果:将检测结果以可视化的方式显示出来,方便用户查看和分析。 5. 报告生成:能够生成详细的报告,包括发现的冲突IP地址和相关设备的信息。 使用全网IP冲突检测工具可以大大减少网络运维人员的工作量,提高网络的稳定性和性能。它可以及时发现和解决IP冲突问题,避免网络故障和数据丢失。同时,它还可以帮助网络管理员管理和维护网络中的IP地址,确保网络设备能够正常地连接和通信,提升网络的可用性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值