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.
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.
Respostas:
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ão
curl ipinfo.io/org
não emitirá o nome completo do AS, mas curl -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:
$ 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 .
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
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 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 mim curl -s ipinfo.io/org
dá AS3320 Deutsche Telekom AG
enquanto curl -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 mesma DTAG
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, enquanto curl -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.