android - человека - как узнать ip адрес чужого телефона




Получить IP-адрес шлюза в Android (5)

Как получить IP-адрес шлюза, Есть вариант с использованием Wi-Fi, но. Если нет никакого способа узнать, как найти шлюз, DNS и другие детали в устройстве Android при подключении с помощью USB-модема.


DNS-сервер получен через

getprop net.dns1 

ОБНОВЛЕНИЕ: в Android Nougat 7.x присутствует ifconfig, а netcfg отсутствует. Так что ifconfig может быть использован для поиска IP-адреса и сетевой маски.


На Android 7 работает это:

 ip route get 8.8.8.8

вывод будет: 8.8.8.8 через шлюз ...


Установите приложение эмулятора терминала, затем, чтобы увидеть таблицу маршрутизации, запустите iproute из командной строки. Не требует корневых разрешений. Я не знаю, как получить DNS-сервер. Там нет файла /etc/resolv.conf . Вы можете попробовать nslookup www.google.com и посмотреть, что он сообщает для вашего сервера, но на моем телефоне он сообщает 0.0.0.0 что не слишком полезно.


Это решение даст вам параметры сети. Проверьте это solution


Я хотел опубликовать этот ответ как обновление для пользователей более свежих сборок Android (CM11 / KitKat / 4.4.4). Я не проверял ничего из этого с TouchWiz или более ранними версиями Android, поэтому YMMV.

Следующие команды могут выполняться во всех обычных местах (ADB, Terminal Emulator, сценарии оболочки, Tasker).

Перечислите все доступные свойства:

getprop

Получить интерфейс WiFi:

getprop wifi.interface

Свойства WiFi:

getprop dhcp.wlan0.dns1
getprop dhcp.wlan0.dns2
getprop dhcp.wlan0.dns3
getprop dhcp.wlan0.dns4
getprop dhcp.wlan0.domain
getprop dhcp.wlan0.gateway
getprop dhcp.wlan0.ipaddress
getprop dhcp.wlan0.mask

Приведенные выше команды будут выводить информацию независимо от того, подключен ли WiFi в данный момент.

Используйте одно из следующих действий, чтобы проверить, включен ли wlan0 :

ifconfig wlan0

netcfg | awk '{if ($2=="UP" && $3 != "0.0.0.0/0") isup=1} END {if (! isup) exit 1}'

Используйте любой из следующих способов, чтобы получить IP-адрес wlan0 (только если он подключен):

ifconfig wlan0 | awk '{print $3}'

netcfg | awk '/^wlan0/ {sub("(0\\.0\\.0\\.0)?/[0-9]*$", "", $3); print $3}'

Просто для тщательности, чтобы получить ваш общедоступный IP-адрес, выходящий в Интернет, вы захотите использовать внешнюю службу. Чтобы получить ваш публичный IP:

wget -qO- 'http://ipecho.net/plain'

Чтобы получить ваше общедоступное имя хоста:

wget -qO- 'http://ifconfig.me/host'

Или получить ваше общедоступное имя хоста прямо с вашего IP-адреса:

(nslookup "$(wget -qO- http://ipecho.net/plain)" | awk '/^Address 1: / { if ($NF != "0.0.0.0") {print $NF; exit}}; /name =/ {sub("\\.$", "", $NF); print $NF; exit}') 2>/dev/null

Примечание. Вышеупомянутая команда awk кажется слишком сложной только потому, что она может обрабатывать выходные данные из различных версий nslookup . Android включает минимальную версию nslookup как часть busybox но есть и отдельная версия (часто включаемая в dnsutils ).





gateway