IP地址是現代網(wǎng)絡(luò )通信的重要組成部分。在本指南中,我們將向大家展示linux怎么獲取IP地址?
IP地址是所謂的TCP/IP協(xié)議的一部分。這是一個(gè)網(wǎng)絡(luò )標準,它定義了如何在計算機網(wǎng)絡(luò )中連接在一起的計算機之間打包和傳輸數據。實(shí)際上有兩種類(lèi)型的IP地址,公共IP地址和私有IP地址。
公共IP地址和私有IP地址之間的差異:
互聯(lián)網(wǎng)服務(wù)提供商 (ISP) 分配公共IP地址,這類(lèi)似于我們的公共家庭地址。當計算機連接到專(zhuān)用網(wǎng)絡(luò )時(shí),它們每個(gè)都會(huì )獲得一個(gè)專(zhuān)用IP地址,以便在該網(wǎng)絡(luò )中使用。專(zhuān)用IP地址由我們的路由器或網(wǎng)絡(luò )中的其他設備分配。反過(guò)來(lái),路由器可以使用網(wǎng)絡(luò )地址轉換(NAT) 將傳入數據包路由到網(wǎng)絡(luò )上的正確設備。
下面,小編詳細給大家分析下linux獲取IP地址的方法:
一、如何找到公共IP地址?
我們可以使用各種連接到Internet的命令來(lái)發(fā)現我們的公共IP地址,以便為我們運行查詢(xún)。
1、使用dig命令獲取公共IP地址
該dig命令是用于Linux的DNS查找實(shí)用程序。使用dig,我們可以通過(guò)連接到服務(wù)器來(lái)查找我們的公共IP地址。服務(wù)器提供商托管有助于發(fā)現Internet上網(wǎng)絡(luò )IP地址的DNS服務(wù)器。在bash、sh或其他終端中運行以下命令。
$ dig +short myip.opendns.com @resolver1.opendns.com
作為輸出,應該從服務(wù)器提供商解析器取回我們的公共IP地址。我們的IP地址將是一系列格式為 216.58.216.164(這是Google的眾多 IP地址之一)的數字組,或者是此類(lèi)的變體。
2、使用Curl返回我們的公共IP地址
該curl命令是另一個(gè)網(wǎng)絡(luò )實(shí)用程序,可讓我們與Internet上的服務(wù)器進(jìn)行交互??梢允褂靡韵逻x項查詢(xún)服務(wù)器以返回我們的公共IP:
$ curl http://ifconfig.me/ip
或者$ curl http://icanhazip.com
每個(gè)命令的輸出將是這些服務(wù)器看到的我們的公共IP。
除了上面給出的這兩個(gè)之外,還有許多其他服務(wù)器可以返回我們的公共IP地址。
3、使用wget返回我們的公共IP地址
wget是適用于Linux的常用實(shí)用程序,我們可以使用它代替curl下載數據并與服務(wù)器交互??梢允褂脀get使用以下命令檢索我們的公共IP:$ wget -qO- icanhazip.com
二、如何找到私有IP地址?
1、使用 ifconfig 命令獲取私有IP地址
ifconfig是一個(gè)命令行程序,用于在Linux上配置網(wǎng)絡(luò )接口。我們可以使用該命令以及過(guò)濾我們的私有IP地址的各種標志來(lái)檢索自己的IP地址。在shell中運行以下命令:
$ ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
上面的命令檢查所有活動(dòng)的網(wǎng)絡(luò )接口,然后過(guò)濾TCP/IP接口,最后過(guò)濾本地IP地址的輸出。最終輸出是我們的私有IP地址。類(lèi)似于119.136.154.136或一些變體。
我們可以使用sed過(guò)濾ifconfig輸出,這是一個(gè)用于解析和轉換文本流的實(shí)用程序。運行以下命令以獲取您的私有 IP 地址:
$ ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
在此示例中,我們過(guò)濾ifconfig輸出以獲取我們在TCP/IP協(xié)議下的IP地址。如果沒(méi)有安裝sed或ifconfig ,上述命令可能會(huì )失敗。如果命令失敗,請嘗試該hostname命令并按照以下方法操作。
2、使用主機名命令獲取私有IP地址
https://linux.die.net/man/1/hostname命令返回機器的DNS信息。我們可以通過(guò)在shell中執行以下命令來(lái)找到我們的私有IP地址:
$ hostname -I
上面的命令枚舉了所有網(wǎng)絡(luò )接口上的所有配置地址,包括我們的私有 IP地址。
3、使用IP命令獲取私有IP地址
我們還可以使用ip命令獲取Linux的私有IP地址。該ip命令顯示和操作路由、設備、策略路由和隧道。
我們可以使用以下ip帶有標志的命令變體來(lái)返回我們的私有IP地址。
$ ip route get 1 | awk '{print $NF;exit}'
$ ip route get 8.8.8.8 | head -1 | cut -d' ' -f8
$ ip route get 8.8.8.8 | head -1 | awk '{print $7}'
這些命令打印出路由表條目,用于向備用服務(wù)器發(fā)送請求。這些涉及我們的私有IP地址作為請求的來(lái)源。我們正在使用Linux 命令head、awk和cut來(lái)過(guò)濾該源以提取我們的私有IP地址。
4、從網(wǎng)絡(luò )連接設置中查找私有IP地址
除了命令行,我們還可以使用Linux管理小程序。我們可能需要調整這些說(shuō)明以適合我們的確切Linux發(fā)行版。
導航到您的“菜單”
找到“首選項”選項卡
導航到“網(wǎng)絡(luò )”或用于管理網(wǎng)絡(luò )信息的等效項
選擇網(wǎng)絡(luò )類(lèi)型(即 Wi-Fi、以太網(wǎng)或其他)
可以在有關(guān)我們IP的打印信息下查看私有IP地址
這不適用于嚴格的命令行環(huán)境,但適用于桌面Linux系統。如果僅使用命令行登錄,則需要嘗試上面給出的其他基于命令的方法。
總結:有多種方法可以在linux獲取IP地址。我們可以使用混合命令,例如ifconfig、ip或hostname,或者使用圖形環(huán)境應用程序。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動(dòng)站