Состояние перевода: На этой странице представлен перевод статьи Android tethering. Дата последней синхронизации: 14 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Тетеринг — это раздача интернета на компьютер со смартфона с помощью его сетевого подключения. USB-модем и точка доступа Wi-Fi точки доступа поддерживаются изначально с Android Froyo (2.2). В более старых версиях ОС Android большинство неофициальных ПЗУ имеют эту функцию.
Точка доступа Wi-Fi
Использование телефона Android в качестве точки доступа Wi-Fi (с использованием мобильного интернета 3G/4G) стало доступно с версии Froyo (Android 2.2) без необходимости иметь root права на телефоне.
Включается одним из следующих способов:
- Настройки > Сеть и Интернет > Точка доступа и модем > Точка доступа Wi-Fi
- Настройки > Ещё. > Режим модема > Точка доступа Wi-Fi
Примечание: На некоторых телефонах этот метод быстро разряжает батарею, и в отличие от USB, приводит к интенсивному нагреву.
Tether (USDT) – что это такое? Объясняю суть криптовалюты Tether (USDT)
USB модем
USB-тетеринг доступен с Android 2.2 «Froyo».
- Подключите телефон к компьютеру с помощью USB кабеля (режим подключения USB — Медиа устройство, Монтирование SD карты или Только зарядка — это не важно, но обратите внимание, что вы не сможете поменять режим подключения USB во время тетеринга)
- Включите режим USB-модем на телефоне. Обычно эта настройка находится одним из следующих способов:
- Настройки -> Сеть и Интернет -> Точка доступа и модем
- Настройки -> Ещё. -> Режим модема -> USB-модем
Примечание: Название устройства может меняться при подключении к другому usb порту. Вы можете изменить название устройства, чтобы создать уникальное имя для вашего устройства к какому бы usb порту вы ни подключились.
- Если вы используете мобильный интернет и недавно начался новый расчетный период, вам может потребоваться перезагрузить телефон.
Использование systemd-networkd с udev
This article or section needs expansion.
Reason: networkd can handle interface changes without a restart, so why this udev rule? (Discuss in Talk:Android tethering (Русский))
Используя systemd-networkd, вы можете автоматически перенастроить сеть на использование телефона в качестве шлюза при его подключении.
/etc/udev/rules.d/90-android-tethering.rules
# Execute pairing program when appropriate ACTION==»add|remove», SUBSYSTEM==»net», ATTR==»18d1″ ENV==»rndis_host», SYMLINK+=»android», RUN+=»/usr/bin/systemctl restart systemd-networkd.service»
Вам может понадобиться изменить атрибут idVendor под ваш телефон. Можно проверить с помощью udevadm:
$ udevadm info /sys/class/net/enp0s26u1u2
Затем создайте соответствующий файл systemd-networkd:
/etc/systemd/network/50-enp0s26u1u2.network
[Match] Name=enp0s26u1u2 [Network] DHCP=ipv4
USB-модем с AziLink
AziLink — это приложение, которое позволяет сделать USB-тетеринг на Android-устройствах без прав root. Это очень полезно для версий Android старее чем 2.2, когда ещё не было встроенной функции USB-тетеринга.
Он не требует изменений в вашем браузере. На самом деле, весь сетевой трафик прозрачно обрабатывается для любого приложения ПК (кроме пингов ICMP). Он несколько интенсивно потребляет процессор при высоких нагрузках (скорость передачи данных 500 кбайт/с может занимать более 50% телефонного процессора).
Необходимые инструменты
На Arch установите пакет openvpn . Также необходимо установить android-tools для команды adb и android-udev для установки корректного /usr/lib/udev/rules.d/51-android.rules , чтобы ваш телефон был распознан. На телефоне вам нужно приложение azilink.apk (домашняя страница azilink), которое представляет собой NAT на базе Java, который будет взаимодействовать с OpenVPN на вашем компьютере.
Настройка соединения с телефоном в Arch Linux
После того, как вы установили Android SDK, чтобы использовать предоставленные инструменты, ваш телефон должен быть правильно настроен в udev, и вы должны предоставить пользователю Linux права. В противном случае вам могут потребоваться привилегии root для использования Android SDK, что не рекомендуется. Чтобы выполнить эту настройку, включите отладку USB на телефоне (обычно в меню «Настройки» -> «Приложения -> Разработка -> USB-отладка»), подключите его к ПК с помощью USB-кабеля и выполните команду lsusb . Устройство должно быть в списке. Пример вывода для телефона Acer Liquid:
Bus 001 Device 006: ID 0502:3202 Acer, Inc.
Затем создайте следующий файл, заменив ciri на ваше собственное имя пользователя Linux, и 0502 на Vendor ID вашего телефона:
/etc/udev/rules.d/51-android.rules
SUBSYSTEM==»usb», ATTR(idVendor)==»0502″, MODE=»0666″ OWNER=»ciri»
Как root выполните команду udevadm control —reload (или перезагрузите компьютер), чтобы применить изменения.
Чтобы убедиться, что изменения применились, выполните adb devices , и она должна отобразить device вместо unauthorized .
Также можно попробовать выполнить на вашем Linux-ПК команду adb shell из Android SDK в качестве обычного (не root) пользователя: вы должны получить приглашение unix «на телефоне».
Процедура
Запустите приложение AziLink в телефоне и выберите «О программе» внизу, чтобы получить инструкции, которые в основном:
- Вам нужно будет включить отладку USB на телефоне, если она еще не была включена (обычно в меню «Настройки» -> «Приложения» -> «Разработка» -> «Отладка USB»).
- Подключите телефон с помощью кабеля USB к ПК.
- Запустите AziLink и убедитесь, что в верхней части окна отмечена опция Активная служба.
- Выполните на своем ПК Linux следующие команды:
$ adb forward tcp:41927 tcp:41927 # openvpn azilink.ovpn
azilink.ovpn
dev tun remote 127.0.0.1 41927 tcp-client ifconfig 192.168.56.2 192.168.56.1 route 0.0.0.0 128.0.0.0 route 128.0.0.0 128.0.0.0 socket-flags TCP_NODELAY keepalive 10 30 dhcp-option DNS 192.168.56.1
Вам может потребоваться вручную обновить содержимое resolv.conf до
/etc/resolv.conf
nameserver 192.168.56.1
Если вы используете NetworkManager, вам может потребоваться остановить его перед запуском OpenVPN.
USB-модем с EasyTether
Скачайте клиент easytether. Устанавливается так:
# pacman -U easytether-0.8.5-2-x86_64.pkg.tar.xz # easytether-usb # dhcpcd tap-easytether
Убедитесь, что Android-приложение EasyTether установлено на телефоне, к которому будет производиться приключение. Примечание: Lite-версия приложения отключает некоторые соединения, и вам нужно купить полную версию для полной функциональности. По этой причине рекомендуется использовать AziLink.
Модем через Bluetooth
Android (по крайней мере, начиная с 4.0, возможно, ранее) может предоставить персональную сеть Bluetooth (PAN) в режиме точки доступа.
NetworkManager может выполнить это действие и самостоятельно обработать инициализацию сети; Обратитесь к его документации для получения более подробной информации.
В качестве альтернативы: убедитесь, что вы можете подключить свой компьютер и устройство Android, как описано в Bluetooth (Русский), затем, заменяя адрес устройства (здесь задан как AA_BB_CC_DD_EE_FF ), выполните:
$ dbus-send —system —type=method_call —dest=org.bluez /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF org.bluez.Network1.Connect string:’nap’
Это создаст сетевой интерфейс bnep0 . В заключение, настройте сетевое соединение на этом интерфейсе; Android по умолчанию предлагает DHCP.
Подключение через прокси-сервер SOCKS
С этим методом привязка достигается путем переадресации порта с телефона на ПК. Это подходит только для браузеров. Для Firefox вам следует установить параметру network.proxy.socks_remote_dns значение true в about:config ( адресная строка )
Необходимые инструменты
- Пакеты android-tools и android-udev
- Кабель USB для подключения вашего телефона к ПК
- Один из двух: Tetherbot или Proxoid
Инструкция
Tetherbot
Tetherbot is an experimental SOCKS proxy and Port Bouncer that should allow you to connect your laptop to the internet using the internet connection (EDGE, 3G or Wifi) of your T-Mobile G1 Cellphone.
Проект закрыт и веб-сайт уже не работает, но его архив доступен в Wayback Machine[1], откуда можно скачать APK.
Чтобы использовать SOCKS-прокси от Tetherbot для подключения браузера к интернету, выполните следующие действия:
- На телефоне запустите приложение Tetherbot и нажмите кнопку Start Socks
- На компьютере пробросьте порт до SOCKS-прокси следующей командой:
# adb forward tcp:1080 tcp:1080
Примечание: Не забудьте отключить прокси в настройках браузера, если вы хотите прекратить использование соединения с телефоном.
Proxoid
Следуйте инструкциям, приведенным в следующих разделах link
Retrieved from «https://wiki.archlinux.org/index.php?title=Android_tethering_(Русский)
- Android (Русский)
- Network sharing (Русский)
Источник: aniam.org
Как настроить Wi-Fi Tethering на Galaxy
Android
Автор Петров Денис На чтение 4 мин Просмотров 25 Опубликовано 28.01.2022
Когда дело доходит до подключения, владельцам Samsung Galaxy Note 9 предлагается самая захватывающая функция Wi-Fi tethering. Если вы уже купили новый Samsung Galaxy Note 9, вы, возможно, еще не успели познакомиться с этой захватывающей функцией, но в этом руководстве мы покажем вам все, что нужно знать о функции Mobile Hotspot/Wi-Fi tethering на вашем смартфоне.
Если вы знакомы с плохим интернет-соединением все время, то вот кое-что, что может все это изменить. Все это время вы подключались к публичным сетям Wi-Fi, даже зная, что они крайне небезопасны. А теперь, когда вы положили глаз на Galaxy Note 9, вы можете использовать это руководство, чтобы узнать, как настроить функцию Wi-Fi tethering, чтобы наслаждаться безупречным и безопасным Wi-Fi интернет-подключением.
Совместное использование интернет-подключения вашего устройства никогда не было таким интересным, и хорошей новостью является то, что вы можете выбрать те устройства, с которыми вы хотели бы поделиться своим интернетом через Wi-Fi tethering.
Если перспектива использования этой функции уже привлекает вас, то вы найдете все приключение довольно удивительным и классным опытом.
Беспокоитесь, что Wi-Fi разряжает ваш аккумулятор?
Основная задача этого руководства — проиллюстрировать нашим уважаемым читателям легкость, с которой они могут настроить и начать использовать точку доступа Wi-Fi на своих смартфонах Samsung Galaxy Note 9 и Galaxy Note 9.
На других форумах эта функция также обычно называется Wi-Fi tethering. Многие люди, которые с ней столкнулись, уже спрашивают, как она работает и как ее настроить.
Самые популярные функции совместного доступа в интернет имеют привычку разряжать батареи смартфонов. Это также вызывает серьезные опасения у пользователей Samsung Galaxy Note 9, желающих воспользоваться этой новой функцией.
Справедливо проявлять осторожность. Это особенно верно, потому что все мы знаем, как проблемы с батареей могут стать занозой в плоти большинства смартфонов. Но в Galaxy Note 9 проблема батареи не должна вызывать беспокойства.
Samsung может заверить вас в этом, разработав более долговечный и прочный аккумулятор емкостью 4000 мАч для Galaxy Note 9. Однако, по правде говоря, это не исключает того, что при частом использовании функции Wi-Fi tethering аккумулятор будет разряжаться немного быстрее.
Разница лишь в том, что по сравнению с другими смартфонами аккумулятор Galaxy Note 9 прослужит дольше. Кроме того, он не будет вздуваться или проявлять те же недостатки, что и батареи других смартфонов.
Батарея в стороне, давайте перейдем к основной повестке дня. Мы расскажем вам, как настроить Wi-Fi tethering на вашем Galaxy Note 9. Прежде чем активировать и начать использовать функцию точки доступа Wi-Fi, ее необходимо сначала настроить.
Эта процедура включает в себя настройку учетных данных и информации о безопасности, такой как пароль для входа в систему. Безопасное соединение Wi-Fi очень важно, поэтому в устройстве предусмотрены параметры безопасности WPA2.
Шаг 1. Настройка Wi-Fi Tethering на Samsung Galaxy Note 9
- Перейдите в меню настроек, опустив вниз панель уведомлений и нажав на значок настроек.
- Нажмите на Подключения для просмотра ваших подключений
- Откройте Tethering и Wi-Fi hotspot затем,
- Нажмите на функцию Mobile hotspot
- Теперь включите функцию, нажав на тумблер
- Чтобы отключить эту функцию, все, что вам нужно сделать, это нажать на тот же тумблер. После этого вы получите уведомление о том, что Wi-Fi соединение было отключено.
- Для завершения настройки нажмите на OK
Инструкции по подключению других устройств проверьте в нижней части этого окна перед выходом на главный экран.
Шаг 2. Изменение учетных данных точки доступа на Galaxy Note 9
- Зайдите в Настройки и найдите Подключения.
- В настройках подключения перейдите в раздел Tethering and Wi-Fi Hotspot
- Выберите пункт from Mobile Hotspot
- Нажмите на значок с тремя точками, чтобы открыть дополнительные настройки
- Выберите опцию Configure
- Вы увидите поле, в котором нужно задать пароль, нажмите на это поле, чтобы изменить пароль.
- Завершите это действие нажатием на кнопку Сохранить, и сделанные изменения немедленно вступят в силу.
Как только вы выполните все вышеперечисленные действия, вы сможете начать пользоваться всеми преимуществами Wi-Fi соединения Samsung Galaxy Note 9, предоставляя общий доступ к интернет-соединению.
Любое другое устройство может предоставить общий доступ к вашему интернет-соединению. Все, что вам нужно сделать, это включить Wi-Fi tethering на вашем смартфоне Samsung Galaxy Note 9.
YouTube видео: Как настроить Wi-Fi Tethering на Galaxy
Источник: gud-pc.com
Delphi разработка под Android
Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.
пятница, 3 апреля 2015 г.
App Tethering #1: Поиск и подключение к удалённым приложениям
Решил рассмотреть эту технологию поближе.
App Tethering в RAD Studio – это компоненты, позволяющие приложениям взаимодействовать друг с другом на одном компьютере, по сети и на разных платформах.
- App Tethering #1: Поиск и подключение к удалённым приложениям
- App Tethering #2: Используем удалённые действия (Actions)
- App Tethering #3: Передача и получение данных
Возможности данной технологии очень широки. Её можно использовать в большом количестве сфер (авто, торговля, промышленность и т.д.), также можно значительно упростить организацию системы «Умный дом» или создать приложение, с помощью которого можно управлять основным приложением, установленным на ноутбуке. Или написать игру, в которой будет реализован Мультиплеер.
App Tethering – использует модель обмена информацией «peer-to-peer». Т.е. каждое подключённое устройство/приложение может выступать одновременно в роли «Клиента» и «Сервера». Подключаться можно посредством локальной сети, Wi-Fi или Bluetooth (работает только на Windows, Mac и Android).
Сразу скажу, что с RAD Studio поставляется 4 примера использования данных компонентов, найти их можно тут «C:UsersPublicDocumentsEmbarcaderoStudio15.0SamplesObject PascalRTLTethering».
Общая, техническая информация.
Приложения, использующие компоненты App Tethering могут видеть друг друга на одном устройстве, в локальной сети, по Wi-Fi и Bluetooth.
Способы подключения:
- Автоматический режим
- Ручной режим
Чтобы избежать подключения сторонних (не доверенных) приложений, можно и нужно установить пароль на подключение (свойство Password у компонента TetheringManager).
При подключении, есть возможность указать определённую цель, прописав IP адрес.
Менеджеры подключения хранят информацию о подключении в течение текущей сессии. Поэтому, если вдруг была потеряна связь между приложениями, например по причине недосягаемости, то в момент, когда приложения/устройства будут в пределах досягаемости друг друга, подключение произойдёт автоматически (без запроса пароля). Также имеется возможность постоянного хранения (в виде локального файла) информации о подключении.
С помощью App Tethering можно:
- Запускать действия удалённо.
- Передавать данные стандартных типов и потоки
Теперь рассмотрим всё это более подробно…
Для того чтобы использовать все возможности App Tethering, необходимо разместить на форме два компонента «TTetheringManager» и «TTetheringAppProfile». Ниже рассмотрим базовые свойства и события этих компонентов, после чего попробуем использовать их в нашем тестовом приложении.
TTetheringManager — компонент, отвечающий за подключение. Позволяет обнаружить и соединиться с другими менеджерами, которые в свою очередь предоставляют доступ к удалённым профилям (компонент TetheringAppProfile). Может быть связан с одним или более профилями, одним или более адаптерами, и одним или более протоколами.
TTetheringAppProfile – компонент, отвечающий за обработку данных. Определяет, какие данные будут доступны удалённым профилям, а также обрабатывает данные приходящие с удалённых профилей.
Теперь попробуем соединить два приложения и вывести информацию о соединении.
Соединим приложения в автоматическом режиме, а потом уже рассмотрим ручной режим соединения.
Автоматический режим соединения.
Для начала создаём два проекта, первый назовём «Server», второй «Client». Такие названия я выбрал для наглядности. Теперь, в каждом проекте добавляем на форму компоненты «TTetheringManager» и «TTetheringAppProfile» и изменяем свойства (дублируя):
TTetheringManager
- AllowedAdapters: Network – выбираем тип подключения
- Enabled: True
- Password: 12345 – Устанавливаем пароль на подключение
- Name и Text: TMServer и TMClient – это имя менеджера для каждого проекта, оно будет отображаться в информации о подключении
TTetheringAppProfile
- Enabled: True
- Group: TestTethering – это свойство определяет группу профилей, которые будут автоматически соединяться
- Manager – выбираем менеджер, который лежит на форме рядом профилем
- Name и Text: TAPServer и TAPClient – это имя профиля, будет отображаться при запросе списка доступных профилей
На этом настройка завершена.
Теперь для наглядности добавим несколько компонентов, которые помогут нам определить, удалось ли установить соединение между приложениями. В каждом проекте положим на форму: 1 – TLabel, 1 – TMemo.
Результат будет примерно такой:
Далее в коде пропишем:
- Обработчик для события FormShow у формы
- Три обработчика событий для компонента «TTetheringManager»: OnPairedFromLocal, OnPairedToRemote, OnRequestManagerPassword.
Сразу опишу эти события:
- OnPairedFromLocal – срабатывает, когда удалённый менеджер успешно соединился с локальным (позволяет получить информацию о подключении)
- OnPairedToRemote – срабатывает, когда локальный менеджер успешно соединился с удалённым (позволяет получить информацию о подключении)
- OnRequestManagerPassword – срабатывает, когда для подключения требуется ввод пароля (прим. Если просто указать свойство Password и не писать обработчик для этого события, то соединение не происходит. Возможно проблема у меня в среде разработки(XE7). По этой причине, приходится писать обработчик для события и указывать в открытом виде пароль.)
Чтобы инициировать автоматическое подключение, необходимо вызвать метод «AutoConnect» у компонента «TTetheringManager».
Код для проекта «Client» (для проекта «Server» идентичный, только вместо «Client» необходимо написать «Server»):
procedure TForm1.FormShow(Sender: TObject); begin Label1.Text := ‘Local Manager: ‘ + TMClient.Identifier; TMClient.AutoConnect(); end; procedure TForm1.TMClientPairedFromLocal(const Sender: TObject; const AManagerInfo: TTetheringManagerInfo); begin Memo1.Lines.Add(‘PairedFromLocal: ‘ + AManagerInfo.ManagerIdentifier + ‘ ‘ + AManagerInfo.ManagerText); end; procedure TForm1.TMClientPairedToRemote(const Sender: TObject; const AManagerInfo: TTetheringManagerInfo); begin Memo1.Lines.Add(‘PairedToRemote: ‘ + AManagerInfo.ManagerIdentifier + ‘ ‘ + AManagerInfo.ManagerText); end; procedure TForm1.TMClientRequestManagerPassword(const Sender: TObject; const ARemoteIdentifier: string; var Password: string); begin Password := ‘12345’; end;
Запускаем оба приложения и видим результат:
Исходники примера: Скачать с Google Drive
Ну вот, теперь мы умеем настраивать автоматическое подключение. Как видите, ничего сложного в этом нет.
Давайте посмотрим, как же нам подключаться в ручном режиме.
Ручной режим соединения.
Огромным плюсом данного режима является возможность контролировать соединение с менеджерами и профилями. В случае если менеджеров или профилей большое количество, то мы можем выбрать только необходимые нам и установить с ними соединение.
Для того чтобы выполнить соединение, нам необходимо выполнить три простых шага:
- Вызываем метод «DiscoverManagers» у компонента «TTetheringManager», данный метод позволяет найти все доступные менеджеры. После завершения работы данного метода происходит событие «OnEndManagersDiscovery».
- Читаем список обнаруженных менеджеров и вызываем метод «PairManager» у компонента «TTetheringManager» указав при этом менеджера, с которым хотим соединиться. Каждый раз, когда мы соединяем свой менеджер с удалённым, происходит событие «OnEndProfilesDiscovery».
- Читаем список доступных профилей и вызываем метод «Connect» у компонента «TTetheringProfile» указав при этом профиль, с которым хотим соединиться.
Давайте попробуем реализовать эти шаги в коде.
Скопируем предыдущий пример и внесём в него некоторые изменения:
- Сохраним весь код из предыдущего примера, замена будет только в обработчике события «FormShow»
- Добавим на формы два ЛистБокса, один для отображения списка доступных Менеджеров, другой для Профилей. По клику будем осуществлять подключение.
- Напишем ещё немного кода
У меня изменения выглядят вот так:
Весь код приложения (проект «Server»):
procedure TForm2.FormShow(Sender: TObject); begin Label1.Text := ‘Local Manager: ‘ + TMServer.Identifier; TMServer.DiscoverManagers(); end; procedure TForm2.ListBox1ItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin TMServer.PairManager(TMServer.RemoteManagers[Item.Index]); end; procedure TForm2.ListBox2ItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin TAPServer.Connect(TMServer.RemoteProfiles[Item.Index]); end; procedure TForm2.TMServerEndManagersDiscovery(const Sender: TObject; const ARemoteManagers: TTetheringManagerInfoList); var i: Integer; begin if ARemoteManagers.Count > 0 then begin for i := 0 to ARemoteManagers.Count — 1 do begin ListBox1.Items.Add(ARemoteManagers.Items[i].ManagerText); end; end; end; procedure TForm2.TMServerEndProfilesDiscovery(const Sender: TObject; const ARemoteProfiles: TTetheringProfileInfoList); var i: Integer; begin if ARemoteProfiles.Count > 0 then begin for i := 0 to ARemoteProfiles.Count — 1 do begin ListBox2.Items.Add(ARemoteProfiles.Items[i].ProfileText); end; end; end; procedure TForm2.TMServerPairedFromLocal(const Sender: TObject; const AManagerInfo: TTetheringManagerInfo); begin Memo1.Lines.Add(‘PairedFromLocal: ‘ + AManagerInfo.ManagerIdentifier + ‘ ‘ + AManagerInfo.ManagerText); end; procedure TForm2.TMServerPairedToRemote(const Sender: TObject; const AManagerInfo: TTetheringManagerInfo); begin Memo1.Lines.Add(‘PairedToRemote: ‘ + AManagerInfo.ManagerIdentifier + ‘ ‘ + AManagerInfo.ManagerText); end; procedure TForm2.TMServerRequestManagerPassword(const Sender: TObject; const ARemoteIdentifier: string; var Password: string); begin Password := ‘12345’; end;
Как видите, весь код соответствует описанным выше трём шагам. Думаю пояснять код ещё раз нет необходимости, но если появились вопросы, то пишите в комменты.
Источник: delphifmandroid.blogspot.com