Java 生成随机 IP 地址

生成 100 个随机 IP 地址

/**
 * 获取一个随机IP
 */
public static String getRandomIp() {

    // 指定 IP 范围
    int[][] range = {
            {607649792, 608174079}, // 36.56.0.0-36.63.255.255
            {1038614528, 1039007743}, // 61.232.0.0-61.237.255.255
            {1783627776, 1784676351}, // 106.80.0.0-106.95.255.255
            {2035023872, 2035154943}, // 121.76.0.0-121.77.255.255
            {2078801920, 2079064063}, // 123.232.0.0-123.235.255.255
            {-1950089216, -1948778497}, // 139.196.0.0-139.215.255.255
            {-1425539072, -1425014785}, // 171.8.0.0-171.15.255.255
            {-1236271104, -1235419137}, // 182.80.0.0-182.92.255.255
            {-770113536, -768606209}, // 210.25.0.0-210.47.255.255
            {-569376768, -564133889}, // 222.16.0.0-222.95.255.255
    };

    Random random = new Random();
    int index = random.nextInt(10);
    String ip = num2ip(range[index][0] + random.nextInt(range[index][1] - range[index][0]));
    return ip;
}

/*
 * 将十进制转换成IP地址
 */
public static String num2ip(int ip) {
    int[] b = new int[4];
    b[0] = (ip >> 24) & 0xff;
    b[1] = (ip >> 16) & 0xff;
    b[2] = (ip >> 8) & 0xff;
    b[3] = ip & 0xff;
    // 拼接 IP
    String x = b[0] + "." + b[1] + "." + b[2] + "." + b[3];
    return x;
}

主方法

public static void main(String[] args) {
    int count = 100;
    for (int i = 0; i < count; i++) {
        String randomIp = getRandomIp();
        System.out.println(randomIp);
    }
}
posted @   白日醒梦  阅读(1087)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
主题色彩