【博文推薦】淺談localhost
本博文出自CSDN博主 劉銳群 的博客,有任何問題請進(jìn)入博主頁面互動討論! 博文地址:http://blog.csdn.net/liuruiqun/article/details/45645091 |
在計(jì)算機(jī)網(wǎng)絡(luò)中,localhost 代表了本主機(jī),通過使用localhost可以訪問自己主機(jī)的網(wǎng)絡(luò)服務(wù)。注意,使用localhost的時(shí)候,使用的是回環(huán)網(wǎng)絡(luò)接口,這會繞過本地網(wǎng)絡(luò)接口硬件,獨(dú)立于任何網(wǎng)絡(luò)配置(不受網(wǎng)絡(luò)防火墻和網(wǎng)卡相關(guān)的的限制)。
在windows7系統(tǒng)的hosts文件中,可以看到:
- # localhost name resolution is handled within DNS itself.
- # 127.0.0.1 localhost
- # ::1 localhost
windows將localhost解析為 127.0.0.1(IPv4)或者 ::1 (IPv6)
網(wǎng)上有些文章提到localhost與127.0.0.1的區(qū)別時(shí)說到:localhot(local)是不經(jīng)網(wǎng)卡傳輸;127.0.0.1是通過網(wǎng)卡傳輸。事實(shí)真的是這樣的嗎?
我們先做個(gè)試驗(yàn)來看看:
首先,執(zhí)行命令: ping localhost -t
接著,嘗試用wireshark抓取報(bào)文。你會發(fā)現(xiàn)沒有抓取到任何相關(guān)的報(bào)文。這是為什么呢?
原因在于:本地回環(huán)地址不屬于任何一個(gè)有類別地址類,它代表設(shè)備的本地虛擬接口。發(fā)送到發(fā)送到環(huán)回地址的任何數(shù)據(jù)包在 TCP/IP 協(xié)議棧的鏈路層被執(zhí)行,這些數(shù)據(jù)包不會交付給任何網(wǎng)絡(luò)接口控制器(NIC)和設(shè)備驅(qū)動程序,即數(shù)據(jù)流不會被發(fā)送到一個(gè)真正的網(wǎng)絡(luò)接口。這樣一來,你在抓包的時(shí)候當(dāng)然看不到這些數(shù)據(jù)包了。
如果一定要抓取回環(huán)地址上的數(shù)據(jù)包,怎么辦呢?window操作系統(tǒng)上很麻煩(至少WinPcap是不可能嗅探到這種網(wǎng)絡(luò)流量)。但是通過一些其他配置還是可以嘗試一下的,具體參考:https://wiki.wireshark.org/CaptureSetup/Loopback或者h(yuǎn)ttp://www.hsc.fr/ressources/articles/win_net_srv/missing_loopback.html
原文轉(zhuǎn)自:http://blog.csdn.net/liuruiqun/article/details/45645091