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.
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
curl ipinfo.io/org
. Nãocurl ipinfo.io/org
não emitirá o nome completo do AS, mascurl -s ipinfo.io/ASxxx | grep as-name
faz :)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: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:Inspirado por esta resposta .
fonte
Primeiro busco o número do sistema autônomo:
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}'fonte
AS852 TELUS Communications Inc.
. Sua opção 2 acima não retorna nada. A resposta aceita usacurl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'
e retorna,Telus Communications
que é uma versão limitada da resposta do Byte, mas ainda é boa. Essa é uma daquelas respostas do YMMV (sua milhagem pode variar).ipinfo.org
tem em sua coleta de dados. Para mimcurl -s ipinfo.io/org
dáAS3320 Deutsche Telekom AG
enquantocurl -s ipinfo.io/AS3320 | grep as-name
dáDTAG
(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.AS3320
recebo a mesmaDTAG
saída que você. Mas eu me pergunto se você usa o Canadá,curl -s ipinfo.io/AS852 | grep as-name
obtém saída nula como eu.curl -s ipinfo.io/org
retorna dados com base no IP solicitante, enquantocurl -s ipinfo.io/AS3320
retorna 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.