我来玩转一下arp -a (pc ping 手机)
来源:互联网 发布:域名与域名的管理 编辑:程序博客网 时间:2024/05/29 17:31
我进行了如下图的操作:
我们可以看到, 第一次在pc的cmd中操作arp -a的时候, arp缓存表中并没有手机的相关信息。 此时, 我们让pc来ping一下手机ip, 通过抓包可以看出pc在局域网内广播了arp包, 意思在说: 谁的ip是192.168.1.100, 请告诉我你的mac。手机受到这个包后, 发现pc喊的正是自己的ip, 于是把自己的mac返回, 这样, pc就知道手机的mac了, 并把ip---mac映射存入arp缓存表中。 这样, 再执行arp -a的时候, 我们就可以查到手机的ip---mac了。
此时, 如果pc再次ping手机, 抓包是看不到arp包的, 因为pc首先查找arp缓存表, 发现已经有手机的ip---mac映射了, 就不需要重新发送查询请求了。 缓存表很奇妙啊。 顺便说一下, 通常来讲, arp只在局域网(简单理解为不经过路由器的网)内广播。比如, 你要是ping一下www.baidu.com, 那就别指望在pc上看到百度服务器的mac了。
重要的题外话: 在发一个ip包之前, TCP/IP协议栈会必须检查目的IP主机(或者是到达目的的主机路径上的第一台路由器)的mac地址, 必须的啊。 所以,对于一个应用程序而言, 一旦arp缓存表中没有对应的mac, 协议栈就会自动发一个arp请求, 并等待一个返回的arp应答, 实际上, 这个过程完全是协议栈自己去完成的, 跟应用程序没有半毛钱的关系(你想想啊, 应用程序根本不管你什么mac不mac的)。 当然, ping也是一个基于ip的应用程序, 所以在ping前会发arp(当前arp缓存表没有对应mac时)。
补充说一下, 如果要删除某条ip---mac映射, 值需要执行arp -d ip即可, 这个我经常用啊。
作为软件开发人员, 多玩玩这样的小操作, 挺好的
- 我来玩转一下arp -a (pc ping 手机)
- arp+ping
- android手机无法ping通pc,netconnection失败
- assist_link.js a标签手机pc通用
- VLAN ,ARP,PING
- 开源前夕先给大家欣赏一下我用C语言开发的云贴吧 网站自动兼容-移动、手机、PC自动兼容云贴吧
- 我也来秀一下google的 Android 手机
- 利用ARP和ICMP协议解释ping命令(二)
- 为什么我电脑在dos下不能执行ping和arp命令
- cell phone ping pc
- arm pc vmlinux的互ping(局域网连通)
- 我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(一)PC服务器端
- 未来的个人计算机(pc 手机)
- 电脑ping手机该怎么玩(很多网友都说电脑ping不通手机)?
- PC与虚拟机ping不通
- 神马?手机逆袭电脑了?PC版《我叫MT》下月在手机上封测?
- 判断是否为pc还是手机端以及手机端a标签点击闪亮处理
- ARP原理及双网卡设备arp、ping查询问题
- 动态引用R.drawable.xxx 图片
- Unity3D学习之(血条的制作以及声音的添加)
- SendMessage的大致流程
- linux find命令mtime参数用法
- 奇怪的ORA-12145解决方法
- 我来玩转一下arp -a (pc ping 手机)
- bower笔记
- startActivityForResult用法详解
- [Leetcode]Single Number
- LeetCode--Merge Two Sorted Lists
- 黑马程序员——C控制语句(一)
- java的堆栈区别(转自 ZangXT 论坛回答)
- 项目演示启示录
- 某页游erlang服务端广播算法效率好差,应该算是一个bug了吧