有網路知識基礎的人,肯定不會對127.0.0.1這個ip位址感到陌生,如果本機搭建了**(web伺服器),只要在瀏覽器中輸入這個127.0.0.1或localhost就能訪問。很多人因此把它叫做本機位址,實際上這種叫法是不準確的,127.0.0.1真正的名稱是環迴位址(loopback address)。
127.0.0.1與localhost在絕大部分情況下都是通用的,但兩者之前還是存在明顯的區別。
首先從概念上加以區分,127.0.0.1是ip位址,localhost是本機的網域名稱,windows系統下的hosts檔案可以看到兩者的關係,hosts檔案中預設有兩條記錄,localhost分別對應本機的ipv4(127.0.0.1)和ipv6位址(::1),這個檔案是可以修改的;
其次使用時稍有不同,雖然兩者都可以使用ping命令,但ping localhost會發現localhost被解析成 ::1,這實際上是127.0.0.1的ipv6形式,另外通常用ping 127.0.0.1來檢查網絡卡狀態是否正常。
ip位址是裝置在網路上的唯一標識,比如無線路由器有兩個ip,公網ip(如100.78.118.73)連線網際網路,私有ip(如192.168.1.1)連線區域網,如果手機或電腦連線wifi上網,無線路由器會給手機或電腦分配乙個私有ip(如192.168.1.101)。我們可以通過127.0.0.1訪問本機,通過私有ip訪問區域網內部的其它裝置,通過公網ip訪問網際網路上的其它裝置。
根據tcp/ip協議,所有網路請求都包含源ip和目標位址ip,在將請求資料傳送到網路上之前都會對資料報進行檢查,如果發現目的位址包含127.0.0.1,就會直接過濾掉該資料報,並將請求資料重新路由到源ip,由驅動程式處理。這樣能保證訪問127.0.0.1的請求不會發到網路上,也能阻止網路攻擊者將惡意網路資料裝成環迴位址對他人發起攻擊。
事實上ipv4保留127.0.0.0整個網段的位址用於環迴測試,127.0.0.1只是其中乙個,你可以ping通這個網段裡的所有位址,也可以在瀏覽器中輸入任意乙個位址訪問本機的web服務。
另外乙個經常被混淆的ip位址是0.0.0.0,它才是真正意義上的本機位址,它的用法跟127.0.0.1完全不同,下面舉例說明:比如電腦有兩塊網絡卡,其中一塊使用公網ip用於連線網際網路,另外一塊使用私有ip連線區域網,如果本機搭建了web服務,並且希望外網和內網都能正常訪問,可以在伺服器的配置中將伺服器位址改為0.0.0.0。
參考:
關於環迴位址的介紹
關於環迴位址的介紹 一 環迴介面 為了標識和管理網路裝置 如路由器 pc 我們通常會利用到這些裝置的介面 包括物理介面和邏輯介面 如vlan 上設定的ip位址。但很多情況下,儘管該裝置未脫離網路,由於其管理位址所處的介面狀態處於down,該裝置便無法管理 因為物理連線斷開,介面協議起不來 為了解決這...
Ping環迴位址
ping環迴位址 ping 127.0.0.1 您應該收到類似下面的響應 pinging 127.0.0.1 with 32 bytes of data reply from 127.0.0.1 bytes 32 time 10ms ttl 128 reply from 127.0.0.1 byte...
更改本地環迴位址引發的血案
本地回環位址是指以 開頭的位址,通常是指127.0.0.1 127.255.255.254,都是回環位址,所以這個位址應該是在 的系統呼叫中能看到,可以自己試著往本地的網絡卡傳送資料嘛,使用 就可以看到 都做了什麼操作 socket pf inet,sock dgram sock nonblock,...