Изменить маску подсети android

Xamarin.Forms — установить маску подсети WiFi на устройстве Android

Я столкнулся с проблемой, когда мое приложение для Android не может устанавливать исходящие соединения, используя TcpClient класс (вопрос находится здесь). Во время отладки и проведения дальнейших исследований я обнаружил, что мое устройство Android (уровень API 22) получает маску подсети 0.0.0.0 когда он подключается к моей сети WiFi. Мой DHCP-сервер настроен на использование 255.255.255.0 поэтому я считаю, что это несоответствие может быть корнем моей другой проблемы. Это мой код:

subnet_mask возвращается 0 и отформатированная версия DhcpInfo класс показывает:

В такой ситуации можно ли вручную изменить маску подсети (или «маску сети») в API Android? Я попытался использовать статическую IP-конфигурацию, как показано здесь, но использование этих параметров устарело на уровне API 17. Я также попытался установить DhcpInfo.Netmask свойство вручную, но требуется int , Я рассчитал один на основе этого ответа, но он был слишком большим и стал uint , Наконец, я просмотрел множество классов, в том числе Android.Net.Wifi.WifiManager , чтобы увидеть, есть ли способ изменить маску сети. Я ничего не нашел, но я мог просто искать не в том месте.

Любая помощь очень ценится!

Обновить:

По соображениям безопасности кажется, что это невозможно с помощью стандартного API Android. Однако способен ли Android NDK изменить маску подсети? Я понимаю, что это обеспечивает доступ к устройству более низкого уровня, и мне не нужно помещать это приложение в магазин приложений (оно предназначено только для моего использования).

Источник

Xamarin.Forms — установка маски подсети WiFi на устройстве Android

Я столкнулся с проблемой, из-за которой мое приложение Android не может устанавливать исходящие соединения с использованием класса TcpClient (вопрос находится здесь). При отладке и проведении дальнейших исследований я обнаружил, что мое устройство Android (уровень API 22) получает маску подсети 0.0.0.0 при подключении к моей сети Wi-Fi. Мой DHCP-сервер настроен на использование 255.255.255.0 , поэтому я считаю, что это несоответствие может быть корнем моей другой проблемы. Это мой код:

subnet_mask возвращает 0 , а отформатированная версия класса DhcpInfo показывает:

В такой ситуации могу ли я вручную изменить маску подсети (или «маску сети») в Android API? Я попытался использовать статическую конфигурацию IP, как показано здесь, но использование этих настроек устарело на уровне API 17. Я также пробовал устанавливать свойство DhcpInfo.Netmask вручную, но для этого требуется int . Я рассчитал один на основе этого ответа, но он оказался слишком большим и превратился в uint . Наконец, я просмотрел множество классов, включая Android.Net.Wifi.WifiManager , чтобы увидеть, есть ли способ изменить маску сети. Я ничего не нашел, но, возможно, просто искал не в том месте.

Любая помощь приветствуется!

Обновление:

По соображениям безопасности это невозможно со стандартным API Android. Однако может ли Android NDK изменить маску подсети? Я понимаю, что он обеспечивает доступ к устройству на более низком уровне, и мне не нужно размещать это приложение в магазине приложений (оно предназначено для моего использовать только).

Источник

Xamarin.Forms — установить маску подсети WiFi на устройстве Android

Я столкнулся с проблемой, когда мое приложение Android не может совершать исходящие соединения с помощью класса TcpClient (вопрос находится здесь ).) во время отладки и проведения дальнейших исследований я обнаружил, что мое устройство Android (уровень 22 API) получает маску подсети 0.0.0.0 , когда оно подключается к моей сети WiFi. Мой сервер DHCP настроен на использование 255.255.255.0 , поэтому я считаю, что это несоответствие может быть корнем моей другой проблемы. Это мой код.:

subnet_mask возвращает 0 , и форматированная версия класса DhcpInfo показывает:

Учитывая сложившуюся ситуацию, есть ли какой-нибудь способ вручную изменить маску подсети (или «netmask») в пределах Android API? Я пробовал использовать статическую конфигурацию IP , как показано здесь, но использование этих настроек было устаревшим на уровне API 17. Я также пытался установить свойство DhcpInfo.Netmask вручную, но для этого требуется int . Я вычислил один , основываясь на этом ответе, но он был слишком большим и стал uint . Наконец, я просмотрел множество классов, включая Android.Net.Wifi.WifiManager , чтобы узнать, есть ли способ изменить сетевую маску. Я ничего не нашел, но, возможно, просто искал не в том месте.

Любая помощь очень ценится!

Читайте также:  Что значат папки андроид

Обновление:

По соображениям безопасности, похоже, что это невозможно со стандартным Android API. Однако может ли Android NDK изменить маску подсети? Я понимаю, что он обеспечивает более низкий уровень доступа к устройству, и мне не нужно помещать это приложение в app store (оно предназначено только для моего использования).

1 ответ

Мне нужно выключить WiFi через некоторое время после нажатия кнопки Turn off the Screen. Есть необходимость в этом приложении для моего планшета, потому что иногда я просто забываю выключить WiFi, и это очень быстро разряжает батарею. Он живет в 10 раз меньше, чем я бы жил без WiFi. Есть ли.

В моем приложении (admin web interface, написанном на MVC3), работающем на open-embedded Linux, я должен перечислить все настройки TCP/IP. Это включает в себя IP-адрес, шлюз и маску подсети. Следующий код хорошо работает под MS .Net, но Mono 2.10 выдает NotImplemntedException для свойства IPv4Mask.

По соображениям безопасности Android OS может не позволить вам сделать это.

Как пользователь, я знаю, что не хотел бы, чтобы приложение меняло конфигурацию моей сети.

В документах говорится, что вместо этого следует использовать WifiManager, но API не позволяет изменить ip-адрес шлюза dns, опять же по соображениям безопасности.

Если вам нужно изменить эти настройки, возможно, вы можете предоставить пользователю страницу с инструкциями, чтобы он мог изменить их самостоятельно.

Похожие вопросы:

У меня есть ip и маска сети 192.168.1.0 255.255.255.0 Мне нужно преобразовать маску подсети в формате cidr 192.168.1.0/24 Как преобразовать ipv4-адрес и сетевую маску в формат cidr? Я использую.

У меня есть код, который позволяет мне определить адрес MAC и адрес IP соединения WiFi на iPhone, но я не могу понять, как получить маску подсети и адрес маршрутизатора для соединения. Может ли.

Мне нужно определить локальный адрес IP и маску подсети в сети WiFi на устройстве Android (чтобы правильно вычислить широковещательный адрес UDP строго для локальной подсети). Когда устройство.

Мне нужно выключить WiFi через некоторое время после нажатия кнопки Turn off the Screen. Есть необходимость в этом приложении для моего планшета, потому что иногда я просто забываю выключить WiFi, и.

В моем приложении (admin web interface, написанном на MVC3), работающем на open-embedded Linux, я должен перечислить все настройки TCP/IP. Это включает в себя IP-адрес, шлюз и маску подсети.

Как я могу найти маску подсети подключенными к сети wifi в Blackberry системе JDE 4.5+ ?

Я использую метод GetAdapterAddresses() , чтобы получить ip-адреса всех интерфейсов в системе. Мне нужно найти широковещательный адрес каждого интерфейса. Я могу вычислить это, используя адрес IP и.

Я пытаюсь получить определенную маску подсети домена. Мне удалось получить его IP, используя 2 разных способа: JHSoftware.DnsClient.LookupHost(_hostName); Dns.GetHostAddresses(_hostName); Теперь я.

Только что создал приложение Xamarin.Forms в Xamarin Studio 5.2.1, используя шаблон Blank App (Xamarin.Forms Portable). Не внес никаких изменений в код, построил решение, попытался запустить его на.

Поэтому я хочу получить свой ip-адрес и маску подсети. Выходные данные ifconfig должны быть от pasted до sed. Поэтому sed должен изменить выходные данные, чтобы получить только ip-адрес и маску.

Источник

Xamarin.Forms — установить маску подсети WiFi на устройстве Android

Я столкнулся с проблемой, когда мое приложение для Android не может устанавливать исходящие соединения с TcpClient класса TcpClient (вопрос находится здесь). Во время отладки и проведения дальнейших исследований я обнаружил, что мое устройство Android (уровень API 22) получает маску подсети 0.0.0.0 при подключении к моей сети WiFi. Мой DHCP-сервер настроен на использование 255.255.255.0 , поэтому я считаю, что это несоответствие может быть причиной моей другой проблемы. Это мой код:

subnet_mask возвращает 0 , а отформатированная версия класса DhcpInfo показывает:

В такой ситуации можно ли вручную изменить маску подсети (или «маску сети») в API Android? Я попытался использовать статическую IP-конфигурацию, как показано здесь, но использование этих параметров устарело на уровне API-17. Я также попытался установить свойство DhcpInfo.Netmask вручную, но для него требуется значение int . Я рассчитал один, основываясь на этом ответе, но он был слишком большим и стал uint . Наконец, я просмотрел множество классов, в том числе Android.Net.Wifi.WifiManager , чтобы узнать, есть ли способ изменить маску сети. Я ничего не нашел, но я мог просто искать не в том месте.

Любая помощь очень ценится!

Обновить:

По соображениям безопасности кажется, что это невозможно с помощью стандартного API Android. Однако способен ли Android NDK изменить маску подсети? Я понимаю, что это обеспечивает доступ к устройству более низкого уровня, и мне не нужно помещать это приложение в магазин приложений (оно предназначено только для моего использования).

Источник

Измените настройки Android DNS с помощью этих 5 приложений DNS Changer

Когда вы набираете — www.google.com в своем веб-браузере, ваш смартфон запрашивает у DNS-сервера соответствующий IP-адрес, на котором расположен этот сайт, и, получив эту информацию, вы можете открыть Google в своем браузере. Проще говоря, задача DNS-серверов заключается в сопоставлении имени домена (например, www.google.comg) с его IP-адресом (например, 172.217.24.238 ).

Читайте также:  Виджет для андроид темы

По умолчанию ваш интернет-провайдер автоматически назначает DNS-сервер, когда ваш маршрутизатор или Android подключается к Интернету; но вам не обязательно их использовать.

Android не позволяет изменять DNS-серверы при подключении к мобильным данным. Это означает, что следующее приложение работает только для подключений Wi-Fi. Кроме того, браузер Google Chrome переопределяет системный DNS для использования собственных DNS-серверов Google, что означает, что DNS-серверы Adblock не будут работать в браузере Chrome.

Читать: Узнайте, кто подключен к вашей сети Wi-Fi

Одна из причин, по которой вы можете захотеть изменить DNS-серверы, назначенные вашим интернет-провайдером, — это если вы подозреваете, что есть проблема с теми, которые вы используете сейчас. Простой способ проверить наличие проблемы с DNS-сервером — ввести IP-адрес веб-сайта в браузере. Если вы можете получить доступ к веб-сайту с IP-адресом, но не по имени, то, скорее всего, у DNS-сервера есть проблемы. Еще одна причины для изменения DNS-серверов, если вы ищете лучшую скорость работы браузера, или блокировать вредоносные программы, порнографию или получение американского Netflix наружного государства.

Теперь, когда вы убедились, зачем вам нужны другие настройки DNS, давайте посмотрим, как вы можете изменить настройки DNS на своем смартфоне Android.

Как изменить настройки Android DNS?

В PlayStore есть довольно много приложений для смены DNS, но я расскажу только о двух, потому что процесс прост и мало что нужно сделать, когда вы поймете основы.

1. Собственный процесс Android

Мы так привыкли искать приложения для всего, о чем забываем, что Android — это ОС для смартфонов, в которую встроено множество функций. Работают ли они по назначению и насколько многофункциональны — это совсем другой вопрос.

Посмотрим, как это работает.

Перейти к Настройки на телефоне Android и коснитесь Вай фай.

Длительное нажатие на Сеть вы подключены и нажмите Изменить сеть на всплывающем экране.

Ты заметишь Расширенные настройки там. Щелкните его, чтобы открыть настройки IP, в которых вы переключитесь с DHCP на Статический. В основном это позволяет вам вводить свои собственные настройки.

Прокрутите немного дальше, и теперь вы должны увидеть параметры DNS 1 и DNS 2, где вы можете ввести свои новые записи. На моем OP2 он был предварительно настроен на записи DNS Google.

Таким образом, вы можете сохранить изменения, чтобы успешно обновить настройки DNS на вашем Android. Однако у описанного выше метода есть одна проблема. До Android Nougat вам не нужно было беспокоиться о вводе своего IP-адреса, маски подсети и всех этих сетевых деталей. Однако после обновления Android N об этом тоже нужно позаботиться, иначе кнопка сохранения станет серой вне это означает, что вы не можете сохранить настройки DNS. Здесь и появляются сторонние приложения для смены DNS.

2. Бета-версия DNS Changer (без рута)

Хотя в Play Store нет недостатка в приложении смены DNS, большинство из них либо не работают, либо заполнены рекламой. DNS Changer Beta, с другой стороны, не только бесплатен, но и не содержит назойливой рекламы.

Помимо обычных функций, таких как список DNS-серверов на выбор и возможность прекратить или начать использовать DNS для просмотра Интернета, есть некоторые дополнительные функции, которые мне понравились. Вы можете отключить уведомление в центре уведомлений. Вы можете удалить значок в строке состояния, чтобы никто не знал лучше.

Согласно их описанию в Google Play, когда приложение перестает работать, вы получаете push-уведомление с объяснением и возможным решением. Однако я еще не видел этого.

Вы можете запустить приложение прямо при загрузке и защитить приложение паролем. В списке бесплатных DNS-серверов есть больше вариантов, таких как Verizon и Norton. Последнее также поможет вам блокировать сайты с контентом для взрослых.

Помимо этого, приложение также позволит вам настроить параметры IPv4 и IPv6, причем последний при желании можно отключить. Если есть параметр DNS-сервера, который вы хотите использовать, но он недоступен в списке, вы можете создать свою собственную запись.

А вот и часть, которая мне нравится. Приложение работает с Tasker прямо из коробки. Если вы не знаете, что такое Tasker, я настоятельно рекомендую вам проверить его. Ваш телефон будет работать на автопилоте, и вы можете поблагодарить меня позже.

Существует вариант белого списка для приложений, которые вы хотите использовать с DNS-серверами по умолчанию. Приложение с открытым исходным кодом и полностью безопасно. Если хотите, вы также можете проверить DNS man, который доступен на F-Droid бесплатно и хорошо работает.

Pro: Не требуется рут, простой и простой в использовании

Читайте также:  Как заряжать андроид от айфона

С участием: Поскольку приложение создает VPN-соединение, теоретически они могут отслеживать все ваши данные о просмотре. Кроме того, VPN может привести к быстрой разрядке аккумулятора.

Проверять, выписываться Бета-версия DNS Changer (Свободно)

3. Переопределить DNS (корень)

В отличие от предыдущего приложения, для этого потребуется Android-смартфон с root-правами. Если вы не знаете, как его укоренить, вы можете посетить Форум разработчиков XDA чтобы узнать это, или воспользуйтесь вышеуказанным приложением. Процесс сложный, и всегда есть риск сломать телефон. Теперь, разобравшись с этим, давайте проверим Override DNS.

Общий процесс остается прежним: вы можете либо выбрать из раскрывающегося меню предварительно настроенных параметров DNS, либо ввести свои собственные значения.

Pro: Причина, по которой это приложение входит в список, заключается в том, что в отличие от других приложений Override DNS не создает VPN, вместо этого он изменяет внутренние настройки сети, что означает меньший расход заряда батареи и лучшую производительность. Это также обеспечивает конфиденциальность, поскольку никто не видит ваш интернет-трафик. Разработчик известен своей отзывчивостью, поэтому, если у вас есть сомнения, просто свяжитесь с ним.

С участием: Единственная проблема с OverRide DNS заключается в том, что для его работы вам понадобится рутированное устройство Android.

4. Netguard

Netguard — популярное имя, когда речь идет о блокировке доступа в Интернет для определенных приложений. Но в этой статье я не говорю о версии Netguard, доступной в Play Store, а о той, которую многие из вас используют для блокировки рекламы. Приложение можно использовать бесплатно и доступно на Github, которое вам придется загрузить неопубликованным образом, если вы его еще не используете.

Помимо защиты от нежелательной рекламы на уровне приложений и предложения надежных функций брандмауэра, вы также можете использовать Netguard для изменения настроек DNS.

Откройте приложение и перейдите в «Настройки», «Дополнительные параметры». Здесь вы найдете параметры для изменения DNS, маски подсети и управления всем вашим интернет-трафиком так, как вы хотите.

Pro: Если вы уже используете Netgard для блокировки доступа в Интернет для определенных приложений, имеет смысл использовать его в качестве смены DNS.

С участием: Поскольку DNS-чейнджер не рекламируется, интерфейс не очень интуитивно понятен, как у других приложений в списке.

5. Диспетчер DNS (с DNSCrypt)

Это приложение, как следует из названия, поставляется со встроенным DNSCrypt. Круто, так что он делает и почему меня это волнует? Задача DNSCrypt — замаскировать ваши DNS-запросы, чтобы никто не знал, что вы делаете на своем смартфоне, как это всегда должно было быть, но это не так.

У приложения есть бесплатная версия, которая содержит ошибки и может работать или не работать в зависимости от вашей модели и версии ОС, а также от того, насколько вам повезло! Профессиональная версия, доступная за 1,99 доллара, работает хорошо.

Пользовательский интерфейс приложения слишком прост, но пока он работает так, как рекламируется, меня это устраивает. В версии Pro нет рекламы, и в ней есть все функции, которые мы видели в других приложениях DNS выше.

Как узнать, успешно ли вы изменили DNS-серверы?

Как и MAC-адрес вашего компьютера, DNS-серверы не выходят за пределы маршрутизатора. Таким образом, у вас нет возможности проверить свои DNS-серверы с помощью онлайн-сайта, как вы это делаете со своим IP-адресом. Однако есть еще несколько вещей, которые вы можете сделать.

Прежде всего, убедитесь, что вы очистили кеш DNS, чтобы эффект имел место — на Android вы можете сделать это, просто перезагрузив устройство. Далее загрузите бесплатный PingTools app из магазина Google Play и найдите в нем раздел DNS.

Если вы используете OpenDNS в качестве преобразователя DNS, просто перейдите на http://welcome.opendns.com. Если вы все сделали правильно, вы увидите сообщение «Добро пожаловать в OpenDNS!» а если нет, то вы получите страницу «Оппс».

Подведение итогов: приложения для смены DNS

Мне больше нравится DNS Changer Beta, потому что он предлагает гораздо больше контроля над моими настройками DNS и тем, как я просматриваю веб-страницы. Вариант белого списка удобен, потому что я не хочу, чтобы его использовали все приложения. Я также использую некоторые региональные приложения.

Я Netguard, потому что он позволяет мне управлять обоими настройками DNS и защищает меня от нежелательной рекламы. Теперь мне не нужно использовать 2 отдельных приложения.

Если у вас есть телефон Android с рутированным доступом, переопределение DNS — хороший вариант. Он предлагает конфиденциальность и лучшую производительность по сравнению с другими приложениями.

Даже если вас устраивают настройки DNS по умолчанию вашего интернет-провайдера, я бы порекомендовал вам попробовать это один раз и посмотреть, как это пойдет. Скорее всего, вы увидите какое-то улучшение. Сообщите мне свои мысли в комментариях ниже.

Новый Приложение Cloudflare, включите Cloudflare DNS (1.1.1.1) одним щелчком мыши.

Источник

Оцените статью