Answers:
您可以使用提供的许多网站来找到您的ISP名称。其中之一是whoismyisp。
为了获得您的ISP名称,可以在bash脚本中通过来获得此站点curl
。
curl -s https://www.whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'
您也可以使用以下命令找到任何所需IP的ISP:
curl -s https://www.whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'
那xxx.xxx.xxx.xxx
就是您要查找其ISP的IP。
附加信息:您可以使用以下命令通过bash查找IP(这可能对脚本有帮助):
dig +short myip.opendns.com @resolver1.opendns.com
curl ipinfo.io/org
。
curl ipinfo.io/org
不会输出AS的全名,但curl -s ipinfo.io/ASxxx | grep as-name
会输出:)
您可以使用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"
}
仅显示一个值,您可以将请求直接发送到相应的路径。例如,输入ISP名称(org
),请尝试以下操作:
curl ipinfo.io/org
受到这个答案的启发。
首先,我获取自治系统号:
$ curl -s ipinfo.io/org
AS2094 Renater
然后,我获取该AS的全名:
$ curl -s ipinfo.io/$(curl -s ipinfo.io/org | cut -d“” -f1)| awk'/ as-name / {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.
。您上面的选项2不返回任何内容。接受的答案使用curl -s https://www.whoismyisp.org | grep -oP '\bisp">\K[^<]+'
并返回Telus Communications
,这是Byte答案的有限版本,但仍然不错。这是这些YMMV(您的里程可能有所不同)的答案之一。
ipinfo.org
他们的数据收集中包含的内容。对我来说,curl -s ipinfo.io/org
给AS3320 Deutsche Telekom AG
同时curl -s ipinfo.io/AS3320 | grep as-name
给DTAG
(过了一会儿)。另外,后者再次解析HTML输出(容易出错!)。因此,我将坚持使用ByteCommander的答案。
AS3320
相同DTAG
。但是我不知道您是否使用Canada's curl -s ipinfo.io/AS852 | grep as-name
会像我一样得到空输出。