ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
2012-09-29 19:58
597 查看
转自:http://hi.baidu.com/adobestone/item/7140eaf5feae1d3e753c4c2a
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所说的
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下才可以使用
- 只显示指定网卡IP地址命令
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- 树莓派ping主机名比IP地址慢的原因及解决方法
- linux下如何实现为一个网卡绑定多个IP地址
- 通过ping 主机名,或者主机名对应的IP地址
- 多队列网卡简介以及Linux通过网卡发送数据包源码解读
- 在Windows中取得多个网卡的MAC地址及多个IP地址
- ioctl 获取本机网卡ip地址 | socket()
- 扒开网线无法ping通通网卡自己的ip
- ubuntu 查看网卡 数据包处理 速度
- 伪装IP地址的洪水Ping攻击(转)
- 发现一个奇怪的网址,能PING出127.0.0.1
- (1)ping www.baidu.com [ping: unknown host www.baidu.com]---(2)xshell 连接虚拟机问题---(3) 网卡重启失败
- 定时PING下IP地址,检测该服务器是否还活着。 smokeping
- 如何解决 ping 不通 127.0.0.1
- Linux一块网卡添加多个IP地址