From 666ba111217c3300f47fdbaa3dd6b8d6e8d86ea1 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 8 Dec 2020 18:28:32 -0500 Subject: [PATCH] add random local ip4/ip6 utility methods --- .../org/cobbzilla/util/network/NetworkUtil.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/org/cobbzilla/util/network/NetworkUtil.java b/src/main/java/org/cobbzilla/util/network/NetworkUtil.java index 778c07a..2a4e4f4 100644 --- a/src/main/java/org/cobbzilla/util/network/NetworkUtil.java +++ b/src/main/java/org/cobbzilla/util/network/NetworkUtil.java @@ -3,6 +3,7 @@ package org.cobbzilla.util.network; import com.sun.jna.Platform; import lombok.Getter; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomUtils; import org.cobbzilla.util.collection.ExpirationMap; import org.cobbzilla.util.io.FileUtil; @@ -252,4 +253,20 @@ public class NetworkUtil { ? toUri(s).getHost() : toUri(SCHEME_HTTPS + s).getHost(); } + + public static String randomLocalIp4() { + final StringBuilder addr = new StringBuilder("127"); + for (int i=0; i<3; i++) { + addr.append(".").append(RandomUtils.nextInt(1, 255)); + } + return addr.toString(); + } + + public static String randomLocalIp6() { + final StringBuilder addr = new StringBuilder("fd00"); + for (int i=0; i<7; i++) { + addr.append("::").append(Integer.toHexString(RandomUtils.nextInt(1, 65536))); + } + return addr.toString(); + } }