如何使用 bash 脚本找到我的 Internet 服务提供商 (ISP)?

Tar*_*lpe 24 bash scripts

我想在脚本中使用我的 Internet 服务提供商的名称,但我不知道该怎么做。

请帮助我,提前致谢。

Byt*_*der 34

您可以使用例如ipinfo.io的服务来确定您的公共 IP,包括一些附加信息,例如提供商公司名称。

该站点通常可以在您的浏览器中访问,但如果您从命令行使用 eg 查询它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"
}
Run Code Online (Sandbox Code Playgroud)

要仅显示一个值,您可以直接向相应路径发送请求。例如,对于 ISP 名称 ( org),试试这个:

curl ipinfo.io/org
Run Code Online (Sandbox Code Playgroud)

受到这个答案的启发。

  • 是的,ipinfo 比 whoismyisp 好,因为它的 JSON 格式 +1 (2认同)

Ali*_*deh 27

您可以使用提供的许多网站来查找您的 ISP 名称。其中之一是whoismyisp

要在 bash 脚本中获取您的 ISP 名称,您可以通过类似的方式获取此站点 curl.

wget -q -O - whoismyisp.org | grep -oP -m1 '(?<=isp">).*(?=</p)'
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下命令找到任何所需 IP 的 ISP:

wget -q -O - whoismyisp.org/ip/xxx.xxx.xxx.xxx | grep -oP -m1 '(?<=isp">).*(?=</p)'
Run Code Online (Sandbox Code Playgroud)

xxx.xxx.xxx.xxx您要查找其 ISP 的 IP在哪里。


附加信息:您可以使用以下命令通过 bash 找到您的 IP(这可能对脚本有帮助):

dig +short myip.opendns.com @resolver1.opendns.com
Run Code Online (Sandbox Code Playgroud)

  • @TaraSVolpe 我很高兴能帮到你 (2认同)
  • 这个答案依赖于这个网站的布局,而 ipinfo.io 使用定义良好的 JSON 格式。我不明白为什么这个答案更受欢迎。 (2认同)
  • @NieDzejkob 可能是因为 ipinfo.io/org 只提供 AS 编号而不提供 ISP 的名称 (2认同)