关于ping命令的-I选项的一个问题
来源:互联网 发布:网络群发软件 编辑:程序博客网 时间:2024/06/11 07:49
在排查网络问题的时候,ping是一个不可或缺的工具(比ping更不可或缺的是www.baidu.com...),在Cisco上,可以指定源IP地址去ping任意IP,但是在Linux上指定源IP地址却并不是那么直观。通过ping的manual,发现一个-I选项,可以从指定网卡发送出去数据包,我天真以为后面携带的那个IP地址就是指定的源IP地址了,其实并不是。
实际上,-I选项指定了源路由,Wireshark会把-I列表的最后一个IP地址解析成目标IP展示出来,但是数据包的IP头里的目标IP,可能并不是这个IP。这极其容易被误用,特别是对于初学者而言,特别容易搞出一些让人难以理解的问题,分析来分析去,原来是ping工具实现的不健全导致。Cisco的ping就非常好用,我个人的观点。
通过抓包,发现-I选项后面可以跟一个IP地址列表,这指定了“源路由选项”,什么是源路由,请自行google。比如,如果我执行ping 1.1.1.2 -I eth2 1.1.1.1,数据包如下:
极其混乱,不是吗?目标地址在IP头里明明是1.1.1.2,但是却解析成了1.1.1.1。如果执行ping 1.1.1.2 -I eth1 1.1.1.2 10.2.2.4 2.2.2.2,抓包如下:
实际上,-I选项指定了源路由,Wireshark会把-I列表的最后一个IP地址解析成目标IP展示出来,但是数据包的IP头里的目标IP,可能并不是这个IP。这极其容易被误用,特别是对于初学者而言,特别容易搞出一些让人难以理解的问题,分析来分析去,原来是ping工具实现的不健全导致。Cisco的ping就非常好用,我个人的观点。
0 0
- 关于ping命令的-I选项的一个问题
- [Java] 一个关于i++ 的问题
- 关于tar命令的选项
- Ping命令序列生成的一个方法
- 关于ping命令的工作原理
- 关于ping和tracert的网络命令
- 关于套节口选项的问题
- 关于read命令的一个小问题
- sqlplus的一个有趣的命令选项
- 关于ping命令不是内部或者外部命令的解决方法
- 关于java中i++,++i和i++ + ++i的问题
- 关于i++ 与 ++i 的问题
- 关于 ++i*--i 问题自己的理解
- 关于i++和++i的问题
- 关于i=i++的问题
- 关于-i++与-i--的问题
- 关于i++和++i的性能问题
- 关于++i和i++的问题
- keil软件之51与arm兼容性问题解决
- 【一天一道LeetCode】#101. Symmetric Tree
- 网络LED矩阵显示器
- CvMat用法详解
- 进程管理之 atexit()函数
- 关于ping命令的-I选项的一个问题
- EffectiveJava-类和接口
- Flume监控及参数调优
- csdn可能待改进点之28------>手机上csdn的同步需要好久啊?
- Python 多线程 多进程 GIL
- eclipse环境使用及安卓入门
- 数据预处理系列:(一)从外部源获取样本数据
- Github 安全类Repo收集整理
- 康托展开