利用commview.dll软件篡改arp数据帧,为什么ping通,却抓不到arp/req这个包

ping命令跟icmp和arp有什么关系?为什么uboot代码ping时发送arp帧?为什么arp帧发送完成回复的帧又不一样_百度知道虚拟机内IP不一样为什么能ping通_百度知道3932人阅读
协议(59)
总结:当PING不通一个IP时,再通过arp -a查看是否有该IP的MAC,才能确认该Ip到底存不存在!
原因:PING不通 ICMP包被拦截,但ARP包未被拦截。 PING命令要先发ARP包,再发ICMP包。
做过网络管理员的同学应该都遇到过这种情况,当判断一台PC是不是处于开机在线状态时可能最先想到的就是PING一下那台PC的IP地址,能PING通表示在线,PING不通……可能在线也可能不在线。为什么这么说?因为PC上可能运行着防火墙,WINDOWS自带的防火墙也好,第三方防火墙也好,默认设置都会拦截下PING入本机的“请求”数据包,这导致PING“请求”发出方收不到回应,超过时间后便会显示TIME
OUT提示,虽然PING不通,但我们却无法依此确定此PC是不是在线,那有没有简单有效的方法来判断某PC是不是在线?
 此时,WINDOWS 中的ARP命令可以帮到我们,ARP –A命令的作用是查看ARP缓存中的所有项目。ARP缓存表中包括什么对我们有用的信息呢?当然是MAC地址了,为什么这么说?同学们且往下看。
  当我们在PC1上输入ping 10.0.0.10 ,按下回车键后系统所执行的第一个实际操作其实并不是PING功能本身,PC1首先是要使用ARP协议解析目标IP地址,在收到目标主机的回应之后,PC1才会发送ICMP包给目标主机。如果系统装有防火墙,这时防火墙就起作用了,防火墙不会拦截ARP解析IP地址,但却会拦截PING请求,PING请求被拦截,目标主机自然不会给PC1发送相应的PING回应数据包,超过时间之后,PC1上的PING操作便显示超时,其过程大致就是这样。
  防火墙不会拦截ARP协议解析IP地址这点对我们来讲就够用了,IP地址被解析成MAC地址后我们可以通过ARP –A命令查看ARP缓存表,只要在ARP缓存表中出现目标主机的IP-MAC对应条目,那证明其就是在线的,如果目标主机处于关机或离线状态,自然ARP协议无法解析PC1所请求的IP地址,也就不会有目标主机的IP-MAC对应条目& 通过这样,我们便可以很简单的了解到目标主机是不是在线了。
  虽然PING不通,但是PC1的ARP缓存表中却出现了10.0.0.10的MAC地址(硬件地址亦作物理地址),证明目标主机是在线的。如下图:
如果目标主机不在线(在测试时小编将目标主机关机),ARP协议无法解析10.0.0.10的MAC地址,如下图。小编还试着将目标主机的禁用,其结果相同。
使用Wireshark分析数据包,能更好的帮助我们理解上面所说的情况。有Echo (ping) request 但没有Echo (ping) reply 。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1285153次
积分:14423
积分:14423
排名:第568名
原创:149篇
转载:312篇
评论:222条
(1)(5)(2)(12)(5)(6)(1)(2)(1)(3)(1)(1)(2)(2)(6)(4)(1)(2)(2)(7)(3)(2)(17)(2)(4)(5)(4)(6)(9)(6)(1)(2)(2)(6)(6)(5)(6)(2)(6)(1)(1)(4)(2)(1)(3)(9)(2)(4)(4)(3)(6)(3)(7)(8)(4)(9)(13)(22)(19)(44)(126)今天遇到一个问题,本机ping通虚拟机,但是虚拟机ping不通本机。请教后才知道是我的防火墙开了,挡掉了。特此学习一个ping
一、什么是 PING:
&&&&&&& 它是用来检查网络是否通畅或者网络连接速度的命令,使用ICMP(Internet控制报文协议)。 它所利用的原理是这样的:网络上 的机器都有唯一确定的 IP 地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个同 样大小的数据包, 根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机 的操作系统等。
Ping 是 Windows 、linux自带的一个可执行命令。ping 指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒木马会强行大量远程执行 ping 命令抢占你的网络资 源,导致系统变慢,网速变慢。严禁 ping 入侵作为大多数防火墙的一个基本功能提供给用 户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保 护你的电脑
二、PING的工作流程
我们以下面一个网络为例:有 A、B、C、D 四台机子,一台路由 RA,子网掩码均为 255.255.255.0,默认路由为 192.168.0.1 [1]
1.在同一网段内
&在主机 A 上运行“Ping 192.168.0.5”后,都发生了些什么呢? 首先,Ping 命令会构建一个 固定格式的 ICMP 请求数据包, 然后由 ICMP 协议将这个数据包连同地“192.168.0.5”一起 交给IP 层协议(和 ICMP 一样,实际上是一组后台运行的进程),IP 层协议将以地址 “192.168.0.5”作为目的地址,本机 IP 地址作为源地址,加上一些其他的控制信息,构建一 个 IP 数据包,并想办法得到 192.168.0.5 的MAC 地址(物理地址,这是数据链路层协议构
建数据链路层的传输单元——帧所必需的),以便交给数据链路层构建一个数据帧。关键就 在这里,IP 层协议通过机器 B 的 IP 地址和自己的子网掩码,发现它跟自己属同一网络,就 直接在本网络内查找这台机器的 MAC,如果以前两机有过通信,在 A 机的 ARP 缓存表应该 有 B 机 IP 与其 MAC 的映射关系,如果没有,就发一个 ARP 请求广播,得到 B 机的 MAC, 一并交给数据链路层。后者构建一个数据帧,目的地址是 IP 层传过来的物理地址,源地址 则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送
出去。 主机 B 收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合, 则接收;否则丢弃。接收后检查该数据帧,将 IP 数据包从帧中提取出来,交给本机的 IP 层 协议。同样,IP 层检查后,将有用的信息提取后交给 ICMP 协议,后者处理后,马上构建 一个 ICMP 应答包,发送给主机 A,其过程和主机 A 发送 ICMP 请求包到主机 B 一模一样。
2.不在同一网段内
在主机 A 上运行“Ping 192.168.1.4”后,开始跟上面一样,到了怎样得到 MAC 地址时,IP 协议通过计算发现 D 机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的 MAC 取过来,至于怎样得到路由的 MAC,跟上面一样,先在 ARP 缓存表找,找不到就广 播吧。路由得到这个数据帧后,再跟主机 D 进行联系,如果找不到,就向主机 A 返回一个 超时的信息。
计算机网络的学问很多啊,要把课本拿出来翻一翻了
(参考自:http://blog.csdn.net/zhuying_linux/article/details/6770730)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:9851次
排名:千里之外
原创:28篇
转载:10篇
(1)(1)(3)(6)(8)(3)(2)(9)(4)(1)(1)数据考试题目及答案_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据考试题目及答案
上传于||文档简介
&&移​动​数​据​考​试​题​目​ ​计​算​机​网​络​ ​题​库
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 commview for wifi 的文章

 

随机推荐