Linux

如何從命令行獲取我的 IP 地址?

  • September 20, 2017

我正在使用 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:

但正如您所看到的,它只是顯示區域網路中機器的 IP 地址。我有興趣了解它在全世界的 IP。

您的意思是您的 dsl/電纜調製解調器/等的任何可路由 IP。路由器有?

您需要查詢該設備或詢問外部伺服器當您連接到它時它看到的 IP。最簡單的方法是在Google搜尋“我的 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]

我已將我的 IP 更改為通用的不可路由並為您加粗。

如果您只想要 IP,則需要從那裡解析它 - 快速而骯髒,但它對我有用。而且我100%肯定有更好更安全的方法……

wget http://checkip.dyndns.org -O - | grep IP | cut -f 2- -d : | cut -f 1 -d \<

哪個會給你

192.168.1.199

這將返回給您您的公共 IP

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com

引用自:https://unix.stackexchange.com/questions/393465