- Как настроить параметры DHCP для WIFI Tethering (Hotspot) на Android?
- Как настроить параметры DHCP для WIFI Tethering (Hotspot) в android
- 3 ответа
- Как настроить параметры DHCP для WiFi-модема (точки доступа) на Android?
- МВ /системы/Бен/раздача /системы/Бен/раздача.Бен
- !/система/Бен/ш
- удалить старый маршрут, добавлять новые
- установить новый IP-адрес на Wi-Fi-интерфейсом
- вдохнуть новую подсеть в жестко заданных аргументов, полученных от разности температур эквивалентной шуму фотоприемника
- выполнить исходный двоичный новые аргументы
- выполнять бинарники из /системы/Бен
- выполнение /системы/Бен/ш
- выполнение /системы/Бен/Toolbox и ее апплетов
- настроить правила RPDB / таблицы маршрутизации
Как настроить параметры DHCP для WIFI Tethering (Hotspot) на Android?
При подключении моего компьютера к точке доступа Wi-Fi на Android он назначил 192.168.42.x адрес моему компьютеру. Мне действительно нужно изменить это, так как это конфликтует с одной из наших рабочих подсетей — возможно ли это?
К сожалению, нет способа изменить диапазон IP-адресов для встроенной поддержки модема, даже в CyanogenMod. IP-адрес точки доступа Wi-Fi жестко задан в android.net.wifi.WifiStateMachine.startTethering () ; IP-адрес USB-подключения жестко запрограммирован в com.android.server.connectivity.Tethering .
Однако, если ваш телефон рутирован, вы можете попробовать использовать сторонние приложения для модема, у которых есть возможность изменить диапазон IP-адресов. Например, когда встроенный USB-модем был нарушен в CyanogenMod alphas для Samsung Galaxy W, я использовал Wired Tether для корневых пользователей , у которого есть такая опция. Для подключения к Wi-Fi вы можете попробовать приложение Wireless Tether for Root Users от тех же авторов, у которого также есть возможность изменить диапазон IP-адресов.
Поскольку код Google был закрыт, вышеуказанные ссылки больше не работают. Некоторые люди экспортировали исходный код из этих репозиториев в GitHub:
Однако дальнейших разработок не было, и приложения, вероятно, больше не работают на последних версиях Android.
На тот случай, если кто-то захочет попробовать эти устаревшие приложения, я смог найти некоторые APK-файлы в архиве кода Google :
Встроенный Wi-Fi-модем Android предназначен для использования 192.168.43.1/24 в качестве сервера с netd использованием модема-модема dnsmasq . Первый диапазон DNS 192.168.42.1-254 и 2-й диапазон DNS 192.168.43.1-254 .
Netd не легко изменить. Для связи с ним требуется сокет, и этот разъем берется, когда андроид начинает подключаться. Но, просматривая исходные файлы для Tethering.java (я использовал Froyo), мы видим:
И позже мы увидим эти диапазоны, как резервные копии .
Основным источником для диапазонов dhcp являются не жестко закодированные 42 и 43, а чтение из array.config_tether_dhcp_range, внутреннего строкового массива. Но это в настоящее время пусто.
Вы можете редактировать рамки Android. На моем телефоне это так /system/framework/framework-res.apk . Есть целая тонна учебников онлайн для редактирования рамки-res.apk, от простых строк до полной тематизации. Найти один для вашего телефона и Android-версии.
Главное, что вы хотите изменить, это /res/values/arrays.xml
скомпилируйте / запакуйте / подпишите как необходимо (следуйте инструкциям), затем переустановите.
Если вы хотите более одного диапазона, просто скопируйте два элемента снова и снова. Вы всегда должны обеспечить старт и остановку для каждого диапазона. Старайтесь держать его в том же / 24, то есть 192.168.50. 5 и 192.168.50.99 или что-то еще Вы можете подтвердить, что он работает, busybox ps | grep dnsmasq или если у вас нет busybox, ps dnsmasq используйте pid cat /proc/pid/cmdline . Вы должны получить (или подобное):
/ system / bin / dnsmasq —no-daemon —no-poll -no-resolv —dhcp-range = 192.168.50.5,192.168.50.99,1h
FWIW, мой WIFI-модем использует dnsmasq диапазоны по умолчанию , но мой компьютер был назначен 192.168.43.147/24 и шлюз 192.168.43.1/24 . Не уверен, почему ваш 42.x адрес по умолчанию .
Я знаю, что это старый пост, но думал, что предоставлю обновление. Похоже, некоторые производители и версии Android теперь позволяют изменять диапазон IP-подсетей для DHCP-сервера через пользовательский интерфейс при использовании функции точки доступа WiFi. Вот где его можно найти на HTC One M8 под управлением Android 6.0. YMMV.
На экране «Мобильная точка доступа» щелкните значок 3 точки (подробнее), перейдите в раздел «Дополнительно», а затем «Параметры локальной сети». В разделе «Локальный IP» измените IP-адрес на нужный вам IP. В разделе «Локальный DHCP» измените начальный IP-адрес, чтобы он соответствовал подсети вашего IP-адреса.
ПРИМЕЧАНИЕ. Требуется рут.
Диапазон IP-адресов DHCP по умолчанию жестко задан ( 1 ) , вы не можете изменить его, не восстанавливая ПЗУ с измененным исходным кодом. Или использовать небольшой взломать.
Когда вы включаете модем, что происходит (по крайней мере):
- hostapd — демон, который управляет точками доступа — запущен.
- Сетевые интерфейсы настроены, IP-адрес добавлен к интерфейсу Wi-Fi (жестко задан до Android Pie ( 2 , 3 ) , рандомизирован после ( 4 ) ) и добавлена таблица маршрутизации ( 5 ) для локальной сети ( 6 ) .
- dnsmasq — сервер DHCP / DNS (до Pie) — запускается с жестко закодированными аргументами командной строки ( 7 ) (в противном случае можно задать /etc/dnsmasq.conf ( 8 ) ).
Таким образом, мы можем заменить /system/bin/dnsmasq пользовательский сценарий оболочки, взяв на себя управление процессом между ними. Переименуйте исходный бинарный файл в другое:
Создать скрипт /system/bin/dnsmasq :
Подтвердите название вашего интерфейса Wi-Fi ( wlan0 обычно). Проверьте с помощью ip link или ls /sys/class/net/ .
Кроме того, убедитесь ваша локальная таблица маршрутизации сети является 97 : grep local_network /data/misc/net/rt_tables . Маршрутизация Android — беспорядок, усложняющийся с каждым новым выпуском. Так что я не уверен, было ли это постоянным или нет. Также, прежде чем вносить какие-либо изменения, проверьте свою политику маршрутизации и таблицы, чтобы выяснить, что вы должны добавить в свой скрипт:
Правила SELinux также должны быть определены, если (все или некоторые) еще не определены, и если статус равен enforcing . Используйте Magisk suploicy или другой подобный инструмент, например sepolicy-inject :
* не сохраняется при перезагрузке, используйте какой-либо init.d скрипт или замените /sepolicy в ramdisk
Установить права на файлы:
Или вы можете настроить полную привязку из командной строки, запустив свои собственные процессы. Этот ответ включает в себя инструкции, хотя вопрос в другом.
Источник
Как настроить параметры DHCP для WIFI Tethering (Hotspot) в android
При подключении моего компьютера к Wi-Fi Wi-Fi, он назначил адрес 192.168.42.x на мой компьютер. Мне действительно нужно изменить это, поскольку оно противоречит одной из наших подсетей работы — возможно ли это?
3 ответа
К сожалению, нет способа изменить диапазон IP-адресов для встроенной поддержки модема, даже в CyanogenMod. IP-адрес точки доступа Wi-Fi жестко закодирован в android.net.wifi.WifiStateMachine.startTethering () ; IP-модем USB жестко закодирован в com.android.server.connectivity.Tethering .
Однако, если ваш телефон укоренен, вы можете попробовать использовать сторонние приложения для привязки, у которых есть возможность изменить диапазон IP-адресов. Например, когда встроенный USB-модем был сломан в CyanogenMod alphas для Samsung Galaxy W, я использовал Проводной Tether for Root Users , который имеет такой вариант. Для привязки Wi-Fi вы можете попробовать Wireless Tether for Root Users приложение из те же авторы, которые также имеют возможность изменить диапазон IP-адресов.
Поскольку Google Code был закрыт, вышеуказанные ссылки больше не работают. Некоторые люди экспортировали исходный код из этих репозиториев в GitHub:
Однако никаких дальнейших действий по развитию не было, и приложения, вероятно, больше не работают с последними версиями Android.
На всякий случай кто-то хочет попробовать эти устаревшие приложения, я смог найти некоторые файлы APK в Архив Google Code :
Источник
Как настроить параметры DHCP для WiFi-модема (точки доступа) на Android?
При подключении ПК к Android по Wi-Fi роутер, он назначен `192.168.42.адрес X на моем компьютере. Я действительно нужно, чтобы изменить это, как он конфликтует с одним из наших работает подсети — это возможно?
К сожалению, нет никакого способа, чтобы изменить диапазон IP-адресов для встроенного модема поддержка, даже в CyanogenMod. Модуль Wi-Fi точки доступа и IP встроен в Android.чистая.беспроводной доступ в интернет.WifiStateMachine.startTethering(); USB-модем ИС встроен в ком.андроид.сервер.подключение.Модем.
Однако, если ваш телефон коренится, вы можете попробовать использовать сторонние приложения для модема, которые имеют возможность менять диапазон IP-адресов. Е. Г., когда встроенные USB-модем был сломан в CyanogenMod Альфы для Samsung Галактики Вт, я использовал проводного троса для корневых пользователи, который имеет такую возможность. Для Wi-Fi модема, вы можете попробовать беспроводная привязь для корневых пользователи приложение от тех же авторов, который также имеет возможность менять диапазон IP-адресов.
Потому что код Google была закрыта, ссылки выше уже не работают. Некоторые люди экспортировать исходный код из тех репозиториев на GitHub:
Однако, дальнейшее развитие деятельности, а также приложения, наверное, уже не работает на последних версиях Android.
Просто в случае если кто-то хочет попробовать эти устаревшие приложения, я был в состоянии найти некоторые файлы APK в разделе Гугл код архиве:
Встроенный модем Андроид WiFi предназначена для использования 192.168.43.1/24 в качестве сервера, с разности температур эквивалентной шуму фотоприемника на погрузочно-разгрузочные работы модема, используя раздача . Первый DNS-спектр является 192.168.42.1-254-и и 2-й ДНС диапазон 192.168.43.1-254 .
Разности температур эквивалентной шуму фотоприемника не легко изменить. Это требует сокет для общения с ним, и что исполнение принимается, когда Android начнет привязывать. Но пройдя через источник файлов для Tethering.java` (я использовала йогурт) мы видим:
И позже мы видим эти диапазоны используются, в качестве резервных.
Основным источником для DHCP-диапазоны не жестко 42 и 43, но читать из массива.config_tether_dhcp_range, внутренний массив строк. Но он пуст.
Вы можете редактировать рамки для Андроид. На моем телефоне, это /системы/рамки/рамки-РЭС.АПК . Есть Т учебники онлайн Для редактирования рамочные-Res.АПК, от простой струны до полной тематизации. Найти один для вашего телефона и версии Android.
Главное, что вы хотите изменить это /res/values/arrays.xml
компиляции/молния/знак по мере необходимости (следите за учебник), а затем переустановить.
Если вы хотите больше, чем один диапазон, просто скопируйте две вещи снова и снова. Вы всегда должны обеспечить старт и стоп для каждого диапазона. Попробуйте сохранить его в той же /24, т. е. 192.168.50 .5 и 192.168.50.99 или любой другой. Вы можете подтвердить, что работает с busybox и ПС | грэп раздача или если вы Don’т иметь busybox и ПС раздача затем использовать пид в кошка /proc/пид/командной строки`. Вы должны получить (или похожие):
/системы/Бен/раздача-нет-демон . нет-опрос -нет-и-DHCP-сервер-диапазон=192.168.50.5,192.168.50.99,1 ч
Чистки рядов, моей WiFi-модем использует диапазоны по умолчанию раздача , пока мой компьютер был назначен 192.168.43.147/24 и шлюз 192.168.43.1/24 . Не знаю, почему твой дефолт в 42.х адрес.
Я знаю, это старый пост, но думал, я хотел бы представить обновленную информацию. Похоже, некоторые производители и версий Android теперь позволяют изменять диапазон подсети IP для DHCP-сервера с помощью пользовательского интерфейса при использовании функции WiFi точки доступа. Здесь’s где найти на HTC одно M8 с Android 6.0. YMMV.
С экрана мобильного приложения, нажмите на значок 3 точки (больше), перейдите на передовой, после настройки локальной сети. В соответствии с «локальный IP» и изменить IP-адрес на нужный IP-адрес. Под «по локальному DHCP» и изменить начальный IP-адрес, чтобы соответствовать подсети IP-адрес.
Примечание: корень требуется. По умолчанию диапазон DHCP IP-адрес жестко (1) вы можете’t изменить его без восстановления диска с измененным исходным кодом. Или использовать немного взломать. При включении модема, что происходит (как минимум):
- hostapd — демон, который управляет точками доступа — это начало.
- Сетевые интерфейсы настроены, IP-адрес добавляется к Wi-Fi-интерфейсом (жестко до Android пирог (2, 3) рандомизированное потом (4) У), А таблицы маршрутизации добавляется в для локальной сети (6) .
- раздача — сервере DHCP/DNS-сервер (для пирога) — это началось с жестко командной строки аргументы (7) (который можно установить через /и т. д./dnsmasq.конф в в противном случае). Поэтому мы можем заменить `/системы/Бен/раздача с пользовательский скрипт, взяв под контроль процесс между ними. Переименуйте исходный двоичный на что-то другое: «
МВ /системы/Бен/раздача /системы/Бен/раздача.Бен
Создать сценарий `/системы/Бен/раздача`:
!/система/Бен/ш
OLD_SUBNET=’192.168.43′ NEW_SUBNET=’192.168.1′ WIFI_INTERFACE=’как wlan0′ LOCAL_TABLE=’97’ экспорт путь=/системы/Бен
удалить старый маршрут, добавлять новые
IP-маршрута-дель — $
установить новый IP-адрес на Wi-Fi-интерфейсом
IP-адрес добавить $
вдохнуть новую подсеть в жестко заданных аргументов, полученных от разности температур эквивалентной шуму фотоприемника
комплект — $(е ‘%ы’ » У$*то» | ООО ‘ы/’$
выполнить исходный двоичный новые аргументы
старпома раздача.Бен $* Подтвердите имя вашего Wi-Fi-интерфейсом (`как wlan0 обычно). Проверить с `IP-связи` или `LS /системы/класс/чистой/`. Также подтвердить локальной сети таблица маршрутизации `97`: `команда grep local_network /данные/разное/нетто/rt_tables`. Для Android’ы маршрутизации бардак, становятся все более сложными с каждым новым релизом. Поэтому я’м не уверен, если это было постоянным или нет. Также перед внесением любых изменений, проверить свои политики маршрутизации и таблицы, чтобы выяснить, что вы должны поставить в ваш скрипт:
Правила # =» и$(ИС править | грэп -ве ‘недоступен|местные’) и»
# для T в $(Эхо «$правила» ПО — | на awk ‘<печать $ЯТ>‘ | уник); ИП р О Е таблица $Т; сделано Правила SELinux, которые также должны быть определены, если (все или некоторые) уже не определено и, если статус `исполнения`. Использовать Magisk’suploicy ный `или другой подобный инструмент, как `sepolicy-впрыснуть`:
выполнять бинарники из /системы/Бен
разрешить разности температур эквивалентной шуму фотоприемника system_file реж < читать открытые функцией getattr поиска >разрешить файл system_file разности температур эквивалентной шуму фотоприемника
выполнение /системы/Бен/ш
разрешить файл shell_exec разности температур эквивалентной шуму фотоприемника
выполнение /системы/Бен/Toolbox и ее апплетов
разрешить файл toolbox_exec разности температур эквивалентной шуму фотоприемника
настроить правила RPDB / таблицы маршрутизации
позвольте разности температур эквивалентной шуму фотоприемника разности температур эквивалентной шуму фотоприемника возможности < sys_admin >* не сохраняется между перезагрузками, использовать некоторые `инит.D скрипт или заменить `/sepolicy в рамдиске в` Установка разрешений на файлы:
# команда chown 0.0 /системы/Бен/раздача
# команду chmod 0755 /системы/Бен/раздача
# команды chcon по U:object_r:dnsmasq_exec:С0 /системы/Бен/раздача* « Наслаждайтесь! Или вы можете установить полный модем из командной строки, запустив свои собственные процессы. Этот ответ включает в себя инструкции, хотя вопрос совсем другой. Обзоры:
Источник