交换机转发数据包过程

交换机转发数据包过程
交换机转发数据包过程

二层网络的数据包转发过程模拟

2012-01-07 13:22

拓扑如下:

P C0如果需要去p i n g P C1时,过程如下描述:

1、P C0产生I C M P回应请求包

2、送往I P协议给予封装

3、I P协议判断目的地址I P是本地网络,还是远程网络

4、判断是本地,则封包发到交换机;

判断是远程,则发送到默认网关,若无则丢弃报文

5、因为不知道默认网关的M A C地址,所以广播A R P报文,获取默认网关的M A C

6、知道网关M A C,则将I P数据包封装到数据帧中,发往交换机

注意:当P C0将数据包送到交换机,交换机将记录下来的源地址的M A C

上述过程是一个只有一个V L A N的交换机,很简单。

上面这个拓扑是有两个V L A N的,并且设置了V L A N的I P地址V L A N1192.168.1.1255.255.255.0

V L A N2192.168.2.1255.255.255.0

将P C0放入V L A N1,P C1放入V L A N2

P C0p i n g V L A N1的地址如上过程一样

P C0p i n g V L A N2的过程如下所述

1、产生I C M P回应请求报文

2、封装到I P协议

3、I P协议判断是远程网络,送往默认网关

4、到网关后,从底层开始解包

5、三层信息无法解析,因为该设备是二层设备,直接丢弃

得到一个信息:V L A N的M A C都是一样的

拓扑如下:

三层交换机划分了两个V L A N,和上面一样的V L A N,P C4属于V L A N2的

V L A N1192.168.1.253

V L A N2192.168.2.253

P C0的默认网关指向三层设备

P C0p i n g P C4过程如下描述:

1、产生I C M P回应请求报文

2、送入I P协议封装起来

3、I P协议判定是远程网络,送入网关

4、A R P广播获取网关M A C

5、重新产生I C M P,封装到I P

6、经过二层交换机,数据包内容不变

7、当数据包到达三层设备,开始解包

8、解析三层信息,进行路由选择

9、不知道目的I P的M A C地址

10、A R P广播获取

11、三层记录A R P,M A C信息

12、三层路由信息选择V L A N2直连接口

13、数据帧的源M A C是三层设备,而它的M A C只能有一个,所以多个V L A N的M A C是一样的。不同的设备产生的M A C肯定不一样的

这里讲的是一个设备

14、数据包进入目的地址

计算机网络课程设计---基于Wireshark的网络数据包内容解析

基于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协议介绍

数据包转发过程

路由器转发数据包过程详解 (2010-05-22 20:59:09) 转载 标签: 分类:学习交流 路由器 数据包转发 it 主机PC1向主机PC2发个数据包,中间经过B路由器,请问源地址和源MAC是怎么变化的? 答:就假设拓扑图是这个样子吧:PC1-----(B1-B2) -------PC2 B1和B2是路由器B上的两个接口, PC1和PC2是PC,由主机PC1向主机PC2发送数据包,那么在主机PC1形成的数据包的目的IP就是PC2的IP,源IP就是主机PC1的IP地址,目标MAC地址就是B1的MAC地址,源MAC地址就是PC1的MAC地址。 转发过程:假如是第一次通信PC1没有PC2的ARP映射表 PC1在本网段广播一个数据帧(目的MAC地址为:FFFF:FFFF:FFFF:FFFF)帧格式为: 段的路由。此时路由器给PC1回复一个应答数据包,告诉PC1自己的MAC地址就是PC1要通信的PC2主机的MAC地址。而此时PC1建立ARP映射表,将该MAC地址(即路由器的B1接口)与PC2的IP地址建立映射关系。实际上是路由器对其进行了“欺骗”。 其应答数据帧格式为: 对于路由器B同样建立了自己的ARP映射表:将PC1的MAC地址与PC1的IP地址映射。

数据包在流出B2接口的时候其数据包的帧格式为: PC2所在的网段各主机将自己的IP地址与数据包中的目的IP地址比对。若符合则将自己的MAC地址替换上广播MAC地址,并回复该数据帧: 的对应关系调出来。将PC1的MAC地址覆盖路由器B2接口的MAC地址。另一方面路由器更新ARP映射表,将PC2的MAC地址与PC2的IP地址映射。 此时流出路由器B1接口的数据包的帧格式为: 地址建立对应关系。 此后每次通信时由于PC1要与PC2通信时。由于PC1已经建立了到PC2IP地址的ARP映射,所以下次要通信时直接从本地ARP调用。 简单说一下,网络设备间(包括设备之间和计算机之间)如果要相互通信的话必需经过以下这几个步骤: (以TCP/IP协议通信为例) 1、发送端的应用程序向外发出一个数据包。 2、系统判断这个数据包的目标地址是否在同一个网段之内。 3、如果判断出这个数据包的目标地址与这台设备是同一个网段的,那么系统就直接把这个数据包封装成帧,这个数据帧里面就包括了这台设备的网卡MAC地址,然后这个帧就直接通过二层设备(也就是大家说的不带路由的交换机/HUB之类的~^-^)发送给本网段内的目标地址。

网络数据包的捕获与分析毕业设计

网络数据包的捕获与分析 【摘要】网络数据包的捕获对于网络安全有着巨大的作用,为我们更好的分析网络中的数据流提供了帮助。本论文是基于Windows下开发一个网络监听工具,侧重点在于实现网络数据包的捕获,然后分析并显示捕获到的数据包信息这部分功能的实现,如分析:IP首部协议类型、源IP、目的IP和端口号等。采用的是Winpcap(Windows Packet Capture)来实现的抓包功能。通过VC++6.0中MFC编程实现通过一个完整界面来控制调用Winpcap中的函数来实现对网卡信息的捕获和循环捕获数据包,然后通过预先对于IP、TCP、UDP等数据包的定义和TCP/IP等协议来解析其中包含的内容并返回显示捕获到数据包的信息,当然也可以保存捕获到的数据包到指定地点以便进一步分析。 【关键词】Winpcap;数据包;捕获;分析

The Capture and Analysis of Network Data Packets Wang Hang (Grade 11,Class 1, Major Network Engineering, Scho ol of Mathematics and Computer Science Dept, Shaanxi University of Technology, Hanzhong 723003, Shaanxi) Tutor: Jia Wei Abstract: The capture of network data packets plays an important part in network security, which is helpful for our better analysis of network data flow.This paper is about a network monitoring tool based on Windows system, which emphasizes particularly on realizing the capture and analysis of network data packets and then displays them. Take analysis as an example, it will check the type of the IP protocol, the source address of IP, the destination address of IP and the port https://www.360docs.net/doc/5212090377.html,e the Winpcap(Windows Packet Capture)to capture of data packets. In MFC programming of VC++6.0, the capture of network data packets can be realized via the invoking and control of the functions through a full control panel, and then the analysis of IP ,TCP,UDP and TCP/IP will be done before they are displayed. Certainly the information captured can be saved to the appointed destination in order to go through an advanced analysis. Key words:Winpcap;Data Packets;Capture;Analysis

内核协议栈数据包转发完全解析

内核协议栈数据包转发 目录 1 NAPI流程与非NAPI 1.1NAPI驱动流程 1.2非NAPI流程 1.3NAPI和非NAPI的区别 2内核接受数据 2.1数据接收过程 2.2 采取DMA技术实现 3 e100采用NAPI接收数据过程 3.1 e100_open 启动e100网卡 3.2 e100_rx_alloc_list 建立环形缓冲区 3.3 e100_rx_alloc_skb 分配skb缓存 3.4 e100_poll 轮询函数 3.5 e100_rx_clean 数据包的接收和传输 3.6 e100_rx_indicate 4 队列层 4.1、软中断与下半部 4.2、队列层 5采用非NAPI接收数据过程 5.1netif_rx 5.2轮询与中断调用netif_rx_schedule不同点 5.3 netif_rx_schedule 5.4 net_rx_action 5.5 process_backlog 6数据包进入网络层 6.1 netif_receive_skb(): 6.2 ip_rcv(): 6.3 ip_rcv_finish(): 6.4 dst_input(): 6.5本地流程ip_local_deliver: 6.6转发流程ip_forward(): 1 NAPI流程与非NAPI 1.1NAPI驱动流程: 中断发生 -->确定中断原因是数据接收完毕(中断原因也可能是发送完毕,DMA完毕,甚至是中断通道上的其他设备中断) -->通过netif_rx_schedule将驱动自己的napi结构加入softnet_data的poll_list 链表,禁用网卡中断,并发出软中断NET_RX_SOFTIRQ -->中断返回时触发软中断调用相应的函数net_rx_action,从softnet_data的poll_list

计算机网络__交换机工作原理

计算机网络交换机工作原理 在前面了解到根据交换机在OSI参考模型中工作的协议层不同,将交换机分为二层交换机、三层交换机、四层交换机。交换机工作的协议层不同,其工作原理也不相同。下面我们将介绍各层交换机的工作原理。 1.二层交换机工作原理 二层交换机能够识别数据包中的MAC地址信息,然后根据MAC地址进行数据包的转发,并将这些MAC地址与对应的端口记录在内部的地址列表中。二层交换机的工作原理如下:当交换机从端口收到数据包后,首先分析数据包头中的源MAC地址和目的MAC地址,并找出源MAC地址对应的交换机端口。然后,从MAC地址表中查找目的MAC地址对应的交换机端口。 如果MAC地址表中存在目的MAC地址的对应端口,则将数据包直接发送到该对应端口。如果MAC地址表中没有与目的MAC地址的对应端口,则将数据包广播到交换机所有端口,待目的计算机对源计算机回应时,交换机学习目的MAC地址与端口的对应关系,并将该对应关系添加至MAC地址表中。 这样,当下次再向该MAC地址传送数据时,就不需要向所有端口广播数据。并且,通过不断重复上面的过程,交换机能够学习到网络内的MAC地址信息,建立并维护自己内部的MAC地址表。如图6-10所示,为二层交换机工作原理示意图。 图6-10 二层交换机工作原理 2.三层交换机工作原理 三层交换机是在二层交换机的基础上增加了三层路由模块,能够工作于OSI参考模型的网络层,实现多个网段之间的数据传输。三层交换机既可以完成数据交换功能,又可以完成数据路由功能。其工作原理如下: 当三层交换机接收到某个信息源的第一个数据包时,交换机将对该数据包进行分析,并判断数据包中的目的IP地址与源IP地址是否在同一网段内。如果两个IP地址属于同一网段,

路由器的工作原理

路由器的工作原理 路由器的是实现网络互连,在不同网络之间转发数据单元的重要网络设备。路由器主要工作在OSI参考模型的第三层(网络层),路由器的主要任务就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。因此,当路由器接收到来自一个网络接口的数据包时,首先根据其中所含的目的地址查询路由表,决定转发路径(转发接口和下一跳地址),然后从ARP缓存中调出下一跳地址的MAC地址,将路由器自己的MAC 地址作为源MAC,下一跳地址的MAC作为目的MAC,封装成帧头,同时IP数据包头的TTL(Time To Live)也开始减数,最后将数据发送至转发端口,按顺序等待,传送到输出链路上去。在这个过程中,路由器被认为了执行两个最重要的基本功能:路由功能与交换功能。 路由功能 路由功能是指路由器通过运行动态路由协议或其他方法来学习和维护网络拓扑结构,建立,查询和维护路由表。 路由表里则保存着路由器进行路由选择时所需的关键信息,包含了目的地址、目的地址的掩码、下一跳地址、转发端口、路由信息来源、路由优先级、度量值(metric)等。 路由信息可通过多种协议的学习而来,其来源方式可分为直连路由、静态路由、缺省路由和动态路由。一个路由器上可以同时运行多个不同的路由协议,每个路由协议都会根据自己的选路算法计算出到达目的网络的最佳路径,但是由于选路算法不同,不同的路由协议对某一个特定的目的网络可能选择的最佳路径不同。此时路由器根据路由优先级(决定了来自不同路由来源的路由信息的优先权)选择将具有最高路由优先级(数值最小)的路由协议计算出的最佳路径放置在路由表中,作为到达这个目的网络的转发路径。(优先级顺序:直连路由>静态路由>动态路由(OSPF>RIP)) 而对于一个特定的路由协议,可以发现到达目的网络的所有路径,根据选路

交换机VLAN数据转发过程说明(802.1Q:基于端口的VLAN)

交换机对带802.1q标签的以太网帧转发过程说明(802.1q:基于端口的VLAN)一、带802.1q标签的以太网帧说明: IEEE于1999年正式签发了802.1q标准,即Virtual Bridged Local Area Networks协议,规定了VLAN的国际标准实现,从而使得不同厂商之间的VLAN互通成为可能。 在802.1q以太网帧中,在原有的标准的以太网帧头中的源地址后增加了一个4字节的802.1q 帧头来实现该技术的。在这4字节的802.1q标签头包含了2个字节的标签协议标识(TPID:Tag Protocol Identifier,它的值是8100),和2个字节的标签控制信息(TCI:Tag Control Information)。TPID是IEEE定义的新的类型,表明这是一个加了802.1q标签的文本。 TCI(标签控制信息):包括了三个方面的内容:Priority、CFI、VLAN ID。现对这三个内容进行详细的解释: Priority:这3位指明帧的优先级。一共有8种优先级,主要用于当交换机阻塞时,优先发送哪个数据包; CFI(Canonical Format Indicator):这一位主要用于总线型的以太网与FDDI、令牌环网交换数 据时的帧格式; VLAN ID(VLAN Identified):这是一个12位的域,指明VLAN的ID,一共有4096个,每个支持802.1q协议的设备发送出来的数据包都会包含这个域,以指明自己属于哪个VLAN; 二、交换机对带802.1q标签的以太网数据帧转发说明: 从第一点可以看出,802.1q标签头的4个字节是新增加的,目前一般的网卡和原来老式的交换机和HUB并不支持802.1q,因此这些设备发送出来的数据包的以太网帧头不包含这4个字节,同时也无法识别这4个字节。因此,对于支持802.1q交换机来说,如果某个端口上所连接的设备也都能够识别和发送这种带802.1q标签头的数据包文,那么我们将这种端口称为Tag端口;相反,如果该端口所连接的设备不能够识别和发送这种带802.1q标签头的数据包文,那么我们将这种端口称为

网络数据包分析实验

实验一:网络数据包分析实验 班级:班学号:姓名:一、实验目的 通过对实际的网络数据包进行捕捉,分析数据包的结构,加深对网络协议分层概念的理解,并实际的了解数据链路层,网络层,传输层以及应用层的相关协议和服务。 、实验内容 1. IGMP包解析 1.1数据链路层 El代XEL洱丁;亡日:亡5 MB)」osr: IP- 4m 4 t-is :hi-At I _n * tP f Ld L^iJ 1 Sei 00:00:1^^ saur-ctt El1imro_&ai?SiU Type;IP CgMOsw) 源数据: 数据链路层头部:01 00 5e 00 00 16 00 21 97 0a e5 16 08 00 数据链路层尾部:00 00 00 00 00 00 分析如下:

数据头部的前6个字节是接收者的mac地址:01 00 5e 00 00 16 数据头部的中间6个字节是发送者的mac地址:00 21 97 0a e5 16 数据头部的最后2个字节代表网络协议,即:08 00协议类型。 1.2网络层 Header* 1 cngth: 24 byres n axed services "乜Id:0x00 (.DSCP 0X00: D&fau11: 0x003 Tqtil rength:斗D Tdsrrtificar I cn: QklclJ 也^7460) H Flmqs: Q>00 Fra^Tienr offset;:Q Time VQ live; 1 Fr DTCCDl : IGMP go?) ¥ HPAder fhecksijn:CxJ85c [correct] 5DU RUM;172,10.103.?0

数据传输过程详解

数据传输过程详解 一、FTP客户端发送数据到FTP服务器端,详述其工作过程。两台机器的连接情况如下图所示: 详细解答如下 1.1、假设初始设置如下所示: 客户端FTP端口号为:32768 协议是水平的,服务是垂直的。 物理层,指的是电信号的传递方式,透明的传输比特流。 链路层,在两个相邻结点间的线路上无差错地传送以帧为单位的数据。 网络层,负责为分组交换网上的不同主机提供通信,数据传送的单位是分组或包。 传输层,负责主机中两个进程之间的通信,数据传输的单位是报文段。 网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。 1.3、数据包的封装过程 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。 1.4、工作过程 (1)在PC1客户端,将原始数据封装成帧,然后通过物理链路发送给Switch1的端口1。形成的帧为: 注:发送方怎样知道目的站是否和自己在同一个网络段?每个IP地址都有网络前缀,发送方只要将目的IP地址中的网络前缀提取出来,与自己的网络前缀比较,若匹配,则意味着数据报可以直接发送。也就是说比较二者的网络号是否相同。本题中,PC1和PC2在两个网络段。 (2)Switch1收到数据并对数据帧进行校验后,查看目的MAC地址,得知数据是要

网络数据包协议分析

网络数据包协议分析 一、实验目的 1.学习网络协议分析工具Ethereal的使用方法; 2.截获数据并对它们观察,分析其中2中协议(arp&tcp)数据包包头各数据位的含义, 了解协议的运行机制。 二、实验步骤 1.安装并打开Ethereal软件; 2.利用”运行cmd”打开命令提示符,输入“ping”确认网络连接是否完成; 3.点击capture->options选择网卡(默认有线); 4.点击capture开始抓包; 5.打开浏览器,访问一个网站,这样才可以抓到tcp的数据包; 6.点击stop停止抓包。 三、实验结果分析 1.Arp---address resolution protocol,地址解析协议的缩写,就是主机在发送帧前将目 标IP地址(32位)转换成目标MAC地址(48位)的过程。它属于链路层的协议。

ARP协议数据包包头数据位分析: 1.第一栏显示帧信息。 Frame 280 (60 bytes on wire,60 bytes capture)是指该数据包含有60个字节,ethereal软件截获了60个字节。点击打开,里面包括了到达时间、相对前一个包的时间延迟、传输时间、帧号280、包长度(60字节)和捕获到的长度(60字节)。 2.第二栏显示以太网信息。 源MAC地址是f4:6d:04:3a:62:33,目的MAC地址是ff:ff:ff:ff:ff:ff。 3.第三栏显示因特网协议信息。 它包括了硬件类型:以太网;协议类型是IP协议和发送方的IP地址与MAC地址,也包括了目的IP地址和MAC地址。 2.tcp—transition control protocol,传输控制协议的缩写。是一种面向连接(连接导向) 的、可靠的、基于字节流的传输层通信协议。

交换机基本原理和转发过程

交换机基本原理和转发过程 (李建昂 0023000149 专用设备/驱动科室) 本文主要介绍了一下交换机的工作原理,通过本文能够熟悉交换机的原理并对二层交换的一些概念有较深的理解。 首先介绍一下几个设备。我们经常会看到一些设备的名字,比如HUB、交换机等。这些设备之间到底有什么区别和联系,下面就简单说一下。 1、Ethernet HUB Ethernet HUB的中文名称叫做以太网集线器,其基本工作原理是广播技术(broadcast),也就是HUB从任何一个端口收到一个以太网数据帧后,它都将此以太网数据帧广播到其它所有端口,HUB不存储哪一个MAC地址对应于哪一个端口。 以太网数据帧中含有源MAC地址和目的MAC地址,对于与数据帧中目的MAC地址相同的计算机执行该报文中所要求的动作;对于目的MAC地址不存在或没有响应等情况,HUB既不知道也不处理,只负责转发。 HUB工作原理: (1) HUB从某一端口A收到的报文将发送到所有端口; (2) 报文为非广播报文时,仅与报文的目的MAC地址相同的端口响应用户A; (3) 报文为广播报文时,所有用户都响应用户A。 随着网络应用不断丰富,网络结构日渐复杂,导致传统的以太网连接设备HUB已经越来越不能满足网络规划和系统集成的需要,它的缺陷主要表现在以下两个方面: (1) 冲突严重——HUB对所连接的局域网只作信号的中继,所有物理设备构成了一个冲突域; (2) 广播泛滥 2、二层交换技术 二层交换机的出现能够在一定程度上解决HUB存在的缺陷——主要是冲突严重的问题,其与HUB的区别从大的方面来看可以分为以下三点: (1)从OSI体系结构来看,HUB属于OSI模型的第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。也就意味着HUB只是对数据的传输起到同步、放大

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping https://www.360docs.net/doc/5212090377.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

数据包从源到目的地的传输过程

数据包从源到目的地的传输过程 步骤1:PC1 需要向PC2 发送一个数据包 PC1 将IP 数据包封装成以太网帧,并将其目的MAC 地址设为R1 FastEthernet 0/0 接口的MAC 地址。 PC1 是如何确定应该将数据包转发至R1 而不是直接发往PC2?这是因为PC1 发 现源IP 地址和目的IP 地址位于不同的网络上。 PC1 通过对自己的IP 地址和子网掩码执行AND 运算,从而了解自身所在的网络。同样,PC1 也对数据包的目的IP 地址和自己的子网掩码执行AND 运算。如果两次运算结果一致,则PC1 知道目的IP 地址处于本地网络中,无需将数据包转发到默认网关(路由器)。如果AND 运算的结果是不同的网络地址,则PC1 知道目的IP 地址不在本地网络中,因而需要将数据包转发到默认网关(路由器)。 注:如果数据包目的IP 地址与PC1 子网掩码进行AND 运算后,所得到的结果并非PC1 计算得出的自己所在的网络地址,该结果也未必就是实际的远程网络地址。在PC1 看来,只有当掩码和网络地址相同时,目的IP 地址才属于本地网络。远程网络可能使用不同的掩码。如果目的IP 地址经过运算后得到的网络地址不同于本地网络地址,则PC1 无法知道实际的远程网络地址,它只知道该地址不在本地网络上。 PC1 如何确定默认网关(路由器R1)的MAC 地址?PC1 会在其ARP 表中查找默认网关的IP 地址及其关联的MAC 地址。 如果该条目不存在于ARP 表中会发生什么情况?PC1 会发出一个ARP 请求,然后路由器R1 作出ARP 回复。

步骤2:路由器R1 收到以太网帧 1. 路由器R1 检查目的MAC 地址,在本例中它是接收接口FastEthernet 0/0 的MAC 地址。因此,R1 将该帧复制到缓冲区中。 2. R1 看到“以太网类型”字段的值为0x800,这表示该以太网帧的数据部分包含IP 数据包。 3. R1 解封以太网帧。

交换机的工作过程

交换机的功能及工作过程 By:吾怜茜 一.交换机概述: 交换机是一种工作在二层的设备,但是随着技术的不断进步,现在已经出现了诸如三层交换机,多层交换机产品。在本篇中讨论的是二层交换机的一些特性。 二.交换机的功能: 1.地址学习 有些地方也叫做基于源MAC地址学习,这个功能主要就是学习和存储MAC 地址。 2.帧的转发/过滤 数据帧的转发主要是交换机能够根据MAC地址表来转发数据,过滤则是对一些受限制的数据进行阻止或丢弃。 3.环路避免 由于交换机的某些特性会带来一些问题,比如形成环路,因此为了保证网络上数据的正确传输以及网络的稳定要采取一些措施来避免这些问题,主要是通过STP来实现,稍后会讲到。 三.交换机的工作过程: 交换机在运行的时候要维护几张表,比如CAM表,vlan.data表。CAM表用来保存学到的MAC地址;VLAN.DATA文件用来保存VLAN相关的信息。 1.在交换机初始加电的时候它的MAC地址表是空的,当其他与其相连的设备(PC,交换机,路由器等)向它发送一个信息的时候,交换机就会根据数据的源MAC和目标MAC对数据进行处理,因为发的是第一个包,所以这时候交换机会把源MAC地址和数据从本交换机进来的端口号做关联,然后加上VLAN号保存起来形成一个CAM表条目。因为交换机的MAC地址表现在是空的,所以它不知道数据的目的地在那里,这时候交换机会发送ARP请求把数据从除了数据进来的端口之外的所有端口广播,这个过程称为泛洪,当目标主机收到数据之后会返回一个回应包,告诉交换机自己的MAC地址,这时候交换机又会根据目标主机返回的包把目标主机的MAC地址和进来的端口关联起来加上VLAN号形成一个新的CAM表条目。这个过程就是地址学习。我们通过下面的图来详细了解一下。

网络数据包的协议分析程序的设计开发—毕业设计论文

毕业设计(论文)网络数据包的协议分析程序的设计开发 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名(职称): 论文提交日期:

网络数据包的协议分析程序的设计开发 摘要 本文设计与实现了一个基于Linux下Libpcap库函数的网络数据包协议分析程序。程序的主要功能包括网络数据包捕获和常用网络协议分析。程序由输入/输出模块、规则匹配模块、数据捕获模块、协议分析模块组成。其中数据捕获模块和协议分析模块是本程序最关键、最主要的模块。 本文的主要内容如下:首先介绍了网络数据包协议分析程序的背景和概念。其次进行了程序的总体设计:确定了程序的功能,给出了程序的结构图和层次图,描述了程序的工作流程,对实现程序的关键技术做出了分析。接着,介绍完数据包捕获的相关背景和Libpcap函数库后,阐述了如何利用Libpcap函数库实现网络数据包捕获模块。然后对协议分析流程进行了详细的讲解,分析了常用网络协议。最后进行了程序的测试与运行:测试了程序能否按照预期的效果正确执行,印证了预期结果。 关键词:Libpcap;Linux;数据包捕获;应用层;协议识别

The Design and Development of Network Packet Protocol Analyzing Program Abstract The thesis is an attempt to introduce an implementation of network protocol analyzing program which is based on Libpcap, a famous network packet capture library on Linux. It has a rich feature set which includes capturing network packets and analyzing popular network protocols on Internet. The program is made up of an input/output module, a rules matching module, a packet capturing module and a protocol analyzing module. And the last two modules are key modules. The research work was described as followed. firstly, we introduce the background and concepts about network protocol analyzing programs; and we make an integrated design on the program, define functions of it, figure out its structure and hierarchical graphs, describe the workflow of it, and analyze the key techniques used in it; Secondly, after elaborating on the background of packet capture and the Libpcap library, we state a approach to implement a packet capture module with Libpcap; Thirdly, we explain the workflow about protocol analysis, and analyze common network protocols; Finally, we test our program to see whether it works as expected, fortunately, it does. Key words: Libpcap; Linux; Network packet capturing; Application layer; Protocol identification

实验四、使用Wireshark网络分析器分析数据包

实验四、使用Wireshark网络分析器分析数据包 一、实验目的 1、掌握Wireshark工具的安装和使用方法 2、理解TCP/IP协议栈中IP、TCP、UDP等协议的数据结构 3、掌握ICMP协议的类型和代码 二、实验内容 1、安装Wireshark 2、捕捉数据包 3、分析捕捉的数据包 三、实验工具 1、计算机n台(建议学生自带笔记本) 2、无线路由器n台 四、相关预备知识 1、熟悉win7操作系统 2、Sniff Pro软件的安装与使用(见Sniff Pro使用文档)

五、实验步骤 1、安装Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。 Wireshark的主要应用如下: (1)网络管理员用来解决网络问题 (2)网络安全工程师用来检测安全隐患 (3)开发人员用来测试协议执行情况 (4)用来学习网络协议 (5)除了上面提到的,Wireshark还可以用在其它许多场合。 Wireshark的主要特性 (1)支持UNIX和Windows平台 (2)在接口实时捕捉包 (3)能详细显示包的详细协议信息 (4)可以打开/保存捕捉的包 (5)可以导入导出其他捕捉程序支持的包数据格式

(6)可以通过多种方式过滤包 (7)多种方式查找包 (8)通过过滤以多种色彩显示包 (9)创建多种统计分析 五、实验内容 1.了解数据包分析软件Wireshark的基本情况; 2.安装数据包分析软件Wireshark; 3.配置分析软件Wireshark; 4.对本机网卡抓数据包; 5.分析各种数据包。 六、实验方法及步骤 1.Wireshark的安装及界面 (1)Wireshark的安装 (2)Wireshark的界面 启动Wireshark之后,主界面如图:

网络中数据传输过程的分析

网络中数据传输过程的分析 我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?把自己的理解写一下,可能有很多细节还没有能的很清楚!希望在以后可以使之更加的完善!有不对的地方还请指正. 我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合)从上到下分别为应用层表示层会话层传输层网络层数据链路层和物理层。其中数据链路层又可是分为两个子层分别为逻辑链路控制层(Logic Link Control,LLC )和介质访问控制层((Media Access Control,MAC )也就是平常说的MAC层。LLC对两个节点中的链路进行初始化,防止连接中断,保持可靠的通信。MAC层用来检验包含在每个桢中的地址信息。在下面会分析到。还要明白一点路由器是在网路层的,而网卡在数据链路层。 我们知道,ARP(Address Resolution Protocol,地址转换协议)被当作底层协议,用于IP地址到物理地址的转换。在以太网中,所有对IP的访问最终都转化为对网卡MAC地址的访问。如果主机A的ARP列表中,到主机B的IP地址与MAC地址对应不正确,由A发往B数据包就会发向错误的MAC地址,当然无法顺利到达B,结果是A与B根本不能进行通信。 首先我们分析一下在同一个网段的情况。假设有两台电脑分别命名为A和B,A需要相B发送数据的话,A主机首先把目标设备B的IP地址与自己的子网掩码进行“与”操作,以判断目标设备与自己是否位于同一网段内。如果目标设备在同一网段内,并且A没有获得与目标设备B的IP地址相对应的MAC地址信息,则源设备(A)以第二层广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备(A)与目标设备(B)的IP地址。同一网段中的所有其他设备都可以收到并分析这个ARP请求报文,如果某设备发现报文中的目标IP地址与自己的IP地址相同,则它向源设备发回ARP响应报文,通过该报文使源设备获得目标设备的MAC地址信息。为了减少广播量,网络设备通过ARP表在缓存中保存IP与MAC地址的映射信息。在一次ARP 的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中,以在后续的通信中使用。ARP表使用老化机制,删除在一段时间内没有使用过的IP与MAC地址的映射关系。一个最基本的网络拓扑结构:

二层交换机的转发过程描述

二层交换机的转发过程描述 本文将浅谈支持VLAN中二层交换机转发的具体过程,通过图文结合了解VLAN协议802.1Q文档中的帧在数据包中的具体体现。 上图就是二层交换机的具体转发过程,下面对上图中进行具体的阐述。 首先,我们来看一下TPID这个是什么意思? VLAN协议802.1Q文档中的帧在数据包的中的体现为下图: 标签协议识别符(Tag Protocol IdenTIfier,TPID):一组16位元的域其数值被设定在0x8100以用来辨别某个IEEE 802.1Q的帧为已被标签的,而这个域所被标定位置与乙太形式/长度在未标签帧的域相同,这是为了用来区别未标签的帧。通过判断此项的值是否是0x8100就可得出此帧是否是VLAN的帧。 优先权代码点(Priority Code Point,PCP):以一组3位元的域当作IEEE 802.1p优先权的参考,从0(最低)到7(最高),用来对资料流作传输的优先级。 标准格式指示(Canonical Format Indicator,CFI):1位元的域。若是这个域的值为1,则MAC地指则为非标准格式;若为0,则为标准格式;在乙太交换器中他通常默认为0。在以太和令牌环中,CFI用来做为两者的相容。若帧在乙太端中接收资料则CFI的值须设为1,且这个端口不能与未标签的其他端口桥接。 虚拟局域网识别符(VLAN IdenTIfier,VID):12位元的域,用来具体指出帧是属于哪个特定VLAN。值为0时,表示帧不属于任何一个VLAN;此时,802.1Q标签代表优先权。16位元的值0、1、0xFFF为保留值,其他的值都可用来做为小于4094个VLAN的识别符。此项表示VLAN ID的值是多少。 其次,我们来看看支持VLAN的交换表的表项:

解析IP数据包课程设计

课程设计任务书 目录 1.实验目的 2.实验要求 ) 3.预备知识 4.课程设计分析 5.实现过程 6.程序流程图 ! 7.相关扩展 8.实习体会

9.参考文献 一.实验目的: 设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相 关问题,从而IP层的工作原理有更好的理解和认识. 、 二.实验要求: 本设计的目标是捕获网络中数据包,解析数据包的内容,将、结果显示在标准输出上, 并同时写入日志文件. 程序的具体要求如下: 3)以命令行形式运行:ipparse logfile,其中ipparse是程序名,而logfile则代表记录 结果的日志文件. 4)在标准输出和日志文件中写入捕获的IP数据包的版本,头长度,服务类型,数据包总长 度,数据包标识,分段标志,分段偏移值,生存时间,上层协议类型,头校验和,源IP地址 和目的IP地址等内容. 当程序接收到键盘输入Ctrl+C时退出. ~ 三.预备知识 互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地 位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送 方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解, 图1给出了IP协议的数据包格式. IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要 针对版本是IPV4的数据包的解析. 报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B 之间,是可变的. 0 4 8 16 19 24 31

相关文档
最新文档