浅谈localhost

来源:互联网 发布:里程 积分 知乎 编辑:程序博客网 时间:2024/05/16 14:43
        在计算机网络中,localhost 代表了本主机,通过使用localhost可以访问自己主机的网络服务。注意,使用localhost的时候,使用的是回环网络接口,这会绕过本地网络接口硬件,独立于任何网络配置(不受网络防火墙和网卡相关的的限制)。

在windows7系统的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)

        网上有些文章提到localhost与127.0.0.1的区别时说到:localhot(local)是不经网卡传输;127.0.0.1是通过网卡传输。事实真的是这样的吗?
       我们先做个试验来看看:
       首先,执行命令:    ping localhost -t
       接着,尝试用wireshark抓取报文。你会发现没有抓取到任何相关的报文。这是为什么呢?
       原因在于:本地回环地址不属于任何一个有类别地址类,它代表设备的本地虚拟接口。发送到发送到环回地址的任何数据包在 TCP/IP 协议栈的链路层被执行,这些数据包不会交付给任何网络接口控制器(NIC)和设备驱动程序,即数据流不会被发送到一个真正的网络接口。这样一来,你在抓包的时候当然看不到这些数据包了。

       如果一定要抓取回环地址上的数据包,怎么办呢?window操作系统上很麻烦(至少WinPcap是不可能嗅探到这种网络流量)。但是通过一些其他配置还是可以尝试一下的,具体参考:https://wiki.wireshark.org/CaptureSetup/Loopback 或者 http://www.hsc.fr/ressources/articles/win_net_srv/missing_loopback.html

0 0
原创粉丝点击