IP-адрес в Java - PullRequest
       33

IP-адрес в Java

1 голос
/ 07 августа 2009

Меня попросили активировать определенный кусок кода, если я училась в колледже. Поэтому мне нужно найти iP, где я могу найти свой iP iP колледжей. Было интересно, как это сделать в Java? Я уже пробовал возвратный интерфейс.

Ответы [ 3 ]

3 голосов
/ 08 августа 2009

Используя NetworkInterface.getNetworkInterfaces() и вызывая getInetAddresses() на каждом интерфейсе, вы можете увидеть все IP-адреса, назначенные вашему компьютеру. Чтобы проверить, есть ли у вас IP в диапазоне вашего университета, вы можете сделать что-то вроде этого:

boolean onCampusNetwork() {
    for(Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements();) {
        NetworkInterface iface = ifaces.nextElement();
        for(Enumeration<InetAddress> addresses = iface.getInetAddresses(); addresses.hasMoreElements;) {
            InetAddress address = addresses.nextElement();
            // return true if address is in the university's range; something like:
            if(address.toString().startsWith("10.0")) {
                return true;
            }
        }
    }
    // None of the IP addresses were in the university's range.
    return false;
}

Я не запускал этот код, но он должен делать то, что вам нужно.

0 голосов
/ 08 августа 2009

Существуют всевозможные сайты, которые дадут вам ваш публичный ip (или публичный IP вашего шлюза, который, я полагаю, вам нужен). Вы можете указать программе установить HTTP-соединение с одним из этих сайтов и получить страницу с информацией об этом. Поскольку эти сайты имеют очень предсказуемый формат, результат будет очень легко проанализировать с помощью регулярного выражения или двух. Это работает, только если у вас есть подключение к Интернету.

Кроме того, программа может попытаться подключиться к одному из серверов интрасети вашего колледжа. Если он может установить соединение с сайтом, который не доступен для внешнего мира, он находится в локальной сети.

0 голосов
/ 08 августа 2009

Разве не должен быть какой-то протокол для автоматического обнаружения и настройки прокси ? В вашем колледже это уже установлено? Тогда было бы лучше, если бы ваш код обнаружил правильные настройки и имел возможность переопределить настройки.

...