获取内网与出口的 ip 地址

Author Avatar
Tr0y 3月 19, 2019 16:27:42 本文共 262 字
  • 文为知己者书
  • 在其它设备中阅读本文章

获取内网与出口的 ip 地址

内网 ip

  1. 获取到的 ip 可能会有多个(比如 127.0.0.1 等等),结果用空格隔开
ifconfig | grep -A 1 "inet" | grep netmask | cut -d " " -f 2 | tr "\n" " "`

获取到的 ip 只有一个(不需要联网)

python -c "import socket;print(socket.gethostbyname(socket.gethostname()))"

获取到的 ip 只有一个(需要联网)

python -c "import socket;print([(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1])"

通常 2 与 3 结合使用,利用 cmd1||cmd2 执行,即:执行 cmd1 失败时,执行 cmd2

python -c "import socket;print([(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1])"||python -c "import socket;print(socket.gethostbyname(socket.gethostname()))"

出口 ip

当 {query} 为空时,就是自己的 ip,不为空时,则查询指定 ip/域名 的信息:

curl -s https://ip.cn/index.php?ip={query}

update in: 2019-06-07 09:55:58

以上接口似乎失效了,换一个:

curl -L tool.lu/ip

End

What do you think?

本文标题: 获取内网与出口的 ip 地址
原始链接: http://www.tr0y.wang/2019/03/19/获取ip/
发布时间: 2019.03.19-16:27
最后更新: 2019.07.07-21:23
版权声明: 本站文章均采用CC BY-NC-SA 4.0协议进行许可。转载请注明出处!