Como posso encontrar meu provedor de serviços de Internet (ISP) usando um script bash?

21

Quero usar o nome do meu provedor de serviços da Internet em um script e não sei como fazer isso.

Por favor me ajude, obrigado antecipadamente.

Tara S Volpe
fonte

Respostas:

26

Você pode usar muitos sites fornecidos para encontrar o nome do seu provedor. Um deles é whoismyisp .

E para obter o seu nome de provedor, no script bash, você pode obter este site por algo como curl.

curl -s https://www.whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'

Além disso, você pode encontrar o ISP de qualquer IP desejado com este comando:

curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'

Isso xxx.xxx.xxx.xxxé que o IP que você deseja encontrar seu ISP.


Informações adicionais : Você pode encontrar seu IP bash com este comando (isso pode ser útil para scripts):

dig +short myip.opendns.com @resolver1.opendns.com
Ali Razmdideh
fonte
2
@TaraSVolpe Estou feliz que eu poderia ajudá-lo
Ali Razmdideh
2
Esta resposta depende do layout deste site, enquanto o ipinfo.io usa um formato JSON bem definido. Não entendo por que essa resposta é mais votada.
NieDzejkob 23/09
2
@NieDzejkob Talvez porque ipinfo.io/org só dar o número como, mas não o nome do ISP
SebMa
1
@SebMa Quando executei a resposta do Byte na minha máquina no Ubuntu no Windows 10 (WSL), ele retornou o número AS mais o nome do ISP usando curl ipinfo.io/org. Não
obstante,
@NieDzejkob curl ipinfo.io/orgnão emitirá o nome completo do AS, mas curl -s ipinfo.io/ASxxx | grep as-namefaz :)
SebMa
27

Você pode usar, por exemplo, os serviços do ipinfo.io para determinar seu IP público, incluindo algumas informações adicionais, como o nome da empresa provedora.

O site pode normalmente ser visitado no seu navegador, mas se você consultá-lo na linha de comando com curl, por exemplo , eles respondem em um formato JSON limpo e bem definido para que você não precise analisar nenhum 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"
}

Para mostrar apenas um valor, você pode enviar diretamente uma solicitação para o respectivo caminho. Por exemplo, para o nome do provedor ( org), tente o seguinte:

curl ipinfo.io/org

Inspirado por esta resposta .

Byte Commander
fonte
2
Sim, o ipinfo é melhor que o whoismyisp por causa do seu formato JSON +1
Ali Razmdideh 30/03/18
@AliRazmdideh Muito magnânimo, de fato, que você votou para os outros caras responderem :)
WinEunuuchs2Unix 04/08
@ WinEunuuchs2Unix Obrigado, acho que é melhor que o meu.
Ali Razmdideh
1

Primeiro busco o número do sistema autônomo:

$ curl -s ipinfo.io/org
AS2094 Renater

Então eu busco o nome completo desse AS:

$ curl -s ipinfo.io/$(curl -s ipinfo.io/org | cut -d "" -f1) | awk '/ como nome / {print $ NF}'

$ whois $(curl -s ipinfo.io/org | cut -d" " -f1) | awk -F: 'BEGIN{IGNORECASE=1}/(as-?name|org-?name):/{sub("^  *","",$2);print$2}'
FR-TELECOM-MANAGEMENT-SUDPARIS
Renater
SebMa
fonte
1
Para mim não está funcionando. Acabei de testar todas as respostas no Ubuntu no Windows 10 (WSL) e no Ubuntu 16.04 com o Kernel 4.14.27. Sua opção 1 acima (resposta de Byte) retorna AS852 TELUS Communications Inc.. Sua opção 2 acima não retorna nada. A resposta aceita usa curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'e retorna, Telus Communicationsque é uma versão limitada da resposta do Byte, mas ainda é boa. Essa é uma daquelas respostas do YMMV (sua milhagem pode variar).
WinEunuuchs2Unix
2
Aparentemente, depende do provedor ou do que ipinfo.orgtem em sua coleta de dados. Para mim curl -s ipinfo.io/orgAS3320 Deutsche Telekom AGenquanto curl -s ipinfo.io/AS3320 | grep as-nameDTAG(depois de um tempo). Além disso, o último está analisando novamente a saída HTML (propenso a erros!). Então, eu vou ficar com a resposta do ByteCommander.
PerlDuck
@PerlDuck Quando uso a Alemanha, AS3320recebo a mesma DTAGsaída que você. Mas eu me pergunto se você usa o Canadá, curl -s ipinfo.io/AS852 | grep as-nameobtém saída nula como eu.
WinEunuuchs2Unix 30/0318
@ WinEunuuchs2Unix Sim, o mesmo para mim. Sem saída. Acho que curl -s ipinfo.io/orgretorna dados com base no IP solicitante, enquanto curl -s ipinfo.io/AS3320retorna dados com base no parâmetro fornecido (ignorando o IP da solicitação). De qualquer forma. A análise de HTML sem um analisador adequado é quase sempre uma má ideia. Você conhece esta famosa resposta no Stack Overflow ? É divertido de ler.
PerlDuck
@PerlDuck É uma leitura divertida, especialmente todos os personagens estranhos no final. Jogando cautela ao vento, eu analisei o
WinEunuuchs2Unix