2015-02-28 5 views
3

Я хочу сделать свой собственный ip-сканер, который сканирует доступные ips в локальной сети, например Angry IP Scanner. Я также хочу получить базовую информацию об устройстве, такую ​​как имя хоста. Как я могу решить это на Java? Я не хочу использовать какие-либо библиотеки для этого. Должен ли я просто попытаться выполнить ping каждый доступный ip с помощью цикла и посмотреть, как он отвечает?Java простой сетевой сканер IP-адресов

ответ

3
  1. Получите ваш IP-адрес локальной сети,
  2. Построить IP-адреса, начинающиеся с вашего IP LAN, как 192.168.0.1
  3. Пройдите через все 192.168.0.X (0-255) возможностей.
  4. Ping (Java isReachable) возможный IP-адрес и распечатать его, если он доступен.

В коде: https://github.com/syndbg/HackBulgaria/blob/master/Core-Java-1/13-Networking1/src/InternetUtils.java#L56

+0

Спасибо. Я попробую это :) – Broadwell

+1

Ваш ответ зависит от подсети пользователя, являющейся/24, что может быть плохим предположением. Было бы лучше определить размер подсети, адрес первого и последнего хоста и попробовать с первого по последний адрес узла. Кроме того, даже не пытайтесь сделать это с помощью IPv6, который использует/64 подсети; Вселенная закончится жарой смерти задолго до того, как вы начнете сканирование подсети. –

+0

Minus 1. Код не возвращает результатов, в отличие от «Angry IP Scanner» или «Advanced IP Scanner» – BullyWiiPlaza