Сканер сети

Ответить
Аватара пользователя
petrovichtim
Сообщения: 77
Зарегистрирован: 11 фев 2014, 22:53
Откуда: Москва
Контактная информация:

Сканер сети

Сообщение petrovichtim » 11 мар 2015, 11:48

Доброго дня дорогие коллеги!
Хочу сделать сканер локальной сети.
т.е. получить имена всех устройств подключенных к той же сети что и моё.
Смотрел открытые проекты, там используется для пинга класс InetAddress.isReachable()
Но этот метод работает не для всех устройств, часть устройств видна, а часть нет (например windows и apple устройства)
Подскажите пожалуйста, как точно получить список устройств в локальной сети ?

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Сканер сети

Сообщение altwin » 11 мар 2015, 16:12

похоже можно установить nmap в Android ( http://android-manual.org/level2/android-nmap )

ну и что то вроде такого можно будет использовать:
[syntax=java5]Process p = Runtime.getRuntime().exec("nmap -sn -oG ip.txt 192.168.0.1-255"); [/syntax]

p.s. я конечно это не пробывал, но без рута врятли возможно. и тогда остается только NDK, поскольку для данной задачи вам понадобится доступ на уровень ниже tcp\ip, на сколько мне известно из java это не возможно. Вообще там все просто, формируете пакет и шлете перебирая адреса и собирая ответы.
Изображение

Аватара пользователя
petrovichtim
Сообщения: 77
Зарегистрирован: 11 фев 2014, 22:53
Откуда: Москва
Контактная информация:

Re: Сканер сети

Сообщение petrovichtim » 11 мар 2015, 17:23

altwin писал(а):похоже можно установить nmap в Android ( http://android-manual.org/level2/android-nmap )

ну и что то вроде такого можно будет использовать:
[syntax=java5]Process p = Runtime.getRuntime().exec("nmap -sn -oG ip.txt 192.168.0.1-255"); [/syntax]

p.s. я конечно это не пробывал, но без рута врятли возможно. и тогда остается только NDK, поскольку для данной задачи вам понадобится доступ на уровень ниже tcp\ip, на сколько мне известно из java это не возможно. Вообще там все просто, формируете пакет и шлете перебирая адреса и собирая ответы.
Без рута это точно можно, т.к. приложения такие в маркете есть и они рута не просят.

Ответить