Определите, является ли IP-адрес сотовым IP-адресом - PullRequest
4 голосов
/ 08 апреля 2010

В .NET Compact Framework устройство может иметь несколько IP-адресов. Я хочу найти тот, который НЕ исходит от сотового соединения. Цель - соединение WiFi или Ethernet.

Есть ли способ сделать это?

Похоже, что у State and Notification Broker был бы способ сделать это, но он не нашел пути.

Ответы [ 2 ]

5 голосов
/ 09 апреля 2010

Нет, вам придется делать это вручную.

Очевидно, что вам нелегко узнать, какие IP-адреса принадлежат ячейке или нет. Самый простой способ - это получить базу данных IP-адресов «ISP» с maxmind.com - http://www.maxmind.com/app/isp - которая даст вам имя ISP для любого IP-адреса (ну, большинство IP-адресов). Затем вы просто установите регулярное выражение, соответствующее ключевым словам, таким как «sprint», «verizon wireless», «cell» и т. Д., Чтобы определить, является ли это IP-адрес мобильного телефона.

Не самое красивое и забавное решение, но я не знаю лучшего способа.

0 голосов
/ 21 мая 2010

У каждого оператора есть группа IP-адресов.Если вы знаете сетевой адрес оператора, вы можете сравнить IP-адрес посетителя с адресом оператора.

Так, например, если вы знаете, что у оператора мобильной связи есть группа IP-адресов, начинающаяся с 212.235.*.*

вы сравниваете первые 16 бит адреса посетителя с ним, если, например, адрес посетителя 212.235.190.215, вы знаете, что он поступает из мобильной сети.

Вы можете проверить это условие с помощью простых строковых операций - сравните сначаласимволы IP-адреса посетителя с x известными символами в начале IP-адреса оператора.

...