打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
网络篇-“Ping 127.0.0.1”工作原理你知道吗?

很多小伙伴遇到网络故障

或者无法连通时,

大多情况下,

我们都会一顿ping操作

判断是否网络故障。

那么我想问下,

Ping 127.0.0.1的原理是什么?

我相信大部分小伙伴,

都会有“心有力,而语不出”这种感觉

心里感觉好像应该懂点什么,

到嘴里又好像没有什么可说的。

就问你,尴尬不尴尬?


今天,我们就好好聊聊

“Ping 127.0.0.1”背后那点事

首先,我们要弄清楚127.0.0.1的位置

1.window系统里,在hosts文件里可以找到127.0.0.1

可以发现localhost解析地址为127.0.0.1

2.linux中是写在/etc/hosts中

通过ifconfig命令,是可以看到这个lo0写了127.0.0.1地址

我们可以发现127.0.0.1默认配给了一个loopback虚拟接口上。

其次,我们要弄清楚ping 127.0.0.1的数据包是否经过网卡.

先简单的阐述下ping的程序

ping是对两个TCP/IP系统连通性进行测试的基本工具,

它只利用ICMP回显请求和回显应答报文,

而不用经过传输层(TCP/UDP)

我们一般把发送回显请求的ping程序为客户端,

而被ping的主机为服务器。

大多数的TCP/IP实现都在内核中直接支持ping服务器。

然后,我们引用“TCP/IP协议卷一”,

关于“网卡驱动处理IP数据包”的流程图,来解释下。

在我们输出ping 127.0.0.1时,

IP输出函数会先检查地址是不是换回地址:

1.  如果是环回地址,直接交给环回驱动程序处理,返回ip输入函数

    2.  如果不是环回地址,检查是不是广播地址或者多播地址,

如果是广播地址或者组播地址数据报复制一份传给环回接口。然后在送到以太网上。(因为广播和多播包含主机本身)

    3.  如果不是广播或者多播地址,才检查是不是本机地址,如果是本机地址,则交给环回驱动程序处理,环回驱动程序返回给ip输入函数

另外,请童鞋注意的是,目前大部分网卡接口不能读会它自己发送出去的数据包,

所以如果是发送给本地的数据包,

最好是不需要经过网卡的。

很多网卡驱动的注释上都有备注。

从上面可以看出 ping 127.0.0.1数据包是不经过网卡的。

而如果ping本机IP是需要经过网卡。

那么,我们是不是可以得出这样的一个结论:

1.ping 127.0.0.1是检查TCP/IP协议栈是否正常。

2.ping 本地IP 是检查你网卡、配置是否正常。

为了验证这个问题,我们通过实验去看下结果:

window环境下,我们把网卡禁用,我们来尝试ping 127.0.0.1

图一:网卡禁用

图二:Ping 结果

通过这个简单实验验证我们上面的结论。

那么,有童鞋会问

ping 127.0.0.1会不会被防火墙的影响

我们继续做一个实验去验证:

1.首先测试机开启防火墙功能

2.我们添加127.0.0.1的地址过滤,在高级设置->入站规则里与出站规则:新建规则

3.然后DOS里ping 127.0.0.1,同时wireshark抓包本地网卡的包

可以发现还是能正常ping通,而且网卡上没有127.0.0.1的数据包。

所以ping 127.0.0.1的数据包不受防火墙影响。

总结:ping 127.0.0.1环回地址,

如果不能ping通过说明当前机器的TCP/IP协议栈有问题。

Window的TCP/IP协议栈重装步骤:

1.删除注册表键值 
 开始-运行-regedit,找到 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2

把这两个删除 。
2.重新安装协议 
  本地连接-属性-安装-协议-增加-从硬盘导入-选择%Windir%\inf 文件夹(一般为 C:\Windows\inf)-选择TCP/IP协议v4 。
3.将TCP/IP协议栈恢复至初始状态 
  管理员权限运行 cmd, netsh int ip reset C:\resetlog.txt 。其中C:\resetlog.txt为记录日志,一定要指定。 
4.重启;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗? - 韦编二绝 ...
Ping使用方法大全
PING命令入门详解 - 〖软件下载交流〗 - MACD股市技术分析俱乐部 - bbs.m...
测试端口常用命令
家庭无线常见故障集之整体判断篇
未公开的Windows网络工具
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服