ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
2014-04-10 14:50
483 查看
原文:http://hi.baidu.com/adobestone/item/7140eaf5feae1d3e753c4c2a?qq-pf-to=pcqq.c2c
adobestone注:下图来自于《TCP/IP详解卷一:协议》第二章 图2-4
另,无论是ping127.0.0.1或本地IP(在Windows和Linux下),都不能抓获到ping数据帧,亦即ping两者都是不经过网卡的,都是通过环路来处理的(从图中也可以看出来)。但是由于在以太网驱动程序中可以获取本地主机的IP地址,这样的处理机制使得我们能够通过ping本地IP的方法来判断网卡是否正常工作,但实际上并没有发送到网卡。当拔掉网线后,ping本机是失败的,因为在这种情况下,驱动程序未能获得本地主机IP。并不能由此证明“ ping本机则是需要经过网卡的”。jergolfer 正解。
下面是那篇文章:
文章来源:http://blog.csdn.net/ixidof/article/details/5605942
alvas:
当发送icmp包的时候,这些包的发送路径是什么?都经过了什么地方?router的选择和interface的选择都由什么决定?
kapiter:
ping 127.0.0.1和ping本机的过程是不一样的
ip输出函数先检查地址是不是环回地址:
1. 如果是环回地址,直接交给环回驱动程序处理,返回ip输入函数
2. 如果不是环回地址,检查是不是广播地址或者多播地址
3. 如果不是广播或者多播地址,才检查是不是本机地址,如果是本机地址,则交给环回驱动程序处理,环回驱动程序返回给ip输入函数
从上面可以看出 ping 127.0.0.1数据包是不经过网卡的 ping本机则是需要经过网卡的
ICMP报文是封装在ip数据包里面的,所以router选择和interface选择过程和ip数据包是一样的
alvas:
thx
maoyinjie:
ping 127.0.0.1 和 ping本机同样是不经过网卡的,都是环回驱动处理掉的
dingcuipu8888:
lz你拔掉网线照样能ping 127.0.0.1,但是IP地址是ping不通的。2#说的没问题
liuyongq:
支持二楼的
jergolfer:
ping 127.0.0.1是测试本机是否安装了TCP/IP协议,而路由器和接口的选择是由路由表决定的,windows下可通过router print查看
ping 127.0.0.1是不会经过本机网卡的,当然抓包是看不到的
ping本机IP也不会经过本机网卡的
Richard Steven卷一中有详细分析,正如kapiter所说的
ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
adobestone注:下图来自于《TCP/IP详解卷一:协议》第二章 图2-4另,无论是ping127.0.0.1或本地IP(在Windows和Linux下),都不能抓获到ping数据帧,亦即ping两者都是不经过网卡的,都是通过环路来处理的(从图中也可以看出来)。但是由于在以太网驱动程序中可以获取本地主机的IP地址,这样的处理机制使得我们能够通过ping本地IP的方法来判断网卡是否正常工作,但实际上并没有发送到网卡。当拔掉网线后,ping本机是失败的,因为在这种情况下,驱动程序未能获得本地主机IP。并不能由此证明“ ping本机则是需要经过网卡的”。jergolfer 正解。
下面是那篇文章:
文章来源:http://blog.csdn.net/ixidof/article/details/5605942
alvas:
当发送icmp包的时候,这些包的发送路径是什么?都经过了什么地方?router的选择和interface的选择都由什么决定?
kapiter:
ping 127.0.0.1和ping本机的过程是不一样的
ip输出函数先检查地址是不是环回地址:
1. 如果是环回地址,直接交给环回驱动程序处理,返回ip输入函数
2. 如果不是环回地址,检查是不是广播地址或者多播地址
3. 如果不是广播或者多播地址,才检查是不是本机地址,如果是本机地址,则交给环回驱动程序处理,环回驱动程序返回给ip输入函数
从上面可以看出 ping 127.0.0.1数据包是不经过网卡的 ping本机则是需要经过网卡的
ICMP报文是封装在ip数据包里面的,所以router选择和interface选择过程和ip数据包是一样的
alvas:
thx
maoyinjie:
ping 127.0.0.1 和 ping本机同样是不经过网卡的,都是环回驱动处理掉的
dingcuipu8888:
lz你拔掉网线照样能ping 127.0.0.1,但是IP地址是ping不通的。2#说的没问题
liuyongq:
支持二楼的
jergolfer:
ping 127.0.0.1是测试本机是否安装了TCP/IP协议,而路由器和接口的选择是由路由表决定的,windows下可通过router print查看
ping 127.0.0.1是不会经过本机网卡的,当然抓包是看不到的
ping本机IP也不会经过本机网卡的
Richard Steven卷一中有详细分析,正如kapiter所说的
相关文章推荐
- ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
- ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
- linux双线双网卡双线根据访问ip地址返回数据包
- luyikk 的C# PING 工具 与 传统的不一样的是 他可以修改你的 IP地址实现伪造ICMP数据包 ,当然 XP下无法使用 2003下才可以使用
- 在SQLServer上得到客户端信息(操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名)
- eNSP_Client:virtualbox host-only网卡不存在或IP地址不正确
- iphone开发之获取网卡的MAC地址和IP地址
- 超强获取计算机信息类(可获取cpu序列号,网卡地址,ip地址,硬盘id,登录系统用户,计算机名等等)
- Linux的网卡和IP地址 (每天一点点)
- Debian 修改网卡IP地址
- 使用ping命令时让数据包从指定网卡发送出去
- c#中获取cpu序列号、网卡mac地址、ip地址、硬盘序列号、登录用户名、pc类型、计算机名称、物理内存
- MAC下ping整个局域网找到正在使用的ip地址并打印出来的脚本
- 使用Sniffer截获流经本机网卡的IP数据包
- 获取某张网卡的IP地址
- shell获取CentOS6.8网卡上的IP地址
- 在Linux命令行上,能ping通ip地址,却ping不通域名
- AIX使用命令修改网卡IP地址,永久生效
- 网卡驱动和队列层中的数据包接收 !!
- Linux下实现一个网卡绑定多个IP地址