Я хотел бы знать, какой IP-адрес у моего телефона Android. Например, если я использую свой телефон через WiFi, как я могу получить локальный IP-адрес, назначенный моему телефону?
Самый простой способ — зайти в настройки WiFi и нажать Menu > Advanced
. Он будет отображаться там, или вы можете установить для него статический IP-адрес, если хотите.
Крутой способ — набрать номер *#*#4636#*#*
, чтобы открыть меню «Тестирование». Затем нажмите «Информация о WiFi», затем «Статус WiFi».
##4636##
, я получаю это сообщение: Connection problem or invalid MMI code
. А в расширенном меню WiFi Settings не могу увидеть IP-адрес, если он задан по DHCP. Но спасибо за это меню, я не знал о нем.Testing meny
было очень хорошо.ifconfig
и ip
андроид 7
adb shell ifconfig
adb shell ip address show
ifconfig
была раздражающей реализацией, которая не показывала все версии по умолчанию в более ранних версиях, как описано ниже, но теперь она работает нормально.
netcfg Android 5.1.1
Этот инструмент был удален в более поздних версиях Android и ifconfig
стал более приличным и по умолчанию показывает все интерфейсы, что делает этот метод бесполезным в более новых версиях.
adb shell netcfg | grep wlan0
с вашего рабочего стола — лучший вариант, если вы уже разрабатываете для Android и имеете adb
настройку USB-подключения.
Пример вывода:
wlan0 UP 192.168.0.3/24 [...]
Подтвердить с помощью:
adb shell ifconfig wlan0
ifconfig
на Android ( самоварка ?) отличается от версии на настольных компьютерах ( net-tools
пакет на Ubuntu 15.10), поскольку требует предоставления интерфейса.
Это также упоминается в: Есть ли команда или приложение, подобное ipconfig?
Вы также можете установить эмулятор терминала, например Teriminal Emulator от Jack Palevich , открыть его и ввести: netcfg
. Но в этом случае вам лучше использовать какое-нибудь приложение, которое показывает IP-адреса, поскольку печатать на устройствах неудобно (если у вас нет внешней клавиатуры...).
Если все, что вам нужно, это SSH на устройстве, adb shell
это путь: https://stackoverflow.com/a/34040560/895245
Если вы разрабатываете серверное приложение, наиболее удобным для пользователя было бы показать IP-адреса устройства на некоторых TextView
, которые имеют метод чистой Java: https://stackoverflow.com/questions/494465 | https://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device
Управление браузером роутера
Если вы дома, вы можете:
карта
Если на вашем устройстве работает сервер, например SSHD на порту 2222, как описано по адресу: https://stackoverflow.com/a/34040560/895245 , вы можете отсканировать его:
sudo nmap -sV --open 192.168.0.0/24 -p2222
Самый простой способ — использовать такой инструмент, как, например , OS Monitor , который показывает вам (среди прочего) множество сетевых сведений:
Монитор ОС, показывающий сведения о сетевом интерфейсе (источник: Google Play ; щелкните изображение, чтобы увеличить его)
Как показано на скриншоте, это приложение показывает для каждого сетевого интерфейса:
0.0.0.0
этот интерфейс в настоящее время не используется)¹ имена интерфейсов могут обрабатываться по-разному на разных устройствах. Но в большинстве случаев по IP можно определить, кому он принадлежит. Кроме того, rmnet
в основном используется для GPRS (мобильные данные), а WiFi использует такие имена, как tiwlan
или eth
.
В любом приложении эмулятора терминала:
~$ ip -o a
Применимо как к WiFi, так и к мобильным данным. Не требует рута.
Это старый вопрос, но я думаю, вы можете попробовать эту команду:
adb shell ip addr show rmnet0 | grep 'inet ' | cut -d ' ' -f 6 | cut -d / -f 1
Он вернет ваш IPV4, назначенный оператором
172.22.1.215
Обычно ваш телефон имеет две сети, одну от вашего оператора связи, а другую от вашего беспроводного интерфейса. Они называются сетевыми интерфейсами.
rmnet0
должен быть заменен вашим интерфейсом, мой случай rmnet0
обычно был eth0
.
Если вы хотите получить список интерфейсов, используйте эту команду:
ip link show
Вы получите что-то вроде этого:
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP qlen 1000
link/ether b8:ac:6f:65:31:e5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global eth0
inet6 fe80::baac:6fff:fe65:31e5/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:21:6a:ca:9b:10 brd ff:ff:ff:ff:ff:ff
4: pan0: mtu 1500 qdisc noop state DOWN
link/ether 92:0a:e7:31:e0:83 brd ff:ff:ff:ff:ff:ff
5: vmnet1: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.1/24 brd 192.168.121.255 scope global vmnet1
inet6 fe80::250:56ff:fec0:1/64 scope link
valid_lft forever preferred_lft forever
6: vmnet8: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
inet 192.168.179.1/24 brd 192.168.179.255 scope global vmnet8
inet6 fe80::250:56ff:fec0:8/64 scope link
valid_lft forever preferred_lft forever
Где обычно,
lo
– Петлевой интерфейс.eth0
– Ваш первый сетевой интерфейс Ethernet в Linux.wlan0
– Беспроводной сетевой интерфейс в Linux.
прибыл