Обычно я могу запрограммировать IP-программным способом. Но он не возвращает, что IP-адрес находится в Интернете или в интранете. Я хочу узнать, находится ли IP-адрес в Интернете или внутри сети. Есть ли способ его найти.Найти источник IP (Интернет или Интранет) в JAVA?
ответ
Вы не можете просто пинг в Java, как это полагается на ICMP, который, к сожалению, не поддерживаются в Java
http://mindprod.com/jgloss/ping.html
Используйте розетки вместо
Надеются, что это помогает
Благодаря aretai для java code to ping an IP address
Но я нахожу sthg вот так https://gist.github.com/madan712/4509039
Что вы можете сказать, является ли IP-адрес является «private range» адрес, это адрес в диапазоне, который не является действительным для использования на интернет-общественности и специально предназначены для использования в интрасети. Например, любой адрес в диапазоне 192.168. * Или 10. *.
Вы можете сделать это, используя метод InetAddress.isSiteLocal(). Конечно, если ваша компания не использует IP-адреса частного диапазона для своей интрасети, это не сработает.
Вы можете указать диапазон для адресов вашей интрасети, все те, которые не попадают в этот диапазон, будут IP-адресами в Интернете. –
Мне действительно интересно, какой код будет, если существует много разных сетей с маской подсети. – pmverma