Dav*_*ave 7 linux networking debian ifconfig ip-address
我使用的是 Debian 8。如何从命令行获取我的外部 IP 地址?我认为下面的命令可以完成这项工作......
myuser@myserver:~ $ /sbin/ifconfig $1 | grep "inet\|inet6" | awk -F' ' '{print $2}' | awk '{print $1}'
addr:192.168.0.114
addr:
addr:127.0.0.1
addr:
Run Code Online (Sandbox Code Playgroud)
但正如您所看到的,它只显示局域网中机器的 IP 地址。我有兴趣了解其面向全世界的 IP。
小智 15
这将返回给您您的公共 IP
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
Run Code Online (Sandbox Code Playgroud)
iva*_*van 10
您的意思是您的 dsl/电缆调制解调器/等的任何可路由 IP。路由器有?
您需要查询该设备或询问外部服务器在您连接到它时它看到的 IP。最简单的方法是在谷歌搜索“我的ip是什么”,就像计算搜索一样,它会在第一个搜索结果中告诉你。如果您想从命令行执行此操作,您需要检查一些脚本的输出,这些脚本将回显信息。动态 dns 服务 dyndns.org 有一个你可以使用 - 试试这个命令
wget http://checkip.dyndns.org -O -
你应该得到类似的东西
HTTP request sent, awaiting response... 200 OK
Length: 105 [text/html]
Saving to: ‘STDOUT’
- 0%[ ] 0 --.-KB/s <html><head><title>Current IP Check</title></head><body>Current IP Address: 192.168.1.199</body></html>
- 100%[===================>] 105 --.-KB/s in 0s
2017-09-20 14:16:00 (15.4 MB/s) - written to stdout [105/105]
Run Code Online (Sandbox Code Playgroud)
我已将我的 IP 更改为通用的不可路由并为您加粗。
如果你只想要 IP,你需要从那里解析它 - 快速而肮脏,但它对我有用。而且我 100% 肯定有更好更安全的方法来做到这一点......
wget http://checkip.dyndns.org -O - | grep IP | cut -f 2- -d : | cut -f 1 -d \<
这会给你
192.168.1.199
小智 6
替代方案(避免解析):
获取 IPv4
curl -4 icanhazip.com
Run Code Online (Sandbox Code Playgroud)
获取 IPv6
curl -6 icanhazip.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10636 次 |
| 最近记录: |