【java】IP来源提取国家地址

背景:

我们日常在安全巡检得时候,或者安全工具例如火绒、360活监测到一些异常ip 如何判断IP国家

第一种 百度地址IP查询

第二种 自己写一个

pom.xml导入依赖

复制代码
      <dependency>
            <groupId>com.maxmind.geoip2</groupId>
            <artifactId>geoip2</artifactId>
            <version>2.15.0</version>
        </dependency>

下载GeoLite2-City.mmdb

Release 2025.01.22 · P3TERX/GeoLite.mmdb · GitHub

代码实现

java 复制代码
 String pip = "209.141.33.6";
        DatabaseReader reader = new DatabaseReader.Builder(
                new File("F:\\untitled05\\demo4\\src\\main\\java\\com\\example\\demo\\entity\\GeoLite2-City.mmdb")).build();
        InetAddress ipAddress = InetAddress.getByName(pip);
        CityResponse response = reader.city(ipAddress);
        System.out.println("国家: " + response.getCountry().getName());
        System.out.println("城市: " + response.getCity().getName());

后续可以批量获取ip地址

相关推荐
AWS官方合作商1 小时前
在CSDN发布AWS Proton解决方案:实现云原生应用的标准化部署
java·云原生·aws
gadiaola2 小时前
【JVM】Java虚拟机(二)——垃圾回收
java·jvm
coderSong25684 小时前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
老胖闲聊5 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1185 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
Mr_Air_Boy5 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
曹勖之5 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
豆沙沙包?6 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
coding随想6 小时前
JavaScript ES6 解构:优雅提取数据的艺术
前端·javascript·es6
年老体衰按不动键盘6 小时前
快速部署和启动Vue3项目
java·javascript·vue