如何確定公網(wǎng)IP地址是一個讓很多家用寬帶朋友們經(jīng)常遇到的問題,畢竟固定IP地址總是價格不菲因而不適用于家庭寬帶,而我們的電信寬帶運(yùn)營商(ISP)往往給我們分配的是動態(tài)IP地址,之所以稱作為動態(tài)IP地址,是因為每次撥號得到的IP地址可能會不一樣,還有更騷的操作就是有的運(yùn)營商每天或不定期在某個時間刷新IP地址池,這樣已經(jīng)獲得的IP地址將會被強(qiáng)制釋放并分配新的IP地址。
這對于我們一些運(yùn)行在家用帶寬下的服務(wù)帶來了影響——需要重新設(shè)置服務(wù)端 IP 地址,比如監(jiān)控、網(wǎng)絡(luò)存儲等等,這時候 DDNS 就發(fā)揮作用的,現(xiàn)在大部分路由器內(nèi)置了 DDNS 客戶端,比如花生殼等服務(wù)客戶端,但是這些客戶端存在收費(fèi)、不穩(wěn)定以及刷新間隔小等問題,對于自己有域名的朋友可以使用 DNS 服務(wù)商的 API 自己實現(xiàn) IP 更新操作,比如阿里云(Aliyun)、Cloudflare 均可以實現(xiàn)。
對于 DDNS 如何使用 API 更新不在本文敘述范圍內(nèi),但調(diào)用 API 有個關(guān)鍵參數(shù)那就是公網(wǎng)IP地址,如何獲取當(dāng)前運(yùn)營商分配的公網(wǎng) IP地址呢?除了問路由器外(打開路由器管理界面找到 WAN 口信息)我們還可以通過一些網(wǎng)絡(luò)服務(wù)進(jìn)行檢測。
1使用 Shell 命令獲取公網(wǎng) IP 地址
瀏覽器方式
如果我們使用瀏覽器打開這個地址checkip.amazonaws.com你就會發(fā)現(xiàn)你的公網(wǎng)IP地址赫然在目,互聯(lián)網(wǎng)上的服務(wù)器總是能夠知道是什么 IP地址的客戶端發(fā)起了連接,當(dāng)然就可以通過這種方式獲取公網(wǎng) IP,同樣功能的網(wǎng)站有很多,這里列舉部分我收集到的:
https://checkip.amazonaws.com https://api.ipify.org https://ifconfig.me/ip https://icanhazip.com https://ipinfo.io/ip https://ipecho.net/plain https://checkipv4.dedyn.io
curl方式
在命令行下我們當(dāng)然不能為這點小事隨便啟動瀏覽器,我們可以請出另外一個功能強(qiáng)大的工具,那就是curl,cURL 是一個利用URL語法在命令行下工作的文件傳輸工具,關(guān)于cURL的快速用法可以參考阮一峰的網(wǎng)絡(luò)日志《curl 的用法指南》,這里不再詳述,最簡單的用法就是curl 你要請求的網(wǎng)址,比如curl checkip.amazonaws.com。
[root@www.lutixia.cn ~]# curl cip.cc IP : 171.43.148.打碼 地址 : 中國 ... 運(yùn)營商 : 電信 ... URL : http://www.cip.cc/171.43.148.打碼 [root@www.lutixia.cn ~]# curl ip.sb 171.43.148.打碼 [root@www.lutixia.cn ~]# curl ifconfig.me 171.43.148.打碼 [root@www.lutixia.cn ~]# curl myip.ipip.net 當(dāng)前 IP:171.43.148.打碼 來自于:中國 。。。電信 [root@www.lutixia.cn ~]# curl ip.threep.top 171.43.148.打碼
使用 dig 命令
首次在別人腳本中看到這個方式獲取公網(wǎng)IP覺得比較新奇,命令如下:
dig+shortmyip.opendns.com@resolver1.opendns.com
這個是由OpenDNS提供的服務(wù),如果你的主機(jī)上沒有安裝dig命令,對于Debian系列系統(tǒng)可以通過apt-get install dnsutils安裝,這個命令的原理是指定resolver1.opendns.com為域名myip.opendns.com的解析服務(wù)器,為什么要指定,主要是避免 DNS 下游服務(wù)器緩存,另外這個指定的解析服務(wù)器被 OpenDNS 進(jìn)行了特殊配置,其始終將域名myip.opendns.com解析為發(fā)起 DNS 請求的客戶端 IP 地址,這樣也就實現(xiàn)了查找公網(wǎng) IP的功能。
這個和 cURL 方式比有什么優(yōu)勢呢?當(dāng)然是數(shù)據(jù)量更小傳輸更快,畢竟使用 cURL 發(fā)起 HTTP 請求必然會導(dǎo)致協(xié)議頭等無關(guān)信息的交換,如果啟用了 HTTPS/TLS 那么還要進(jìn)行加密協(xié)商,效率會比較低,當(dāng)然這種方式的缺點就是 DNS 查詢?nèi)菀妆贿\(yùn)營商審計和過濾,穩(wěn)定性略差,不過我測試下來除了偶爾查詢失敗外其余情況是完全 OK 的。
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
8694瀏覽量
84524 -
ip地址
+關(guān)注
關(guān)注
0文章
283瀏覽量
16911 -
瀏覽器
+關(guān)注
關(guān)注
1文章
1007瀏覽量
34963 -
命令行
+關(guān)注
關(guān)注
0文章
76瀏覽量
10368 -
Shell
+關(guān)注
關(guān)注
1文章
359瀏覽量
23191
原文標(biāo)題:如何在命令行快速獲取公網(wǎng)動態(tài) IP 地址
文章出處:【微信號:通信弱電交流學(xué)習(xí),微信公眾號:通信弱電交流學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論