2014-02-06 4 views
0

Обычно я могу запрограммировать IP-программным способом. Но он не возвращает, что IP-адрес находится в Интернете или в интранете. Я хочу узнать, находится ли IP-адрес в Интернете или внутри сети. Есть ли способ его найти.Найти источник IP (Интернет или Интранет) в JAVA?

+1

Вы можете указать диапазон для адресов вашей интрасети, все те, которые не попадают в этот диапазон, будут IP-адресами в Интернете. –

+0

Мне действительно интересно, какой код будет, если существует много разных сетей с маской подсети. – pmverma

ответ

1

Вы не можете просто пинг в Java, как это полагается на ICMP, который, к сожалению, не поддерживаются в Java

http://mindprod.com/jgloss/ping.html

Используйте розетки вместо

Надеются, что это помогает

Благодаря aretai для java code to ping an IP address

Но я нахожу sthg вот так https://gist.github.com/madan712/4509039

0

Что вы можете сказать, является ли IP-адрес является «private range» адрес, это адрес в диапазоне, который не является действительным для использования на интернет-общественности и специально предназначены для использования в интрасети. Например, любой адрес в диапазоне 192.168. * Или 10. *.

Вы можете сделать это, используя метод InetAddress.isSiteLocal(). Конечно, если ваша компания не использует IP-адреса частного диапазона для своей интрасети, это не сработает.