Как открыть порт на Android без Wi-Fi
Обновлено: 21.11.2024
У меня Moto G3 Turbo с Android 6.0.1 Marshmallow. Я использую телефон для создания точки доступа Wi-Fi, поэтому я могу пользоваться Интернетом на своем ноутбуке.
Мне удалось выполнить успешный запуск Metasploit через WAN/Интернет, и для этого мне нужно выполнить переадресацию портов на мой ноутбук. Но проблема в том, что у меня нет модема или маршрутизатора, чтобы перейти к настройке входа с паролем администратора или что-то в этом роде.
Что я могу сделать? Есть ли какое-либо приложение, которое может это сделать, и нужно ли ему разрешение root?
Как правило, это невозможно не потому, что Android не поддерживает эту функцию, а потому, что в целом операторы связи не разрешают входящий трафик любого рода на мобильные устройства. Вы можете получить IP-адрес от своего оператора, но это только для исходящего трафика, нежелательный входящий трафик (для которого вам нужна переадресация портов) почти всегда блокируется каждым оператором связи по всему миру. Добавьте к этому, что большинство операторов все равно не предоставляют вам общедоступный IP-адрес, поэтому, даже если вы настроили переадресацию портов, вы, вероятно, не сможете ее использовать.
Это неверно, если ваше приложение не может получать входящий трафик так, как вы получаете сообщения на свой телефон.
@ShawnThomasRheal, открыв исходящее соединение и оставив его открытым для ответов. Именно для этого большинство приложений используют GCM, поэтому не каждое приложение должно держать свое собственное соединение открытым.
1 Ответ 1
В большинстве случаев вы не сможете установить входящее соединение при использовании мобильных данных из-за CGNAT и брандмауэров на уровне интернет-провайдера, как поясняет acejavelin в комментарии. Чтобы подробно узнать о проблеме и способах ее решения, см. Как подключиться к Android через SSH через общедоступный IP-адрес 3G/4G?
Однако, если вы можете получить доступ к своему телефону из Интернета, расширение этого доступа на подключенный хост (в вашем случае ПК) не проблема. Переадресация портов осуществляется с помощью маршрутизаторов, и при использовании в качестве точки доступа Wi-Fi (или USB-модема) ваш телефон фактически действует как маршрутизатор.
КОРНЕВОЕ РЕШЕНИЕ:
Чтобы перенаправить порт, вам необходимо выполнить преобразование адреса назначения (DNAT) с помощью встроенного в ядро Linux инструмента брандмауэра пользовательского пространства iptables.
Сначала убедитесь, что ядро настроено на пересылку интернет-трафика (уже установлено, когда точка доступа включена):
Допустим, IP-адрес, назначенный точкой доступа ПК, равен 192.168.43.10, и вы хотите перенаправить порт SSH по умолчанию ( 22 ):
Это самая простая форма переадресации портов.
Если по умолчанию ПОЛИТИКА цепочки FORWARD в таблице FILTER не ACCEPT, явно определите правила для приема пересылаемых пакетов:
При необходимости также принимать исходящий переадресованный трафик.
РЕШЕНИЕ НЕ ROOT:
На устройствах без рута вы можете использовать adb или какой-либо другой минимальный сервер TCP/UDP, такой как netcat или socat, для переадресации портов. Обратите внимание, что это не будет работать для портов ниже 1024. Чтобы переадресовать порт 2222:
* nc — это апплет busybox. Но убедитесь, что вы получили правильный двоичный файл, существует несколько реализаций netcat.
* Используйте параметр -u для переадресации порта UDP.
Однако nc одновременно принимает только одно соединение. Используйте socat или ncat для более продвинутых опций, например. из Termux:
Есть также такие приложения, как Fwd (у него открытый исходный код, я не аффилирован), предназначенные для переадресации портов.
Я хочу открыть порты, например. 8080, 2121 на устройстве Android, подключенном к домашней сети Wi-Fi. Есть ли возможность этого добиться?
Я сканировал IP-адрес Android с помощью NMAP, и все порты были закрыты.
Участвуйте, чтобы выиграть еженедельные подарочные карты (от 100 евро), Oculus и наушники/колонки
Конкурс завершается 27 марта 2022 г. Конкурсы Каждую неделю узнайте больше о том, как Red Hat может помочь вам добиться простоты и цифровых инноваций, и ответьте на вопрос. Детали конкурса Просмотреть все конкурсы
4 ответа
Брайан_Даффи
Чего вы пытаетесь достичь? Если вы хотите получить доступ к файлам на устройстве, вы можете использовать приложение. Airdroid довольно хорош
Любая переадресация портов выполняется маршрутизатором, если вы используете WIFI и сигнал 3G/4G/LTE/и т. д., тем более вероятно, что оператор мобильной связи может заблокировать большинство портов.
awaiz007
рутируйте устройство, тогда это возможно
CrashFF
Существовало специальное приложение под названием "Открыть порт", которое открывало любой порт TCP или UDP, указанный вами на телефоне Android. Я не знаю, доступен ли он еще
Эта тема заблокирована администратором и больше не открыта для комментариев.
Чтобы продолжить это обсуждение, задайте новый вопрос.
Эргономичное оборудование
Кто в США должен нести ответственность за предоставление эргономичного оборудования по запросу сотрудника? Это ИТ, поскольку ИТ предоставляет клавиатуры и мыши? Должен ли это быть HR, поскольку он эргономичен и несет потенциальную ответственность, если НЕ предоставляется? Должен ли это быть тот отдел.
Приветствие Xfinity (личный домашний Интернет)
Во-первых, мне больно. Я мог бы произнести речь «Он ставит передо мной задачу», как Хан в «Звездном пути 2: Гнев Хана». Просто замените «Они» на «Он». Но они сделали то, чего я хотел годами (десятилетиями?), так что, думаю, это должно быть признано. Ю.
Щелкни! SATCOM Threat, IE End of Life, Mac с кирпичами, Planet 9, Lego Delorean
Ваша ежедневная доза технических новостей. Вы должны это услышать. ФБР и CISA предупреждают об угрозах для сетей спутниковой связи Согласно новому предупреждению ФБР и CISA спутниковые сети находятся в зоне высокого риска. Согласно ZDNet.
Какими сверхспособностями вы хотели бы обладать?
Что может сделать ИТ-специалист со сверхспособностями? В каких ИТ-задачах вы бы их использовали и как?
Можно ли подключить интерфейс управления коммутатора к одному из его собственных портов коммутатора?
Недавно я понял, что у меня есть конфигурация коммутатора с непреднамеренным потенциальным побочным эффектом. У меня есть Aruba 6300F с несколькими виртуальными локальными сетями. Он работает в режиме уровня 3. Это работает следующим образом: я просто «включаю» функции маршрутизатора, а затем.
Настройка маршрутизатора
Шаг 1
Откройте чудо-кнопку «Поиск» на панели чудо-кнопок Windows и введите «cmd», чтобы вызвать командную строку.
Шаг 2
Введите "ipconfig /all" и нажмите "Enter", чтобы получить информацию о вашей сети. Запишите адрес IPv4, маску подсети, шлюз по умолчанию и DNS-серверы.
Шаг 3
Запишите IP-адрес, указанный в качестве шлюза IPv4 по умолчанию — это IP-адрес вашего маршрутизатора. Типичный маршрутизатор будет использовать 192.168.1.1 или 192.168.1.0. Выберите другой IP-адрес с такими же первыми тремя наборами цифр и четвертым набором цифр, который как минимум на 20 больше, чем четвертый набор шлюза по умолчанию. Например, 192.168.1.21 на 20 больше, чем 192.168.1.1. Этот второй IP-адрес вы назначите своему устройству Android.
Шаг 4
Запустите веб-браузер и введите адрес шлюза по умолчанию в адресную строку.
Шаг 5
Введите имя пользователя и пароль для маршрутизатора. Если вы не помните имя пользователя и пароль, найдите значения по умолчанию для вашей модели маршрутизатора и сбросьте их.
Шаг 6
Ищите меню с пометками "Приложения и игры", "Дополнительно", "Переадресация портов/активация портов" или "NAT/QoS". изучение меню.
Шаг 7
Введите номер порта, который необходимо открыть. Большинство приложений для Android указывают, к какому порту они не могут получить доступ. Некоторые распространенные порты: 25565 для «Minecraft» и диапазон 6881-6887 для клиента BitTorrent. Более длинный список часто используемых портов находится в разделе Ресурсы.
Шаг 8
Выберите протокол для этого порта; TCP является наиболее распространенным, а BitTorrent использует UDP. Если вы сомневаетесь, выберите «Оба». При выборе варианта «Оба» производительность немного снижается, но это вряд ли повлияет на производительность устройства или скорость загрузки.
Шаг 9
Введите статический IP-адрес, который вы выделили для своего устройства Android.
Шаг 10
Нажмите "Включить". Для некоторых маршрутизаторов на этой кнопке будет написано "Готово", "Готово" или "Внести эти изменения".
Настройка Android для статического IP-адреса
Шаг 1
Нажмите "Настройки", прокрутите вниз до "Беспроводные сети и сети", а затем "Настройки Wi-Fi".
Шаг 2
Нажмите и удерживайте имя сети, к которой вы подключены, чтобы открыть контекстное меню.
Шаг 3
Выберите "Изменить сеть".
Шаг 4
Нажмите в раскрывающемся списке "Настройки IP" и измените "DHCP" на "Статический".
Шаг 5
Введите IP-адрес шлюза по умолчанию и IP-адрес, который вы создали ранее. Если у вас есть какие-либо IP-адреса для DNS-серверов, предоставленные вашим интернет-провайдером, вы можете ввести их здесь; они немного улучшат производительность соединения, но в этом нет необходимости.
Кен Бернсайд работает внештатно с 1990 года, сотрудничая с такими разнообразными изданиями, как "Пирамида" и "Журнал обучения и моделирования". Microsoft MVP в Excel, он получил степень бакалавра искусств по английскому языку в Университете Аляски. Он получил награду Origins Award за Attack Vector: Tactical, настольную игру о космических боях.
Отображение экрана вашего устройства Android на экране телевизора – это отличный способ показать другим людям экран вашего устройства. Однако сделать это без подключения к Wi-Fi не так просто, как может показаться.
Тем не менее, есть способы обойти эту проблему. В этой статье мы покажем вам, как отразить ваше устройство Android на телевизоре без подключения к Wi-Fi.
Использование встроенного дублирования экрана для Smart TV
Некоторые новейшие телевизоры Smart TV оснащены функцией Screen Mirroring. Эта опция подключается к связанному устройству с помощью Bluetooth, поэтому для работы не требуется подключение к Wi-Fi. Не все устройства поддерживают это, и ваш телевизор и устройство Android должны быть совместимы с Miracast, чтобы это работало должным образом.
Крупные производители, такие как Samsung, Sony и LG, включают эти функции по умолчанию в свои новейшие телевизоры. Если вы хотите узнать, поддерживает ли ваш телевизор Bluetooth, ознакомьтесь со спецификациями производителя.
Убедившись, что оба ваших устройства поддерживают эту функцию, включите Bluetooth на обоих. Затем перейдите к настройкам вашего телевизора. У большинства Smart TV есть этот выбор в меню «Ввод». Если вы видите устройства Bluetooth или дублирование экрана, выберите это, а затем найдите свое устройство Android в списке дублирования экрана.
Ваше устройство Android может сообщить вам, что ваш Smart TV пытается подключиться к нему. Согласитесь на подключение, затем приступайте к зеркалированию обоих устройств. Во время зеркального отображения любые действия, выполняемые на вашем телефоне, будут отражаться на вашем Smart TV.
Если вы хотите отключить дублирование экрана, вы можете отключить эту функцию либо на своем Smart TV, либо на устройстве Android.
Подключение с помощью Bluetooth-ключа
Если у вас нет новейшего телевизора или если ваша модель не поддерживает Bluetooth, вы все равно можете воспользоваться этой функцией с помощью Bluetooth-адаптера. Bluetooth-адаптер подключается через USB-порт и отправляет сигнал Bluetooth, который ваше устройство Android может затем использовать для синхронизации с телевизором.
Подключив адаптер Bluetooth к телевизору, включите функцию Bluetooth на устройстве Android. Подождите, пока ваш Android обнаружит все сигналы Bluetooth в этом районе, а затем, когда он обнаружит ваш телевизор, выберите «Подключиться к устройству».
Подключение устройств через порт HDMI
Самый простой способ подключить Android к телевизору — с помощью кабелей. Все новейшие модели телевизоров будут иметь порты HDMI для подключения, и даже более старые модели должны иметь как минимум порт USB. Для соединения обоих устройств можно использовать кабель USB-HDMI или кабель USB-USB.
Помните, что если вы хотите пойти по этому пути, вам необходимо включить отладку по USB на вашем устройстве Android. Если отладка по USB отключена, ваше устройство может просто заряжаться при подключении к телевизору.
Чтобы включить отладку по USB, выполните следующие действия:
- Откройте настройки телефона и выполните поиск по запросу "О телефоне".
- Прокрутите меню вниз, чтобы найти номер сборки, затем коснитесь его семь раз.
- Появится сообщение о том, что дальнейшее нажатие активирует параметры разработчика. Это стандартное предупреждение. Продолжайте вводить номер сборки.
- После включения параметров разработчика они будут отображаться в виде отдельного меню в разделе "Системные настройки".
- Откройте "Настройки", "Системные настройки", затем "Параметры разработчика".
- Пролистайте вниз, пока не найдете отладку по USB.
- Нажмите переключатель, чтобы включить отладку по USB.
После включения отладки по USB вы можете подключить устройство Android к телевизору с помощью кабелей. Зеркальное отображение экрана должно происходить автоматически после их подключения. В зависимости от длины вашего кабеля это может быть идеальным решением, если у вас нет функции Bluetooth для вашего телевизора.
Если вы хотите прекратить зеркальное отображение своего экрана, все, что вам нужно сделать, это отсоединить кабель от любого из ваших устройств.
Беспокойная ситуация
Отсутствие Wi-Fi, когда вы пытаетесь подключить Android к телевизору, определенно вызывает затруднения. Но есть несколько способов обойти это ограничение и транслировать свой телефон на большой экран. Знать, как это сделать, безусловно, полезно.
Знаете ли вы другие способы зеркалирования устройства Android на телевизор без Wi-Fi? Поделитесь своими мыслями в разделе комментариев ниже.
Я могу получить доступ к веб-серверу моего ноутбука с помощью эмулятора Android, я использую 10.0.2.2: порт не работает.
Но когда я подключаю свой настоящий телефон Android, браузер телефона не может подключиться к тому же веб-серверу на моем ноутбуке. Телефон подключен к ноутбуку с помощью кабеля USB. Если я запускаю команду adb devices, я вижу свой телефон.
Что я упускаю?
Отключите брандмауэр на время тестирования веб-страницы или добавьте свой IP-адрес в доверенные сети в настройках брандмауэра.
43 Ответы 43
USB не предоставляет сеть для мобильного устройства.
Если ваш рабочий стол и телефон подключены к одной и той же сети Wi-Fi (или к любой другой локальной сети), используйте IP-адрес своего рабочего стола, назначенный маршрутизатором (не localhost и не 127.0.0.1 ).
Чтобы узнать IP-адрес вашего рабочего стола:
- введите в командной строке ipconfig (Windows) или ifconfig (Unix)
- в Linux однострочный ifconfig | grep "инет" | grep -v 127.0.0.1 выдаст только самое важное
- есть множество предложений о том, как получить аналогичный вывод в Windows
Если ваш телефон подключен к мобильной сети, все будет сложнее.
В противном случае используйте что-то вроде xip.io или ngrok.
ПРИМЕЧАНИЕ. Команда ifconfig устарела и поэтому отсутствует по умолчанию в Debian Linux, начиная с Debian stretch. Новой и рекомендуемой альтернативой для проверки конфигурации сети в Debian Linux является команда ip. Например, чтобы использовать команду ip для отображения конфигурации сети, выполните следующее:
Приведенная выше команда ip может быть сокращена до:
Если вы по-прежнему предпочитаете использовать ifconfig как часть ежедневной процедуры системного администратора, вы можете легко установить его как часть пакета net-tools.
Я не понимаю этого решения проблемы. Можете ли вы помочь мне с тем, как мой телефон может получить доступ к моему серверу? Я надеюсь, что вы конкретизируете это решение для меня. Спасибо.
Это не должен быть принятый ответ на этот вопрос. Переадресация портов в Chrome devtools и adb reverse отлично работает с кабелем USB.
На самом деле это довольно просто.
- Включите точку доступа Wi-Fi на телефоне/маршрутизаторе Android и подключите ноутбук к телефону.
- Запустите свой сервер на локальном хосте (я использую сервер WAMP для Windows)
- Теперь откройте командную строку и введите
После этого вы увидите примерно следующее:
- Скопируйте адрес IPv4 (в данном случае это 192.168.43.76 )
- В мобильном браузере просто вставьте адрес IPv4.
Примечание. Укажите в качестве своей сети "Домашняя сеть". Установка сети в качестве домашней сети означает, что вы разрешаете своему ПК обмениваться файлами с другими устройствами в той же сети.
Если вы используете Windows 10, это можно сделать следующим образом:
- Откройте Настройки
- Перейдите в раздел Сеть и Интернет
- Выберите WiFi в меню слева.
- Нажмите на название подключенного Wi-Fi.
- Установите для сетевого профиля сети значение Частный
Если у вас возникли проблемы, скорее всего, они связаны с брандмауэром Windows.
- Откройте Панель управления
- Перейдите в раздел Брандмауэр Защитника Windows
- Нажмите «Разрешить приложение или функцию через брандмауэр Защитника Windows».
- Проверьте, включено ли приложение для частных сетей (должна стоять галочка)
- Если он не включен, нажмите «Изменить настройки» и установите флажок в разделе «Личное» для приложения.
Хм, я сделал это, но браузер, кажется, долго загружается, а потом выдает мне ой? Я делаю что-то неправильно? И что вы подразумеваете под домашней сетью
*Домашняя сеть это (: Домашняя сеть означает, что вашему компьютеру разрешено обмениваться файлами с устройствами в той же сети.
"Нажмите Разрешить приложение или функцию через брандмауэр Защитника Windows. Проверьте, включено ли приложение для частных сетей (должна стоять галочка)" Какое приложение вы имеете в виду?
С помощью простого решения (просто получить доступ к Laptop_ip_addr:port с мобильного устройства, когда мобильное устройство и ноутбук подключены к одному и тому же Wi-Fi), я получаю сообщение об ошибке ERR_CONNECTION_REFUSED. То есть мой MacBook как бы отказывается от попытки подключения с мобильного.
Это решение работает для меня (проверено на MacBook):
Недостаток в том, что это работает только с одним мобильным устройством одновременно. Если вам нужен доступ с другого мобильного устройства, сначала отключите первое (отключите отладку по USB), подключите новое (включите отладку по USB) и запустите adb перевернуть tcp:4000 tcp:4000 еще раз.
EDIT: сообщалось, что это решение также работает с Windows.
Еще одно решение, которое всегда должно работать, — это ngrok (как упоминалось в других ответах). Он работает через Интернет, а не по локальной сети.
Он чрезвычайно прост в использовании:
Это выводит, среди некоторой другой информации, строку типа
Обратите внимание, что пока выполняется команда ngrok (пока вы не нажмете Ctrl-C), ваш проект будет общедоступен. Все, у кого есть URL-адрес, могут его увидеть.
Спасибо. Вы мне очень помогли. Я использовал adb reverse, просто заменив порт 4000 на порт 3000, и он работал так, как мне было нужно.
ngrok был тем, что работало для меня в Linux, очень просто, но каждый раз он дает вам другой URL, срок действия которого истекает каждые 2 часа
Я попытался изменить порт, но это сработало только один раз и перестало работать при следующем запуске, поэтому я использовал ngrok для достижения этой цели, и поверьте мне, это потрясающе и работает нормально.
Я добился этого, включив удаленное управление:
- Убедитесь, что ваш телефон и ноутбук подключены к одной и той же сети Wi-Fi.
- На Mac перейдите в раздел «Системные настройки/общий доступ».
- Включить удаленное управление
Вы увидите сообщение, похожее на это:
Портативное решение с ngrok (любая ОС с Node.js)
Если вы не против представить свой проект с временным доменом, вы можете использовать ngrok . Допустим, у меня есть приложение, работающее на локальном хосте: 9460. Я могу просто написать
Это даст мне:
Альтернативное решение с прокси-сервером nginx
Если вы запускаете что-то подобное через nginx proxy_pass, потребуется немного больше настроек — это хакерский подход, но он работает для меня, и я открыт для предложений по его улучшению:
Я включил удаленное управление на своем Mac, как вы сказали, и мне был предоставлен другой набор флажков для различных способов удаленного управления моим компьютером. Я оставил их все неотмеченными, кроме Observe, и у меня это сработало. Мой веб-сервер работал на моем Mac на локальном порту 5555, и я увидел «другие пользователи могут управлять вашим компьютером, используя адрес 10.0.0.12», поэтому в браузере телефона я набрал 10.0.0.12:5555 и увидел свою веб-страницу. < /p>
Это решение можно использовать, когда ваше мобильное устройство и компьютер не находятся в одной сети:
В этом случае необходимо использовать переадресацию портов. В окне проверки Google Chrome (chrome://inspect) вы можете увидеть подключенные устройства.
Нажмите кнопку выбора порта и установите случайный порт, скажем, 3000, на порт, который использует ваш ноутбук, скажем, 8080.
теперь используйте localhost:3000 с устройства для доступа к localhost:8080(или_whatever_ip:portno) на ноутбуке. Вы можете проверить это в мобильном браузере. Попробуйте localhost:3000 в мобильном браузере. Обязательно установите флажок "Включить переадресацию портов" в окне "Настройки переадресации портов"
Хорошо!! Я также хотел бы добавить несколько профессиональных советов с обеих сторон (компьютер и Android): 1. Отключите брандмауэр. 2 Проверьте, не блокирует ли трафик антивирус
На ПК с Windows вам может не понадобиться ничего делать, кроме как узнать свой IPv4-адрес с помощью команды «ipconfig».
- Шаг 1. Подключите телефон к ПК с помощью USB-кабеля.
- Шаг 2. Используйте команду ipconfig, чтобы узнать свой IPv4-адрес (внешний IP-адрес маршрутизатора), например, 192.168.1.5 в моем случае.
- Шаг 3. Просто войдите в «192.168.1.5:8080» в браузере телефона. Это работает!
Другие сведения об окружении: Windows 7, Google Nexus 4 (4.2.2), сервер Tomcat, приложение Grails.
Вы также должны убедиться, что у вас есть разрешение на доступ в Интернет в файле AndroidManifest:
Я пробовал, но постоянно пишет "Соединение отклонено". Почему? :( Порт должен быть 8080? В настоящее время мой веб-сервис работает на другом порту.
Я нашел быстрое решение этой проблемы. Попробуйте эту ссылку. Это должно помочь вам решить проблему.
Я изменил только одну вещь, где в учебнике говорится, что вы меняете «127.0.0.1» на «Все», вместо этого измените его на IP-адрес, на котором работает ваш сервер.
После этого вы сможете подключиться к локальному хосту.
Ниже приведена (вычитанная) копия информации со связанной страницы:
Шаг 1
Установите сервер Wamp (или любой другой по вашему выбору).
Это один из лучших известных мне серверов для настройки локального сервера. Если вы установили Apache или любой другой сервер, пропустите этот шаг.
Загрузите и установите Wamp Server отсюда.
Шаг 2
Добавить новое правило для порта 80 в брандмауэре Windows.
Откройте панель управления и выберите Брандмауэр Windows.
Выберите Дополнительные параметры на левой панели страницы настроек брандмауэра Windows.
Выберите «Правила для входящих подключений» на левой панели, затем выберите «Новое правило».
Выберите порт и нажмите "Далее".
Выберите переключатель "Определенные локальные порты" и введите 80 в качестве значения порта.
Оставьте без изменений Разрешить подключение и перейдите к следующему шагу.
Оставьте параметры профиля без изменений и нажмите "Далее".
Дайте красивое имя новому правилу и нажмите "Готово".
Это включит доступ к порту 80 по IP-адресу локальной сети.
Шаг 3
Нам нужно отредактировать этот файл. В противном случае мы получим запрещенную ошибку 403 при доступе к локальному хосту через IP-адрес локальной сети.
Нажмите значок сервера Wamp на панели задач.
Открыть подменю сервера Apache.
Найдите и замените «127.0.0.1» на «Все», сохраните файл и перезапустите сервер Wamp.
Шаг 4
Найдите свой IP-адрес в локальной сети.
Откройте командную строку.
Введите и введите команду ipconfig.
В моем случае мой локальный сетевой адрес — 10.0.0.2.
Это IP-адрес, который вам нужен для доступа к вашему локальному хосту на вашем телефоне Android через Wi-Fi. Чтобы проверить, работает ли он, введите этот IP-адрес в браузере настольного компьютера, где установлен ваш локальный сервер. Браузер должен успешно отобразить вашу локальную страницу. Это гарантирует, что этот IP-адрес локальной сети теперь успешно доступен на вашем телефоне Android.
Я надеюсь, что это руководство поможет вам получить доступ к локальному хосту через Wi-Fi.
ссылка больше не работает, поэтому весь ответ теперь бесполезен, поскольку в SO не добавлена информация о том, как это сделать.
Похоже, это действительно старая версия Wamp, файлы конфигурации теперь немного сложнее. Особенно, если вы используете функцию VHosts. Не могу понять, слишком много слоев переопределений.
Однако есть гораздо лучшее решение. Вы можете получить доступ к своему хост-компьютеру с IP-адресом «10.0.2.2». Это было разработано таким образом командой Android. Таким образом, ваш веб-сервер может отлично работать на локальном хосте, а из вашего приложения для Android вы можете получить к нему доступ через «http://10.0.2.2:8080».
это правда, хитрость заключается в том, чтобы указать локальный IP-адрес вашего компьютера и получить к нему доступ через беспроводной маршрутизатор, подключенный между вашим устройством Android и вашей системой, также известной как система
Поскольку это старый вопрос, есть новый способ сделать это, который действительно очень прост. Загрузите расширение ADB Chrome и следуйте этим инструкциям:
это работает только для вызовов URL-адресов из Chrome на устройстве или должно работать и в моем приложении?
"Переадресация портов в Chrome для Android позволяет легко тестировать сайт разработки на мобильных устройствах. Она работает путем создания TCP-порта для прослушивания на мобильном устройстве, который сопоставляется с определенным TCP-портом на компьютере для разработки. Трафик между этими портами проходит через USB, поэтому подключение не зависит от конфигурации вашей сети."
Запустите CMD от имени администратора
и на экране CMD введите ipconfig, и на экране появится текст
как это фото
и вы можете получить доступ к вашему локальному хосту, используя этот IP-адрес, вы должны быть подключены к той же сети, к которой подключен ваш компьютер
- Обращения на 127.0.0.1 и локальный хост (из локального хоста или эмулятора Android) работают
- Обращения по адресу 192.168.xxx.xxx не работают ни с локального хоста, ни с локальной, ни с глобальной сети.
Подробнее о диагностике и устранении этой проблемы я рассказываю здесь.
И измените 10.0.2.2 на свой IP-адрес.
Используйте это в своей Ubuntu/Macbook, чтобы получить IP-адрес вашей системы. Ваш мобильный телефон и система должны быть в одной сети
IP-адрес | grep inet Это даст вам IP-адрес, который выглядит как 192.168.168.46.Используйте это на своем смартфоне.
Надеюсь, это поможет.
Решение для Windows:
Вы не можете просматривать свой веб-сайт, в основном из-за того, что ваш брандмауэр (брандмауэр ОС по умолчанию или антивирусный брандмауэр) блокирует входящие подключения.
В брандмауэре Windows:
Чтобы разрешить входящие соединения через определенные порты, перейдите по ссылке:
- Выберите переключатель "Порт".
- Введите конкретный порт/диапазон, на котором вы хотите разрешить входящие подключения (порт, на котором работает ваш сервер)
- Выберите переключатель "Разрешить подключение".
- Нажмите "Далее" (если вы не хотите изменить значения по умолчанию)
- Дайте название правилу и нажмите "Готово".
Примечание:
Если вы используете антивирус с брандмауэром, описанные выше шаги не будут работать, поскольку антивирус отключит брандмауэр Windows и вместо этого запустит собственный брандмауэр.
В этом случае, в зависимости от антивирусной программы, перейдите к настройкам брандмауэра антивируса и откройте порт.
Я использовал этот процесс:
Обратите внимание, что этот процесс требует изменения настроек Wi-Fi на устройстве Android в начале и в конце каждого сеанса. Я нашел это менее болезненным, чем рутирование моего устройства Android.
наконец-то сделано в Ubuntu, я запускаю сервер nodejs на локальном хосте: 8080
1) откройте тип терминала ifconfig, вы получите примерно такой IP-адрес: inet addr:192.168.43.17
2) теперь просто введите URL-адрес следующим образом: "192.168.43.17:8080" (порт 8080 исходит из номера порта локального хоста), например: "192.168.43.17:8080/fetch"
Если это не сработает, то в android установите IP вашего телефона по умолчанию на 127.0.0.1:port :)
Откройте терминал и введите:-
Если вы используете реальное устройство и все еще сталкиваетесь с проблемой, выполните следующие действия, так как эти шаги помогут мне решить проблему:
Надеюсь, вы сможете работать без проблем.
ngrok позволяет разместить локальный хост на временном сервере и очень прост в настройке. Я предоставил здесь несколько шагов, которые можно найти по ссылке:
Вы увидите небольшую панель инструментов в своем терминале с адресом, указывающим на ваш локальный хост. Укажите в приложении этот адрес и создайте его для своего устройства.
Это полезно только для доступа к серверу извне. Вы можете просто использовать локальный IP-адрес сервера.
Решение для подключения моего мобильного устройства к моему wamp-серверу на основе моего ноутбука:
Настроить очень просто:
- щелкните правой кнопкой мыши значок виртуального маршрутизатора на панели задач
- нажмите «Настроить виртуальный маршрутизатор».
- заполнить пароль
- если ваше подключение к Интернету находится в сети Ethernet, выберите Общее подключение: Ethernet
- Затем включите Wi-Fi на ноутбуке и устройстве.
- На вашем устройстве подключитесь к сетевому имени виртуального маршрутизатора.
Затем вы можете подключиться к своему ноутбуку через свое устройство, запустив браузер и заполнив адрес IPV4 своего ноутбука (чтобы найти его в Windows, введите cmd : ipconfig и найдите адрес ipv4)
Вы должны увидеть домашнюю страницу вашего wamp-сервера.
Сталкивался с этой проблемой, используя несколько разных серверов localhost. Наконец, мое приложение заработало на телефоне за считанные секунды, просто используя простой сервер Python. Это займет всего несколько секунд, поэтому стоит попробовать, прежде чем переходить к более сложным решениям. Во-первых, убедитесь, что у вас установлен Python. cmd+r и введите python для Windows или $ python --version в терминале Mac.
Тогда просто найдите адрес вашего хост-компьютера в сети, я использовал Системные настройки/Общий доступ на Mac, чтобы найти его. Коснитесь его на своем Android-устройстве, и ваш index.html должен загрузиться, и все будет хорошо.
Если нет, то проблема заключается в чем-то другом, и вы можете изучить другие предлагаемые решения. Удачи!
* ИЗМЕНИТЬ *
Еще одно быстрое решение, которое можно попробовать, если вы используете Chrome, — это расширение Web Server for Chrome. Я обнаружил, что это быстрый и очень простой способ получить доступ к локальному хосту на моем телефоне. Просто убедитесь, что установлен флажок «Доступно для локальной сети» в разделе «Параметры», и он должен без проблем работать на вашем мобильном телефоне.
Читайте также: