004ARP:地址解析汇报协议详情
arp地址解析协议

ARP地址解析协议简介ARP(Address Resolution Protocol)是一种用于解析本地IP地址和MAC地址之间对应关系的协议。
在TCP/IP网络中,当一个主机需要与另一个主机通信时,通常需要知道目标主机的MAC地址。
而ARP协议就是用来获取目标主机的MAC地址的。
ARP工作原理1.当源主机要发送数据包给目标主机时,首先检查自己的ARP缓存表中是否有目标主机的IP地址对应的MAC地址。
如果有,则直接使用该MAC地址进行通信。
2.如果ARP缓存表中没有目标主机的信息,则源主机会发送一个ARP请求广播包到局域网内的所有主机。
该ARP请求包包含源主机的IP地址以及MAC地址。
3.接收到ARP请求广播包的主机会检查自己的IP地址是否与ARP请求包中的目标IP地址相匹配。
如果匹配,则该主机会向源主机发送一个ARP 响应包,包含自己的IP地址和MAC地址。
4.源主机收到ARP响应包后,会将目标主机的IP地址和MAC地址添加到ARP缓存表中,并使用该MAC地址进行通信。
ARP缓存表ARP缓存表是每个主机上存储IP地址与MAC地址对应关系的表格。
它用于加快ARP解析的速度,避免频繁地发送ARP请求包。
当一个主机收到ARP响应包时,会将目标主机的IP地址和MAC地址添加到ARP缓存表中。
在后续的通信过程中,主机会直接使用ARP缓存表中的MAC地址进行通信。
ARP缓存表通常具有以下信息:- IP地址:目标主机的IP地址。
- MAC地址:目标主机的MAC地址。
- 接口:用于与目标主机通信的网络接口。
ARP欺骗ARP欺骗(ARP Spoofing)是一种恶意攻击技术,黑客通过伪造ARP响应包来篡改ARP缓存表中的对应关系。
一旦攻击成功,黑客就可以拦截、修改或重定向通信流量,从而实施中间人攻击。
为了防止ARP欺骗攻击,可以采取以下措施: - 使用静态ARP表:将重要主机的IP地址和MAC地址手动添加到ARP缓存表中,这样可以防止被攻击者伪造。
04_ARP:地址解析协议

• RARP是被那些没有磁盘驱动器的系统使用 (一般是无盘工作站或X终端),它需要系 统管理员进行手工设置。
• 在ARP背后有一个基本概念,那就是网络接口 有一个硬件地址(一个48bit的值,标识不同的 以太网或令牌环网络接口)。 • 在硬件层次上进行的数据帧交换必须有正确的 接口地址。但是,TCP/IP有自己的地址:32bit 的IP地址。 • 知道主机的IP地址并不能让内核发送一帧数据 给主机。内核(如以太网驱动程序)必须知道 目的端的硬件地址才能发送数据。 • ARP的功能是在32bit的IP地址和采用不同网络 技术的硬件地址之间提供动态映射。
• 地址解析为这两种不同的地址形式提供映 射:32bit的IP地址和数据链路层使用的任何 类型的地址。 • RFC826[Plummer1982]是ARP规范描述文档。
• ARP为IP地址到对应的硬件地址之间提供动 态映射。 • 之所以用动态这个词是因为这个过程是自 动完成的,一般应用程序用户或系统管理 员不必关心。
ARP:地址解析协议
• 数据链路如以太网或令牌环网都有自己的 寻址机制(常常为48bit地址),这是使用 数据链路的任何网络层都必须遵从的。 • 一个网络如以太网可以同时被不同的网络 层使用。
• 当一台主机把以太网数据帧发送到位于同 一局域网上的另一台主机时,是根据48bit 的以太网地址来确定目的接口的。设备驱 动程序从不检查IP数据报中的目的IP地址。
• 点对点链路不使用ARP。当设置这些链路时 (一般在引导过程进行),必须告知内核 链路每一端的IP地址。像以太网地址这样的 硬件地址并不涉及。
• ARP高效运行的关键是由于每个主机上都有 一个ARP高速缓存。这个高速缓存存放了最 近Internet地址到硬件地址之间的映射记录。 高速缓存中每一项的生存时间一般为20分 钟,起始时间从被创建时开字段表示硬件地址的类型。它的 值为1即表示以太网地址。 • 协议类型字段表示要映射的协议地址类型。 它的值为0x0800即表示IP地址。
ARP工作原理和ARP协议解码详解

ARP工作原理和ARP协议解码详解ARP(Address Resolution Protocol,地址解析协议)是一种用于解决IP地址和MAC地址之间映射关系的协议。
在电子网络中,数据通过IP地址进行传输,而以太网的数据帧则使用MAC地址进行传输。
ARP协议的作用就是通过IP地址查找对应的MAC地址,以便在发送数据时能够正确地通过以太网传输。
ARP的工作原理可以分为两个阶段:请求阶段和应答阶段。
在请求阶段,当主机A想要发送数据给主机B时,首先检查本地ARP缓存中是否有主机B的IP地址对应的MAC地址。
如果有,则直接使用该MAC地址;如果没有,则会发送一个ARP请求广播到局域网上的所有主机。
这个广播包会包含主机A的IP和MAC地址,请所有收到广播包的主机回答自己的IP和MAC地址。
在应答阶段,主机B收到主机A发送的ARP请求广播后,会检查广播包中的目标IP地址是否与自己的IP地址相同。
如果相同,则会将自己的IP和MAC地址添加到ARP应答包中,并发送给主机A。
主机A收到主机B的应答后,会将主机B的IP和MAC地址添加到本地ARP缓存中。
这样,在主机A发送数据时,就可以通过ARP协议查找到主机B的MAC地址,然后将数据封装为以太网帧,以目标MAC地址为主机B的MAC地址发送出去。
需要注意的是,ARP协议是工作在网络层以太网的协议,不仅支持IPv4地址的解析,还支持IPv6地址的解析。
此外,ARP协议是基于局域网的,只能解析同一片段中的IP地址和MAC地址的映射关系。
ARP协议的解码可以通过抓包工具来实现。
Wireshark是一款常用的网络抓包工具,在Wireshark中可以看到ARP协议的详细信息。
解码ARP协议的步骤如下:1. 打开Wireshark,点击开始捕获按钮,开始抓包。
2.选择要抓取的网络接口,点击开始捕获按钮。
3. 过滤ARP协议,只显示与ARP协议相关的数据包。
可以在过滤框中输入"arp",点击过滤按钮。
地址解析协议

地址解析协议地址解析协议(Address Resolution Protocol,简称ARP)是一种用于将数据链路层的物理地址与网络层的IP地址相对应的协议。
它的主要作用是在进行网络通信时,通过IP地址查询对应的物理地址,以便正确地发送数据包到目标设备。
ARP协议解决了IP地址与物理地址之间的映射关系。
在使用ARP协议之前,发送方需要知道目标设备的物理地址才能将数据包发送给正确的目标设备。
这种映射关系在局域网中非常重要,因为局域网中的设备通常使用IP地址进行通信,而物理地址则由网卡硬件决定。
ARP协议提供了一种自动查询和更新IP地址和物理地址的机制,简化了网络通信的过程。
ARP协议的工作原理如下:当发送方需要将数据包发送到目标设备时,首先会检查自己的ARP缓存表,查看是否已经有了目标设备的地址映射。
如果有,则直接将数据包封装并发送给目标设备。
如果没有,发送方会向局域网上的其他设备广播一个ARP请求包,其中包含了发送方自己的IP地址和MAC 地址,以及待查询的IP地址。
收到请求包的设备会对自己的ARP缓存表进行检查,如果发现自己的IP地址与请求包中的目标IP地址相同,则会向发送方返回一个ARP应答包,其中包含了自己的物理地址。
发送方收到应答包后,就可以将数据包封装并发送给目标设备。
ARP协议还支持动态更新地址映射表。
当设备的IP地址发生变化时,它会发送一个ARP广播包通知网络中的其他设备更新地址映射表。
这个过程称为ARP缓存刷新。
尽管ARP协议在局域网中非常有用,但它也存在一些安全风险。
其中一种风险是ARP欺骗(ARP spoofing),攻击者可以欺骗网络中的其他设备,将它们的IP地址和MAC地址映射到自己的设备上。
这样,攻击者就可以中间人攻击,窃取通信数据。
为了防止ARP欺骗,可以使用静态ARP表或ARP 防火墙等安全措施。
总结来说,ARP协议是一种用于将IP地址与物理地址相对应的协议,它通过自动查询和更新地址映射表的机制,简化了网络通信的过程。
ARP地址解析协议

收到ARP请求的设备会检查其ARP表中是否有与请求中的目标IP地址匹配的条 目。如果有,它会发送一个ARP响应,包含目标设备的MAC地址。如果没有, 它不会响应。
ARP缓存表
ARP代理
ARP代理是一种特殊类型的ARP,允许网络中的设备通过ARP代理来解析其他设备 的IP地址。这通常在网络中存在多个子网时使用,可以减少ARP流量并提高效率。
THANKS
感谢观看
详细描述
ARP欺骗通常发生在同一局域网内的主机之间,攻击者通过发送伪造的ARP响应包,将 受害者的IP地址映射到自己的MAC地址,使得受害者发送的数据包都经过攻击者的机 器,攻击者可以查看、修改或窃取这些数据包。ARP欺骗可能导致网络通信中断、数据
泄露或系统被控制等安全问题。
ARP冲突
总结词
ARP冲突是指两个或多个网络设备使用了相同的IP地址,导致网络通信混乱和中断。
02
在局域网中,ARP协议通过广 播或组播方式发送ARP请求, 以获取目标IP地址对应的MAC 地址。
03
局域网中的ARP协议对于网络 通信的可靠性和效率至关重要 ,能够减少数据包在网络中的 丢失和延迟。
广域网中的ARP协议
在广域网中,ARP协议同样用于将IP地 址解析为MAC地址,但与局域网不同的 是,广域网中的ARP协议需要通过路由 器进行转发。
支持动态网络环境
ARP协议支持动态的网络环境。在网 络中,设备的IP地址和MAC地址可能 会发生变化。ARP协议可以自动更新 IP地址到MAC地址的映射,从而使得 网络通信能够正常进行。
02
ARP协议的工作原理
ARP协议的请求与响应
ARP请求
当一个设备想要知道另一个设备的MAC地址时,它会发送一个ARP请求。ARP 请求包含发送者的IP地址和目标IP地址。
地址解析协议ARP命令

地址解析协议ARP命令地址解析协议(ARP)是计算机网络中的一种协议,用于将一个IP地址映射到相应的MAC地址。
MAC地址是一个唯一的硬件地址,用于在局域网中唯一标识一个网络设备。
当一个设备需要将数据发送给另一个设备时,它需要知道目标设备的MAC地址。
ARP命令是用来执行地址解析协议操作的命令工具。
ARP命令主要用于在计算机网络中查询和缓存MAC地址。
具体来说,ARP命令可以执行以下操作:1.查询指定IP地址的MAC地址:ARP命令可以用来查询特定IP地址对应的MAC地址。
通过在命令行中输入"arp -a"命令,系统将会显示本地主机的ARP缓存表,包含了目标IP地址对应的MAC地址以及相关信息。
2.清除ARP缓存表:在一些情况下,ARP缓存表可能会出现不正确的条目,导致设备之间无法正确通信。
此时,可以使用ARP命令清除ARP缓存表。
在命令行中输入"arp -d"命令,系统将会清除本地主机的ARP缓存表。
3.添加静态ARP条目:静态ARP条目是手动添加到ARP缓存中的,用于指定一些IP地址对应的MAC地址。
在命令行中输入"arp -s <IP地址> <MAC地址>"命令,系统将会添加一个静态ARP条目到ARP缓存中。
4.修改ARP缓存表的超时时间:ARP缓存表中的每个条目都有一个超时时间,默认情况下为两分钟。
如果需要修改超时时间,可以使用ARP命令。
在命令行中输入"arp -s <IP地址> <MAC地址> temp"命令,系统将会将指定的ARP条目设置为临时条目,不受超时时间限制。
5.刷新ARP缓存表:在一些情况下,需要手动刷新ARP缓存表,以确保其中的条目是最新的。
在命令行中输入"arp -d *"命令,系统将会删除所有ARP条目并重新查询。
总结来说,ARP命令是一种非常有用的工具,可以用来查询、清除和添加ARP缓存表中的地址解析条目。
ARP(地址解析协议)

ARP(地址解析协议)⽬录1. ARP 概述地址解析协议,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的⼀个TCP/IP协议。
它是IPv4中⽹络层必不可少的协议,不过在IPv6中已不再适⽤,并被邻居发现协议(NDP)所替代。
主机发送信息时将包含⽬标IP地址的ARP请求⼴播到⽹络上的所有主机,并接收返回消息,以此确定⽬标的物理地址;收到返回消息后将该IP地址和物理地址存⼊本机ARP缓存中并保留⼀定时间,下次请求时直接查询ARP缓存以节约资源。
地址解析协议是建⽴在⽹络中各个主机互相信任的基础上的,⽹络上的主机可以⾃主发送ARP应答消息,其他主机收到应答报⽂时不会检测该报⽂的真实性就会将其记⼊本机ARP缓存;由此攻击者就可以向某⼀主机发送伪ARP应答报⽂,使其发送的信息⽆法到达预期的主机或到达错误的主机,这就构成了⼀个ARP欺骗。
ARP命令可⽤于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。
相关协议有RARP、代理ARP。
⽹络层使⽤的是 IP 地址,但在实际⽹络的链路上传输数据帧时,最终还必须使⽤该⽹络的硬件地址。
但 IP 地址和下⾯的⽹络的硬件地址由于格式不同⽽不存在简单的映射关系。
此外,⼀个⽹络上可能会经常会有新主机加⼊进来,或撤⾛⼀些主机。
更换⽹络适配器也会使主机的硬件地址改变。
地址解析协议 ARP 解决的⽅法是:在主机ARP⾼速缓存中应存放⼀个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。
注意:ARP是解决同⼀局域⽹中主机或者路由器的IP地址和硬件地址的映射问题,在每⼀台主机中都有⼀个ARP⾼速缓存(ARP cache),⾥⾯存储本主机所知道本局域⽹中其他主机的IP地址与硬件地址的映射表2. ARP 协议⼯作原理当主机 A 向本局域⽹上的某台主机 B 发送 IP 数据报时,就先在其 ARP ⾼速缓存中查看有⽆主机 B 的 IP 地址。
地址解析协议实验报告

一、实验目的1. 理解地址解析协议(ARP)的基本原理和工作流程。
2. 掌握ARP报文的格式和传输过程。
3. 熟悉ARP缓存的作用和配置方法。
4. 了解ARP欺骗及其防范措施。
二、实验环境1. 实验设备:两台PC机、一台交换机、一根网线。
2. 操作系统:Windows 10。
3. 实验软件:Wireshark。
三、实验内容1. ARP报文格式地址解析协议(ARP)用于将IP地址解析为MAC地址。
ARP报文格式如下:```| Hardware Type | Protocol Type | Hardware Length | Protocol Length | Operation | Hardware Address | Protocol Address |```- Hardware Type:硬件类型,表示网络接口类型,如以太网。
- Protocol Type:协议类型,表示网络协议类型,如IP。
- Hardware Length:硬件地址长度,表示硬件地址的字节数。
- Protocol Length:协议地址长度,表示协议地址的字节数。
- Operation:操作类型,表示ARP请求或响应。
- Hardware Address:硬件地址,表示发送方的MAC地址。
- Protocol Address:协议地址,表示发送方的IP地址。
2. ARP请求与响应当主机A要与主机B通信时,首先需要获取主机B的MAC地址。
主机A会发送一个ARP请求广播到局域网内的所有主机,请求主机B的MAC地址。
```ARP RequestSender MAC Address: 00-11-22-33-44-01Sender IP Address: 192.168.1.1Target IP Address: 192.168.1.2```主机B收到ARP请求后,会发送一个ARP响应,将自身的MAC地址返回给主机A。
```ARP ResponseSender MAC Address: 00-11-22-33-44-02Sender IP Address: 192.168.1.2Target IP Address: 192.168.1.1```主机A收到ARP响应后,将主机B的MAC地址存入本机的ARP缓存中,以便下次通信时直接使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下载第4章ARP:地址解析协议4.1 引言本章我们要讨论的问题是只对 TCP/IP协议簇有意义的 IP 地址。
数据链路如以太网或令牌环网都有自己的寻址机制(常常为 48 bit 地址),这是使用数据链路的任何网络层都必须遵从的。
一个网络如以太网可以同时被不同的网络层使用。
例如,一组使用TCP/IP协议的主机和另一组使用某种PC网络软件的主机可以共享相同的电缆。
当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48 bit 的以太网地址来确定目的接口的。
设备驱动程序从不检查IP数据报中的目的IP地址。
地址解析为这两种不同的地址形式提供映射:32 bit 的IP 地址和数据链路层使用的任何类型的地址。
R FC 826 [Plummer1982]是ARP规范描述文档。
本章及下一章我们要讨论的两种协议如图4 - 1 所示:A R P(地址解析协议)和R ARP(逆地址解析协议)。
ARP为IP地址到对应的硬件地址之间提供动态映射。
我们之所以用动态这个词是因为这个过程是自动完成的,一般应用程序用户或系统管理员不必关心。
32位Internet地址48位以太网地址图4-1 地址解析协议:ARP和RARPRARP是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置。
我们在第5章对它进行讨论。
4.2 一个例子任何时候我们敲入下面这个形式的命令:% ft p b sdi都会进行以下这些步骤。
这些步骤的序号如图4-2所示。
1) 应用程序FTP客户端调用函数gethostbyname(3)把主机名(bsdi)转换成32 bit的IP地址。
这个函数在DNS(域名系统)中称作解析器,我们将在第14章对它进行介绍。
这个转换过程或者使用DNS,或者在较小网络中使用一个静态的主机文件(/etc/hosts)。
2) FTP客户端请求TCP用得到的IP地址建立连接。
3) TCP发送一个连接请求分段到远端的主机,即用上述 IP地址发送一份I P数据报(在第18章我们将讨论完成这个过程的细节)。
4) 如果目的主机在本地网络上(如以太网、令牌环网或点对点链接的另一端),那么IP 数据报可以直接送到目的主机上。
如果目的主机在一个远程网络上,那么就通过IP选路函数来确定位于本地网络上的下一站路由器地址,并让它转发IP数据报。
在这两种情况下,IP数据报都是被送到位于本地网络上的一台主机或路由器。
5) 假定是一个以太网,那么发送端主机必须把32 bit 的IP地址变换成48 bit 的以太网地址。
从逻辑Internet地址到对应的物理硬件地址需要进行翻译。
这就是ARP的功能。
ARP本来是用于广播网络的,有许多主机或路由器连在同一个网络上。
6) ARP发送一份称作 ARP请求的以太网数据帧给以太网上的每个主机。
这个过程称作广播,如图4 - 2 中的虚线所示。
A R P 请求数据帧中包含目的主机的I P 地址(主机名为bsdi),其意思是“如果你是这个I P地址的拥有者,请回答你的硬件地址。
”主机名解析器主机名IP地址用IP地址建立连接给IP地址发送IP数据报ARP请求(以太网广播)以太网驱动程序以太网驱动程序以太网驱动程序图4-2 当用户输入命令“ftp 主机名”时ARP的操作7) 目的主机的A RP层收到这份广播报文后,识别出这是发送端在寻问它的 IP地址,于是发送一个ARP应答。
这个ARP应答包含IP地址及对应的硬件地址。
8) 收到ARP应答后,使ARP进行请求—应答交换的I P数据报现在就可以传送了。
9) 发送IP数据报到目的主机。
在ARP背后有一个基本概念,那就是网络接口有一个硬件地址(一个 48 bit 的值,标识不同的以太网或令牌环网络接口)。
在硬件层次上进行的数据帧交换必须有正确的接口地址。
但是,TCP/IP有自己的地址: 32 bit 的IP地址。
知道主机的 IP地址并不能让内核发送一帧数据给主机。
内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。
ARP的功能是在32 bit 的IP地址和采用不同网络技术的硬件地址之间提供动态映射。
点对点链路不使用A RP。
当设置这些链路时(一般在引导过程进行),必须告知内核链路每一端的IP地址。
像以太网地址这样的硬件地址并不涉及。
4.3 ARP高速缓存ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。
这个高速缓存存放了最近Internet地址到硬件地址之间的映射记录。
高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。
我们可以用arp(8)命令来检查ARP高速缓存。
参数-a的意思是显示高速缓存中所有的内容。
bsdi % a rp -asun (140.252.13.33) at 8:0:20:3:f6:42 svr4(140.252.13.34) at 0:0:c0:c2:9b:2648 bit 的以太网地址用6个十六进制的数来表示,中间以冒号隔开。
在 4.8小节我们将讨论arp命令的其他功能。
4.4 ARP的分组格式在以太网上解析 IP地址时,ARP请求和应答分组的格式如图 4-3所示(ARP可以用于其他类型的网络,可以解析 IP地址以外的地址。
紧跟着帧类型字段的前四个字段指定了最后四个字段的类型和长度)。
以太网目的地址以太网源地址帧硬件协议类型类型类型硬件地址长度协议地址长度发送端以太网地址发送端IP地址目的以太网目的地址IP地址以太网首部28字节ARP请求/应答图4-3 用于以太网的ARP请求或应答分组格式以太网报头中的前两个字段是以太网的源地址和目的地址。
目的地址为全 1的特殊地址是广播地址。
电缆上的所有以太网接口都要接收广播的数据帧。
两个字节长的以太网帧类型表示后面数据的类型。
对于ARP请求或应答来说,该字段的值为0x0806。
形容词hardware(硬件)和protocol(协议)用来描述ARP分组中的各个字段。
例如,一个A RP 请求分组询问协议地址(这里是I P地址)对应的硬件地址(这里是以太网地址)。
硬件类型字段表示硬件地址的类型。
它的值为1即表示以太网地址。
协议类型字段表示要映射的协议地址类型。
它的值为0x0800即表示I P地址。
它的值与包含I P数据报的以太网数据帧中的类型字段的值相同,这是有意设计的(参见图2-1)。
接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。
对于以太网上I P地址的ARP请求或应答来说,它们的值分别为6和4。
操作字段指出四种操作类型,它们是A RP请求(值为1)、ARP应答(值为2)、RARP请求(值为3)和RARP应答(值为4)(我们在第5章讨论RARP)。
这个字段必需的,因为A RP请求实用文案和ARP应答的帧类型字段值是相同的。
接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址(IP地址)、目的端的硬件地址和目的端的协议地址。
注意,这里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送端的硬件地址。
对于一个 ARP 请求来说,除目的端硬件地址外的所有其他的字段都有填充值。
当系统收到一份目的端为本机的 ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。
4.5 ARP举例在本小节中,我们用t cpdump命令来看一看运行像T elnet这样的普通TCP工具软件时ARP 会做些什么。
附录A包含tcpdump命令的其他细节。
4.5.1 一般的例子为了看清楚ARP的运作过程,我们执行t elnet命令与无效的服务器连接。
检验ARP高速缓存是空的连接无效的服务器键入Ctrl和右括号,使Telnet回到提示符并关闭当我们在另一个系统(s un)上运行带有-e选项的tcpdump命令时,显示的是硬件地址(在我们的例子中是48 bit 的以太网地址)。
图4-4中的tcpdump的原始输出如附录A中的图A-3所示。
由于这是本书第一个t cpdump 输出例子,你应该去查看附录中的原始输出,看看我们作了哪些修改。
图4-4 TCP连接请求产生的ARP请求和应答我们删除了tcpdump命令输出的最后四行,因为它们是结束连接的信息(我们将在第 18 章进行讨论),与这里讨论的内容不相关。
在第1行中,源端主机( bsdi)的硬件地址是 0:0:c0:6f:2d:40。
目的端主机的硬件地址是ff:ff:ff:ff:ff:ff,这是一个以太网广播地址。
电缆上的每个以太网接口都要接收这个数据帧并对它进行处理,如图4-2所示。
第1行中紧接着的一个输出字段是 arp,表明帧类型字段的值是 0x0806,说明此数据帧是一个ARP请求或回答。
在每行中,单词a rp或ip后面的值60指的是以太网数据帧的长度。
由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据,14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网的最小长度要求:60字节。
请参见图1-7,这个最小长度60字节包含14字节的以太网帧头,但是不包括4个字节的以太网帧尾。
有一些书把最小长度定为64字节,它包括以太网的帧尾。
我们在图1-7中把最小长度定为46字节,是有意不包括1 4 字节的帧首部,因为对应的最大长度(1 5 0 0字节)指的是MTU—最大传输单元(见图2-5)。
我们使用MTU经常是因为它对IP数据报的长度进行限制,但一般与最小长度无关。
大多数的设备驱动程序或接口卡自动地用填充字符把以太网数据帧充满到最小长度。
第3,4和5行中的IP数据报(包含T CP段)的长度都比最小长度短,因此都必须填充到60字节。
第1行中的下一个输出字段a r p w h o-h a s表示作为ARP请求的这个数据帧中,目的I P地址是svr4的地址,发送端的I P地址是bsdi的地址。
tcpdump打印出主机名对应的默认I P地址(在4.7节中,我们将用-n选项来查看ARP请求中真正的IP地址。
)从第2行中可以看到,尽管A R P 请求是广播的,但是A R P 应答的目的地址却是b s d i (0:0:c0:6f:2d:40)。
ARP应答是直接送到请求端主机的,而是广播的。
tcpdump打印出arp repl的y字样,同时打印出响应者的主机名和硬件地址。
第3行是第一个请求建立连接的TCP段。
它的目的硬件地址是目的主机(svr4)。
我们将在第18章讨论这个段的细节内容。
在每一行中,行号后面的数字表示t cpdump收到分组的时间(以秒为单位)。
除第1行外,其他每行在括号中还包含了与上一行的时间差异(以秒为单位)。