基于Wireshark的网络数据包内容解析

合集下载

wireshark数据包分析说明

wireshark数据包分析说明

在linux上查看抓包文件
一般情况,都会将文件下载到Windows电脑上进行分析查看,但是有时候 只需要获取其中一点需要的信息,也可以在linux上查看。一般http协议的包查看 比较方便。比如8080.cap就是抓的访问antispam的数据包,可以如下查看: strings 8080.cap
目 录 Contents
进行数据包简略分析
smpp协议的数据包Follow TCP Stream后显示的数据就比较直观些。
进行数据包简略分析
http协议的数据包Follow TCP Stream后显示的数据就非常明确了。
进行数据包简略分析
通过设置Set Time References来快速查看数据包直接的时差。
如下图选择一个数据包Set Time Reference后,就以该数据包为开始时刻,从而很容易看出后面数据包的 时间间隔。
第1章 第2章 第3章
Linux上抓包与分析 Windows上抓包的方法 Wireshark进行数据包分析
在windows上使用wireshark抓包
开始抓包
在windows上使用wireshark抓包
高级选项设置
目 录 Contents
第1章 第2章 第3章
Linux上抓包与分析 Windows上抓包的方法 Wireshark进行数据包分析
7.截获10.0.2.6发的100个数据包 tcpdump -i any -xns0 -c 100 src 10.0.2.6 -w request100.cap -vv 8.截获10.0.2.6发来的icmp包 tcpdump -i any -xns0 src 10.0.2.6 and icmp -w ping.cap -vv 9.截获主机10.0.5.227 与10.0.5.231和10.0.5.234之间的数据包 tcpdump -i any –xns0 host 10.0.5.227 and 10.0.5.231 or 10.0.5.234 -w 2.cap -vv

websocket wireshark解析

websocket wireshark解析

websocket wireshark解析WebSocket 是一种基于 TCP 的全双工通信协议,它在单个 TCP 连接上进行全双工通信,允许服务器主动向客户端推送数据。

Wireshark 是一款开源的网络协议分析器,可以用来捕获和分析网络数据包,包括 WebSocket 通信的数据包。

使用 Wireshark 对 WebSocket 通信进行解析,可以帮助我们深入了解 WebSocket 协议的工作原理和通信过程。

下面是一些关于如何使用 Wireshark 解析 WebSocket 通信的详细步骤和注意事项:启动 Wireshark 并开始捕获数据包:在 Wireshark 中选择正确的网络接口,并开始捕获数据包。

确保在捕获数据包之前已经建立了 WebSocket 连接。

过滤 WebSocket 数据包:在 Wireshark 的过滤器栏中输入 "websocket",以过滤出所有的 WebSocket 数据包。

这样可以帮助我们更快速地找到和分析 WebSocket 通信的数据包。

分析 WebSocket 握手协议:WebSocket 的握手协议是基于 HTTP 协议的,因此在Wireshark 中可以看到 WebSocket 握手的数据包。

分析这些数据包可以帮助我们了解WebSocket 连接的建立过程,包括协议版本、子协议选择等信息。

分析 WebSocket 数据帧:WebSocket 通信的数据是以帧(frame)为单位进行传输的。

在 Wireshark 中可以看到每个 WebSocket 数据帧的详细信息,包括帧类型(如文本帧、二进制帧等)、数据载荷、掩码等。

通过分析这些数据帧,我们可以了解 WebSocket 通信的数据内容和格式。

需要注意的是,WebSocket 通信是加密的,因此在分析 WebSocket 数据包时可能需要使用解密工具或密钥来解密数据包。

此外,由于 WebSocket 通信是基于 TCP 协议的,因此在分析数据包时还需要考虑 TCP 协议的相关知识和技巧。

wireshark tsl解析

wireshark tsl解析

wireshark tsl解析Wireshark是一款广泛使用的网络数据包分析工具,它可以帮助我们捕获、监控和分析网络流量。

在网络通信中,Transport Layer Security(TLS)是一种加密协议,用于保障数据在网络传输过程中的安全性。

Wireshark可以对TLS数据流进行解析,以便我们深入分析加密的网络通信。

当我们使用Wireshark进行TLS解析时,我们可以通过以下步骤来实现:1. 首先,启动Wireshark,并在主界面的网卡列表中选择要抓取数据包的网络接口。

点击“开始”按钮开始抓包。

2. Wireshark会开始捕获网络流量,并将其显示在主界面的数据包列表中。

在这个列表中,我们可以看到各种网络协议的数据包。

3. 在数据包列表中找到并选择与TLS相关的数据包。

这些数据包通常使用TCP协议,并且在"Info"列中可能包含"TLS"或"SSL"的字样。

4. 右键点击所选的数据包,然后选择“解码为”或“Decode As”,再选择“SSL”或“TLS”。

Wireshark将尝试解析选中的数据包,并显示其TLS协议相关的详细信息。

5. 可以展开解析出的TLS协议信息,以查看更详细的内容,如加密套件、证书信息、协商过程等。

通过上述步骤,我们可以借助Wireshark对TLS数据流进行解析和分析。

这有助于我们了解加密的网络通信过程,从而帮助我们识别潜在的安全问题或调试网络通信中出现的错误。

需要注意的是,为了保护隐私和安全,我们应该仅在受控的环境中使用Wireshark进行网络数据包分析,且合法的授权下进行。

电子科大网络安全实验2Wireshark抓包分析实验完整分析

电子科大网络安全实验2Wireshark抓包分析实验完整分析

电⼦科⼤⽹络安全实验2Wireshark抓包分析实验完整分析实验2 Wireshark抓包分析实验⼀、实验原理TCP三次握⼿准则介绍TCP是因特⽹中的传输层协议,使⽤三次握⼿协议建⽴连接。

当主动⽅发出SYN连接请求后,等待对⽅回答SYN,ACK。

这种建⽴连接的⽅法可以防⽌产⽣错误的连接,TCP使⽤的流量控制协议是可变⼤⼩的滑动窗⼝协议。

第⼀次握⼿:建⽴连接时,客户端发送SYN包(SEQ=x)到服务器,并进⼊SYN_SEND状态,等待服务器确认。

第⼆次握⼿:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时⾃⼰也送⼀个SYN包(SEQ=y),即SYN+ACK包,此时服务器进⼊SYN_RECV状态。

第三次握⼿:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进⼊Established状态,完成三次握⼿。

HTTP协议介绍HTTP协议⽤于在Internet上发送和接收消息。

HTTP协议是⼀种请求-应答式的协议 ——客户端发送⼀个请求,服务器返回该请求的应答,所有的请求与应答都是HTTP包。

HTTP协议使⽤可靠的TCP 连接,默认端⼝是80。

HTTP的第⼀个版本是HTTP/0.9,后来发展到了HTTP/1.0,现在最新的版本是HTTP/1.1。

HTTP/1.1由RFC 2616 定义。

⼆、实验⽬的1、了解并会初步使⽤Wireshark,能在所⽤电脑上进⾏抓包。

2、了解IP数据包格式,能应⽤该软件分析数据包格式。

3、了解HTTP请求中的三次握⼿准则,并能利⽤该软件对该过程进⾏简要分析。

三、实验内容(1)安装wireshark软件,并使⽤该软件捕获HTTP请求中的报⽂,分析该过程中TCP建⽴连接的握⼿过程以及报头各字段的含义,记录实验结果和数据。

(2)尝试利⽤wireshark软件捕获Ping请求中的报⽂,并分析报⽂中各字段的含义,记录实验结果和数据。

wireshark抓包原理解析

wireshark抓包原理解析

wireshark抓包原理解析Wireshark是一款功能强大的网络协议分析软件,可以帮助用户查看和分析网络数据包。

它能够从网络接口上捕获数据包,还可以根据不同的协议对数据包进行解析和分析。

那么,Wireshark是如何实现抓包的呢?下面,我们就从网络以及软件两个方面来解析Wireshark的抓包原理。

一、网络方面那么,数据包是如何到达我们的计算机的呢?它是通过网络线路、路由器等物理设备传输到各个计算机的网络接口上的。

当计算机收到数据包时,它会通过网络接口把数据包交给操作系统进行处理。

这个时候,Wireshark就可以通过在操作系统的网络接口处进行数据包捕获,从而实现对网络数据包的抓包。

当数据包进入网络接口时,它首先会被操作系统进行缓存。

这时,Wireshark就可以通过网络接口的混杂模式来抓取数据包。

混杂模式是指,网络接口会将所有经过它的数据包都传递给操作系统的缓存区,不管这些数据包是否是针对这台机器的。

这就使得Wireshark可以捕获所有经过这个网络接口的数据包。

二、软件方面Wireshark实现抓包主要是通过软件技术来实现的。

它使用了一种叫做「WinPcap」的软件包来实现对网络接口的监控和数据包的捕获。

WinPcap是一种针对Windows平台的网络接口抓包工具,它可以实现对网络接口的数据包进行捕获和过滤。

而Wireshark则是通过对WinPcap进行二次开发,来实现了更加丰富和强大的抓包功能。

当Wireshark收到从WinPcap传递来的数据包时,它首先会对数据包进行解析和过滤。

这个过程实际上就是Wireshark进行抓包和分析的核心部分。

它会根据数据包的协议类型和格式来进行解析,还可以根据用户的需求进行数据包的过滤,从而确保只抓取到用户所关心的数据包。

经过这些处理之后,Wireshark就可以在界面上展示出这些数据包的详细信息。

总结:Wireshark的抓包原理是通过在网络接口处捕获数据包,使用软件进行解析和过滤,并将结果呈现在界面上的方式实现的。

计算机网络练习之使用WireShark捕获和分析数据包

计算机网络练习之使用WireShark捕获和分析数据包

以太帧和ARP包协议分析实验一、目的1、理解以太帧格式2、理解ARP协议格式和ARP 协议的工作原理二、实验类型验证类实验三、实验步骤一:运行wireshark开始捕获数据包,如图所示点击第二行的start开始捕获数据包。

启动界面:抓包界面的启动是按file下的按钮(或capture下的interfaces)之后会出现这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击start 开始抓包。

(捕捉本地连接对应的网卡,可用ipconfig/all 查看)二:几分钟后就捕获到许多的数据包了,主界面如图所示:如上图所示,可看到很多捕获的数据。

第一列是捕获数据的编号;第二列是捕获数据的相对时间,从开始捕获算为0.000秒;第三列是源地址,第四列是目的地址;第五列是数据包的信息。

选中第一个数据帧,然后从整体上看看Wireshark的窗口,主要被分成三部分。

上面部分是所有数据帧的列表;中间部分是数据帧的描述信息;下面部分是帧里面的数据。

三:开始分析数据1.打开“命令提示符”窗口,使用“arp -a”命令查看本地计算机ARP高速缓存。

2.使用“arp -d”命令清除本地计算机ARP高速缓存,再使用“arp -a”命令查看。

此时,本地计算机ARP高速缓存为空。

3.在下图中Filter后面的编辑框中输入:arp(注意是小写),然后回车或者点击“Apply”按钮将计算机与数据设备相连(3928或路由器),参见静态路由配置。

3.此时,网络协议分析软件开始捕获数据,在“命令提示符”窗口中PING同一子网中的任意主机。

(计算机Aping计算机B)因为PING命令的参数为IP地址,因此使用PING命令前,需要使用ARP机制将IP地址转换为MAC地址,这个过程用户是无法感知的。

因为我们在使用PING命令前已经开始网络数据包捕获,因此,此时网络协议分析软件将捕获到ARP解析数据包。

wireshark rst解析

wireshark rst解析

wireshark rst解析TCP重置包(RST)是TCP协议中的一种重要的网络数据包类型,它的作用是终止TCP连接。

Wireshark是一种流行的网络协议分析工具,它可以帮助我们解析TCP重置包,并深入了解其原理和应用。

本文将介绍Wireshark RST解析的相关知识,包括TCP连接的建立和终止过程、RST包的格式、RST包的产生原因和使用场景等。

通过阅读本文,您将对TCP连接和RST包有更深入的理解。

TCP连接的建立和终止过程TCP是一种可靠的面向连接的传输协议,它在传输数据之前需要先建立连接。

TCP连接的建立和终止分别由三步握手和四步挥手完成。

三步握手过程如下:1.客户端向服务器发送SYN包,表示请求建立连接。

2.服务器收到SYN包后,向客户端发送SYN-ACK包,表示允许建立连接。

3.客户端收到SYN-ACK包后,向服务器发送ACK包,表示连接已建立。

四步挥手过程如下:1.客户端向服务器发送FIN包,表示请求关闭连接。

2.服务器收到FIN包后,向客户端发送ACK包,表示已收到关闭请求。

3.服务器处理完毕后,向客户端发送FIN包,表示可以关闭连接。

4.客户端收到FIN包后,向服务器发送ACK包,表示确认关闭连接。

RST包的格式RST包是TCP协议中的一种控制包,用于中断TCP连接。

RST包的格式如下:![image.png](attachment:image.png)其中,各字段含义如下:Source Port和Destination Port:源端口和目的端口,用于标识TCP连接。

Sequence Number和Acknowledgment Number:序列号和确认号,用于标识TCP数据流的顺序和完整性。

Data Offset:数据偏移,用于标识TCP头部长度,以4字节为单位。

Flags:标志位,包括URG、ACK、PSH、RST、SYN、FIN六个标志位。

Window:窗口大小,用于控制发送方数据量。

Wireshark抓包分析TCP协议

Wireshark抓包分析TCP协议

Wireshark抓包分析TCP协议之前一直听别人说Wireshark这个抓包软件,Leelom也跟我提过说面试的时候会问这些东西。

今天呢,参考别人的博文,结合抓包,将TCP/IP协议进行一些浅显的分析。

1. HTTP协议基本特征更加具体的说明需要重新写一篇博客来看。

参考基础认知TCP(Transmission Control Protocol,传输控制协议)是面向连接的、可靠的、基于字节流的在传输层上的通信协议。

这里想一下UDP,是无连接的、不可靠的(所以就像之前提到的一样,无连接的快节省时间,不用连接建立的时间)。

TCP/IP の 4层模型数据包封装情况TCP/IP分层结构跟OSI(Open System Interconnection)分7层不同。

如上面的图中,TCP/IP 协议下分为4层:应用层、传输层、网络层、数据链路层。

•应用层:向用户提供常用的应用程序。

比如电子邮件、文件传输、远程登录等。

TELNET 会话提供了基于字符的虚拟终端,FTP使用 FTP协议来提供网络内机器间的文件拷贝功能。

•传输层:传输层提供两台主机之间端到端的通信。

所谓的TCP/UDP协议就是跑在这一层。

•网络层:处理分组在网络中的活动。

可以理解为IP路由这些。

•链路层:链路层负责处理下层物理层的物理接口细节。

主要目的有: \ 1. 为上层IP模块接收和发送IP数据报 \ 2. 为ARP模块发送请求和完成接收 \ 3.为RARP模块。

层级功能图封装封装这个事情就好像寄快递一样。

之前上计网课那个张洪涛就是这么举例子的。

报文封装注意上图中的 appl 首部是说 application 层首部的意思。

按照上图一层层封装,直到经过以太网封装之后,就要通过网线或者其他的传输介质将此封装好的报文发送到另一端去。

另一端收到之后再一层层的把封装头剥离,最终拿到用户数据。

这里我们要明白一点就是上层对下层不负责,下层对上层隐身。

TCP/IP这里可以做这样的一个理解,就是TCP/IP协议是说二者协同一起工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Wireshark的网络数据包内容解析摘要本课程设计是利用抓包软件Wireshark,对网络服务器与客户端进行网络数据收发过程中产生的包进行抓取,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的。

设计过程中对各种包进行抓取分析,各种包之间比较,了解每种包的传输过程与结构,通过本次课程设计,能很好的运用Wireshark对数据包分析和Wireshark各种运用,达到课程设计的目的。

关键词IP协议;TCP协议;UDP协议;ARP协议;Wireshark;计算机网络;1 引言本课程设计主要是设计一个基于Wireshark的网络数据包内容解析,抓取数据包,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的1.1 课程设计目的Wireshark是一个网络封包分析软件。

可以对网络中各种网络数据包进行抓取,并尽可能显示出最为详细的网络封包资料,计算机网络课程设计是在学习了计算机网络相关理论后,进行综合训练课程,其目的是:1.了解并会初步使用Wireshark,能在所用电脑上进行抓包;2.了解IP数据包格式,能应用该软件分析数据包格式。

1.2 课程设计要求(1)按要求编写课程设计报告书,能正确阐述设计结果。

(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。

(3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

1.3 课程设计背景一、Wireshark(前称Ethereal)是一个网络封包分析软件。

网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。

在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。

Wireshark的出现改变了这一切。

在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。

Wireshark是目前全世界最广泛的网络封包分析软件之一。

二、网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。

网络嗅探是网络监控系统的实现基础。

网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。

嗅探器也是很多程序人员在编写网络程序时抓包测试的工具,因为我们知道网络程序都是以数据包的形式在网络中进行传输的,因此难免有协议头定义不对的。

网络嗅探的基础是数据捕获,网络嗅探系统是并接在网络中来实现对于数据的捕获的,这种方式和入侵检测系统相同,因此被称为网络嗅探。

网络嗅探是网络监控系统的实现基础,首先就来详细地介绍一下网络嗅探技术,接下来就其在网络监控系统的运用进行阐述。

2 网络协议基础知识2.1 IP协议(1) IP协议介绍IP 是英文Internet Protocol (网络互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。

在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。

任何厂家生产的计算机系统,只要遵守 IP 协议就可以与因特网互连互通。

(2)IP 协议的网络互连实现各个厂家生产的网络系统和设备,如以太网、分组交换网等,它们相互之间不能互通,不能互通的主要原因是因为它们所传送数据的基本单元(技术上称之为“帧”)的格式不同。

IP 协议实际上是一套由软件程序组成的协议软件,它把各种不同“帧”统一转换成“IP 数据包”格式,这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通,即具有“开放性”的特点。

(3)IP 数据报TCP/IP 协议定义了一个在因特网上传输的包,称为IP 数据报(IP Datagram)。

这是一个与硬件无关的虚拟包, 由首部和数据两部分组成,其格式如图2.1所示:图2-1 IP 数据报一般格式IP 数据报的详细格式如图2.2所示: 0 3 7 15 31版本 首部长度 服务类型总长度 标识标志 片偏移 生存时间 协议头校验和 源IP 地址目的IP 地址选项填充域数据部分图2-2 IP 数据报的详细格式 IP 数据报固定部分各字段含义:(1)版本 占4位,指IP 协议的版本。

通信双方使用的IP 协议版本必须一致。

目前广泛使用的IP 协议版本号为4(即IPv4)。

关于IPv6,目前还处于草案阶段。

(2)首部长度 占4位,可表示的最大十进制数值是15。

请注意,这个字段所数据报的数据区数据报首部表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。

当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。

因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。

首部长度限制为60字节的缺点是有时可能不够用。

但这样做是希望用户尽量减少开销。

最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何选项。

(3)区分服务占8位,用来获得更好的服务。

这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。

1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。

只有在使用区分服务时,这个字段才起作用。

(4)总长度总长度指首部和数据之和的长度,单位为字节。

总长度字段为16位,因此数据报的最大长度为216-1=65535字节。

在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。

当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。

(5)标识(identification) 占16位。

IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。

但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。

当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。

相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

(6)标志(flag) 占3位,但目前只有2位有意义。

标志字段中的最低位记为MF(More Fragment)。

MF=1即表示后面“还有分片”的数据报。

MF=0表示这已是若干数据报片中的最后一个。

标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。

只有当DF=0时才允许分片。

(7)片偏移占13位。

片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。

也就是说,相对用户数据字段的起点,该片从何处开始。

片偏移以8个字节为偏移单位。

这就是说,每个分片的长度一定是8字节(64位)的整数倍。

(8)生存时间占8位,生存时间字段常用的的英文缩写是TTL(Time To Live),表明是数据报在网络中的寿命。

由发出数据报的源点设置这个字段。

其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源。

最初的设计是以秒作为TTL的单位。

每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。

若数据报在路由器消耗的时间小于1秒,就把TTL值减1。

当TTL值为0时,就丢弃这个数据报。

(9)协议占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。

(10)首部检验和占16位。

这个字段只检验数据报的首部,但不包括数据部分。

这是因为数据报每经过一个路由器,路由器都要重新计算一下首部检验和(一些字段,如生存时间、标志、片偏移等都可能发生变化)。

不检验数据部分可减少计算的工作量。

(11)源地址占32位。

(12)目的地址占32位。

IP数据报可选部分字段含义:IP首部的可变部分就是一个可选字段。

选项字段用来支持排错、测量以及安全等措施,内容很丰富。

此字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。

某些选项项目只需要1个字节,它只包括1个字节的选项代码。

但还有些选项需要多个字节,这些选项一个个拼接起来,中间不需要有分隔符,最后用全0的填充字段补齐成为4字节的整数倍。

2.2 ARP协议(一)ARP协议简介:ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。

在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。

ARP是通过地址解析协议获得的。

所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC 地址,以保证通信的顺利进行。

硬件类型,ar_hrd(ARPHRD_ETHER)协议类型,ar_pro(ETHERTYPE_IP)硬件地址长度,ar_hln(6)协议地址长度,ar_pln(4)ether_dhost ether_ahost ether_type ar_op arp_sha arp_spa arp_tha arp_tpa以太网目的地址以太网源地址帧类型OP发送者硬件地址发送者IP地址目标硬件目标IP地址6 bytes 6 2 2 2 1 1 2 6 4 6 4以太网首部ARP首部ether_header() arphdr()以太网ARP字段ther_arp()图2-3 ARP请求回答格式(二)ARP协议的利用和相关原理介绍:一、交换网络的嗅探ARP协议并不只在发送了ARP请求才接收ARP应答。

当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。

因此,在上面的假设网络中,B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。

相关文档
最新文档