公有地址由 InterNIC 分配并由基于類的網(wǎng)絡(luò) ID 或基于 CIDR 的地址塊構(gòu)成(被稱為 CIDR 塊)丹鸿,并保證了在全球互聯(lián)網(wǎng)中的唯一性蝌矛。當(dāng)公有地址被分配時(shí),其路由將會(huì)被記錄到互聯(lián)網(wǎng)中的路由器中落蝙,這樣訪問公有地址的流量就能順利到達(dá)胰锌。訪問目標(biāo)公有地址的流量可經(jīng)由互聯(lián)網(wǎng)抵達(dá)衩茸。比如芹血,當(dāng)一個(gè) CIDR 塊被以網(wǎng)絡(luò) ID 和子網(wǎng)掩碼的形式分配給一個(gè)組織時(shí),對應(yīng)的 [網(wǎng)絡(luò) ID楞慈,子網(wǎng)掩碼] 也會(huì)同時(shí)作為路由儲存在互聯(lián)網(wǎng)中的路由器中幔烛。目標(biāo)是 CIDR 塊中的地址的 IP 封包會(huì)被導(dǎo)向?qū)?yīng)的位置。
在本文中我將會(huì)介紹在幾種在 Linux 終端中查看你的公有 IP 地址的方法囊蓝。這對普通用戶來說并無意義饿悬,但 Linux 服務(wù)器(無GUI或者作為只能使用基本工具的用戶登錄時(shí))會(huì)很有用。無論如何聚霜,從 Linux 終端中獲取公有 IP 在各種方面都很意義狡恬,說不定某一天就能用得著珠叔。
以下是我們主要使用的兩個(gè)命令,curl 和 wget弟劲。你可以換著用祷安。
Curl 純文本格式輸出:1.curl icanhazip.com2.curl ifconfig.me3.curl curlmyip.com4.curl ip.appspot.com5.curl ipinfo.io/ip6.curl ipecho.net/plain7.curl www.trackip.net/icurl JSON格式輸出:1.curl ipinfo.io/json2.curl ifconfig.me/all.json3.curl www.trackip.net/ip?json (有點(diǎn)丑陋)curl XML格式輸出:1.curl ifconfig.me/all.xmlcurl 得到所有IP細(xì)節(jié) (挖掘機(jī))1.curl ifconfig.me/all使用 DYDNS (當(dāng)你使用 DYDNS 服務(wù)時(shí)有用)1.curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: /([0-9/.]*/).*//1/g' 2.curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]/+"使用 Wget 代替 Curl1.wget http://ipecho.net/plain -O – -q ; echo2.wget http://observebox.com/ip -O – -q ; echo使用 host 和 dig 命令如果有的話,你也可以直接使用 host 和 dig 命令兔乞。
Linux學(xué)習(xí)汇鞭,http:// linux.it.net.cn
1.host -t a dartsclink.com | sed 's/.*has address //'2.dig +short myip.opendns.com @resolver1.opendns.combash 腳本示例:1.#!/bin/bash2.3.PUBLIC_IP=`wget http://ipecho.net/plain -O – -q ; echo`4.echo $PUBLIC_IP簡單易用。
我實(shí)際上是在寫一個(gè)用于記錄每日我的路由器中所有 IP 變化并保存到一個(gè)文件的腳本庸追。我在搜索過程中找到了這些很好用的命令霍骄。希望某天它能幫到其他人。
——————————————————————————–
via: http://www.blackmoreops.com/2015/06/14/how-to-get-public-ip-from-linux-terminal/