Обнаружение ISP (или/или страны) по IP-адресу

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

Поэтому мой вопрос: как я могу получить такую информацию программно, зная IP-адрес? Существуют ли какие-либо общедоступные каталоги или какой-либо API для получения такой информации?

Ответ 1

Вы можете использовать мой сервис, API http://ipinfo.io. Вот пример деталей, которые он предоставляет:

$ curl ipinfo.io
{
  "ip": "67.188.232.131",
  "hostname": "c-67-188-232-131.hsd1.ca.comcast.net",
  "city": "Milpitas",
  "region": "California",
  "country": "US",
  "loc": "37.44040000000001,-121.87049999999999",
  "org": "AS7922 Comcast Cable Communications, Inc.",
  "postal": "95035",
  "phone": 408
}

См. Http://ipinfo.io/developers для получения дополнительной информации.

Ответ 2

используйте этот пример http://ip-api.com/json/[ip address]: http://ip-api.com/json/113.14.168.85

Выход:

{"as":"AS4134 Chinanet","city":"Nanning","country":"China","countryCode":"CN","isp":"China Telecom","lat":22.8167,"lon":108.3167,"org":"China Telecom","query":"113.14.168.85","region":"45","regionName":"Guangxi Zhuangzu Zizhiqu","status":"success","timezone":"Asia/Shanghai","zip":""}

Ответ 3

Maxmind GeoLite Legacy Загружаемые базы данных содержат ASN для IPv4 и IPv6:

http://dev.maxmind.com/geoip/legacy/geolite/

Оба формата данных для двоичных и CSV файлов доступны для загрузки бесплатно. Запись CSV может выглядеть так:

2383101952,2383116287, "AS20001 Time Warner Cable Internet LLC"

Первые два поля - это диапазон IP-адресов в десятичном формате. Последнее поле содержит ASN и имя объекта.

В качестве альтернативы, Internet-Wide Scan Data Repository (недавно запущенный Censys с бесплатным онлайн-поиском и API) включает регулярный поиск DNS для всех записей IPv4 PTR по адресу:

https://scans.io/study/sonar.rdns

Свободно загружаемый CSV файл содержит записи, такие как:

99.99.99.90, adsl-99-99-99-90.dsl.lsan03.sbcglobal.net

Первое поле - это IP, а второе поле - имя хоста, которое вы можете использовать для вывода ISP.

Ответ 4

Просмотрите базу данных GeoIP от Maxmind. Это бесплатно, и я использую его во многих своих java-приложениях.

см. http://dev.maxmind.com/geoip/geoip2/geolite2/

Ответ 5

Попробуйте API ipdata.co. Он предоставляет намного больше данных по IP-адресу, а также является чрезвычайно масштабируемым. т.е. он имеет 10 глобальных конечных точек, каждый из которых может обрабатывать> 800 М вызовов в день!

Пример;

curl https://api.ipdata.co/70.70.70.70
{
    "ip": "70.70.70.70",
    "city": "",
    "region": "",
    "region_code": "",
    "country_name": "Canada",
    "country_code": "CA",
    "continent_name": "North America",
    "continent_code": "NA",
    "latitude": 43.6319,
    "longitude": -79.3716,
    "asn": "AS6327",
    "organisation": "Shaw Communications Inc.",
    "postal": "",
    "currency": "CAD",
    "currency_symbol": "$",
    "calling_code": "1",
    "flag": "https://ipdata.co/flags/ca.png",
    "emoji_flag": "\ud83c\udde8\ud83c\udde6",
    "time_zone": "",
    "is_eu": false,
    "suspicious_factors": {
        "is_tor": false
    }
}⏎ 

Ответ 6

Технология развивается. После рассмотрения вашего вопроса через 6 лет IP2Location предоставляет страну, регион или штат, город, широту и долготу, почтовый индекс, часовой пояс, интернет-провайдер (ISP) или название компании, доменное имя, сетевую скорость, код города, метеостанцию код, название метеостанции, код страны мобильной связи (MCC), код мобильной сети (MNC) и бренд-перевозчик, отметку, тип использования, определение прокси-сервера и типы с IP-адреса.