Как я могу найти своего интернет-провайдера (ISP) с помощью сценария bash?

17

Я хочу использовать имя моего интернет-провайдера в скрипте, и я не знаю, как это сделать.

Пожалуйста, помогите мне, спасибо заранее.

    
задан Tara S Volpe 22.09.2017 в 12:52
источник

2 ответа

22

Вы можете использовать множество веб-сайтов, которые предоставляются для поиска вашего имени поставщика услуг Интернета. Один из них - whoismyisp .

И для скрипта bash вы можете получить этот сайт с помощью bash с чем-то вроде curl .

curl -s https://www.whoismyisp.org |  grep -o -P '(?<=is).*(?=In some)'

Также вы можете найти ISP других IP-адресов с помощью этой команды:

curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx |  grep -o -P '(?<=is).*(?=In some)'

Thats xxx.xxx.xxx.xxx - это тот IP-адрес, который вы хотите найти у своего провайдера.

Дополнительная информация . Вы можете найти свой IP by bash с помощью этой команды (это может быть полезно для скриптов):

dig +short myip.opendns.com @resolver1.opendns.com
    
ответ дан Ali Razmdideh 22.09.2017 в 12:54
источник
21

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

Сайт можно нормально посещать в вашем браузере, но если вы запросите его из командной строки, например. curl , они отвечают в чистом и четко определенном формате JSON, так что вам не нужно анализировать любой HTML:

$ curl ipinfo.io
{
  "ip": "xxx.xxx.xxx.xxx",
  "hostname": "xxxxxxxxxxxxxxxxxxxxxxxxxxx.xx",
  "city": "xxxxxxxx",
  "region": "xxxxxxxxxx",
  "country": "xx",
  "loc": "xxx.xxxx,xxx.xxxx",
  "org": "xxxxxxxxxxxx",
  "postal": "xxxxx"
}

Чтобы отобразить только одно значение, вы можете напрямую отправить запрос на соответствующий путь. Например. для имени поставщика услуг Интернета ( org ) попробуйте следующее:

curl ipinfo.io/org

Вдохновленный этот ответ .

    
ответ дан Byte Commander 22.09.2017 в 13:01