Вычислить, находится ли IP-адрес в указанном диапазоне в Java - PullRequest
30 голосов
/ 23 ноября 2010

Я хочу иметь возможность возвращать true / false в зависимости от того, какой IP находится в диапазоне двух других IP.

Например:

ip 192.200.3.0

range from 192.200.0.0

range to 192.255.0.0

должно привести к значению true.

Другие примеры:

assert 192.200.1.0 == true
assert 192.199.1.1 == false
assert 197.200.1.0 == false

1 Ответ

63 голосов
/ 23 ноября 2010

Самый простой способ проверить диапазон - это, вероятно, преобразовать IP-адреса в 32-разрядные целые числа, а затем просто сравнить целые числа.библиотека Guava, которая имеет вспомогательный класс InetAddresses , который исключает возможность поиска DNS.

...