ARP是在以太网上面运用的一种IP地址到硬件地址映射的协议

1 ARP流程

列如 ftp bsdi 假定bsdi在以太网上

DNS解析器解析主机名字>>FTP发送请求端请求TCP用得到的IP地址建立链接>>TCP发送一个链接请求分段到远端的主机,利用上诉的IP地址发送一份IP数据报>>因为是以太网,发送端主机将32bitIP地址变化为48bit的以太网地址(这就是ARP的功能)>>发送一份ARP请求,以太网上有次地址的发送ARP应答>> 发起端再收到ARP应答时IP数据就可以发送了

注意!!点对点链路不使用ARP机制

2:ARP报文格式

以太网目的地址(6个字节)|以太网源地址(6个字节)|帧类型(0x0806代表ARP,2个字节)|硬件类型(以太网地址MAC地址)|协议类型(IP地址)|硬件地址长度(长度以字节为单位,ARP中代表MAC地址,数值为6,6个字节为48bit)| 协议地址长度(IP地址长度 数值为4,32bit)|op(操作字段,当arp得到一个值的时候就应该更改op字段为2)|发送段以太网地址(6个字节)|发送端IP地址

(4个字节)|目的以太网地址(6个字节)|目的IP地址(4个字节)

蓝色部分为以太网首部

绿色部分为ARP请求或者应答链路层协议以及常用命令介绍netstat1.1.2小节

3:代理ARP

当一个局域网的某台主机想要发送一份数据包,此时就应该经过某台服务器,这台服务器接口的
MAC就是代理ARP的地址,因为此MAC地址欺骗了主机将信息发送到了路由器上(根据链路层硬件地址)

在gemini上执行arp -a

可以看到net(140.252.1.183) at 0:80:ad:3:6a:80

sun(140.252.1.29) at  0:80:ad:3:6a:80

这证明了点对点链路之间不存在链路层中的以太网或者802.1数据报(只有这两种需要mac地址)

4:免费ARP,是在引导的时候查看有没有和自己相同mac地址的接口,如果有则进行日至报错

5:RARP逆地址解析协议

主要运用在无盘操作系统的引导上。知道了一个MAC地址,但是没有IP地址,请求网络上的主机给自己一个IP地址

tcpdump -e host name//命令详解//对链路层的抓包

14:26:31(是时间).092078(ID号码) 58:44:98:f8:a0:0c (oui Unknown) (MAC地址,oui是未知设备)> (表示发送方向)

0c:8b:fd:34:db:86 (oui Unknown), ethertype IPv4 (0x0800)(链路层数据报的种类), length 54(数据报长度是54): 112.83.122.49.http

> SmilieLion.34570: Flags [.], ack 1079(希望smile发送的下一个ack值), win 434(窗口大小是434), length 0(代表数据,减掉了各种包头,差值54)

tcpdump -e[n]//加入n就不将ip地址改为主机名

14:09:18.493852 0c:8b:fd:34:db:86 (oui Unknown) > 58:44:98:f8:a0:0c (oui Unknown), ethertype ARP (0x0806),

length 42: Reply SmilieLion is-at 0c:8b:fd:34:db:86 (oui Unknown), length 28(与上诉协议对照查看)

5:arp -a 查询自己缓存中的ARP地址

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/SmileLion/p/5863525.html

链路层:ARP和RARP命令arp -a/tcpdump -en相关推荐

  1. 【数通】ARP及RARP 免费ARP基础知识

    ARP 基本原理 以太网的同一网段内以广播的方式查询某个IP地址对应的MAC地址,以实现三层IP地址与二层MAC地址之间的动态映射,这是任何以太网主机设备都支持的一个协议.我们有的时候称ARP为2.5 ...

  2. 计算机网络协议第二章,链路层协议

    以太网协议 协议介绍 以太网通常是指数字设备公司.英特尔和施乐联合发布的一个标准.它采用一种CSMA/CD的媒体接入技术,速率10Mb/s,地址48比特. RFC 894 (A Standard fo ...

  3. 计网链路层mac地址和ip地址缺一不可

    在学习之途有个疑问,为什么要分链路层和网络层,链路层的帧还要包裹网络层的数据包,这难道不是既麻烦又浪费时间吗?随着这个疑问往下继续深究. 1.链路层中        我们知道链路层是MAC地址,网络层 ...

  4. 计算机基础(笔记)——计算机网络(链路层)

    链路层 在链路层中,会讨论到两种截然不同类型的链路层信道.第一种类型是广播信道,这种信道用于连接有线局域网.卫星网和混合光纤同轴电缆( Hybrid Fiber Coaxialcable,HFC)接入 ...

  5. 计算机网络——链路层

    数据链路层:概述与服务 链路层主要使用的信道包括: 广播信道 : 这种信道采用一对多的广播通信方式,因此过程比较复杂.广播信道上主机众多,我们必须使用专用的共享信道协议来协调这些主机的数据发送 点对点 ...

  6. 链路层寻址与 ARP

    一. MAC 地址 不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址.因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址. 然而,链路层交换机并不具有与它 ...

  7. 网络 链路层 | 以太网协议与ARP协议

    数据链路层是计算机网络的底层,主要负责相邻设备之间的数据帧传输 链路层就是负责每一个相邻结点之间的数据传输,但是相邻设备之间也需要描述识别,主要是因为每一个设备都有可能有多个相邻的设备.这种识别在链路 ...

  8. 网络基础链路层--eth协议arp协议mtu

    网络基础链路层--eth协议&arp协议&mtu 一.链路层 二.eth-以太网协议 (一)mac地址 三.arp-地址解析协议 (一)解析流程 (二)arp缓存为什么只有很短的一段时 ...

  9. Linux--数据链路层--ARP协议--0319-21

    目录 1. 认识以太网 1.1 以太网帧格式 1.2 基于以太网帧简单模拟局域网通信 问题一:如果有多台主机都在发送数据呢? 问题二:发送方知不知道自己的数据被影响了呢? 1.3 MTU 1.3.1 ...

最新文章

  1. 「谷歌大脑」提出通过对长序列进行摘要提取,AI可自动生成「维基百科」
  2. VI常用使用命令 为初次接触VI 的兄弟们献微利
  3. LeetCode Guess Number Higher or Lower II(动态规划)
  4. 【分块答案】【最小割】bzoj1532 [POI2005]Kos-Dicing
  5. C# .NET 根据Url链接保存Image图片到本地磁盘
  6. char添加一个字符_C语言动态接收多个字符串
  7. 使用StaticLayout实现文字转化为图片的效果(类似发送长微博)
  8. 氮化镓充电器哪家做得好_氮化镓充电头推荐、100元能买到那些大品牌氮化镓充电器?...
  9. awk多分隔符功能及wc命令案列及企业级应用
  10. IE9 CSS 因 Mime 类型不匹配而被忽略“问题
  11. 【IdentityServer4文档】- 欢迎来到 IdentityServer4
  12. 如何获取注解中的值_如何在运行时利用注解信息
  13. C#设计模式之4-原型模式
  14. AC日记——小木棍【数据加强版】 洛谷 P1120
  15. JS/PHP中,数组与字符串的转换,这次总算是记住了
  16. Docker架构、常用命令和示例
  17. Qt4_使用预定义模型
  18. 怎么实现单击span时给span添加边框
  19. C是一个结构化语言它的重点在于算法和数据结构
  20. flutter 路由

热门文章

  1. wordpress主题 阿里百秀XIU v7.7版本
  2. vue,computed,计算属性
  3. 大学计算机基础基础部分试题及答案,大学计算机基础试题及答案,等级考网络部分...
  4. 黑旋风简约引导页源码-个人官网必备
  5. 如何防止WordPress博客内容被恶意复制的教程
  6. moodle架构分析---数据连接层的设计
  7. linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)...
  8. 类似 Observer Pattern 的 NSNotificationCenter (实例)
  9. 搭建php docker环境日记
  10. pycharm 快捷键2