[计算机网络实验]头歌 实验二 以太网帧、IP报文分析(含部分分析)

目录

第1关:Wireshark基本使用入门

【实验目的】

【实验环境】

【本地主机、平台虚拟机之间数据传递】

wireshark基本用法】

1、wireshark主界面

2、抓取分组操作

3、Wireshark窗口功能

4、筛选分组操作

【实验操作】

​编辑

第2关:Ethernet帧分析

【以太网帧格式】

1、Ethernet II帧格式

2、IEEE 802.3 帧格式:

IEEE 802.2 LLC的头构成:

3、IEEE 802.3 SNAP

【实验任务】

第3关:IP报文分析

1、MAC帧与数据负载

2、IP数据报格式:

3、ICMP报文格式

4、Ping 命令

5、traceroute命令与工作原理

【实验任务】


第1关:Wireshark基本使用入门

【实验目的】

1、掌握wireshark工具的基本使用方法

【实验环境】

1、头歌基于Linux的虚拟机桌面系统

2、网络报文分析工具wireshark

3、浏览器firefox

【本地主机、平台虚拟机之间数据传递】

1、文本的复制与粘贴 操作入口:点击虚拟机桌面右上角“工具栏”,选择“复制粘贴”菜单项。 特点:可双向复制与粘贴。

2、文件传输 操作入口:点击虚拟机桌面右上角“工具栏”,选择“上传文件”或“下载文件”菜单项。

3、截图 可以使用本地机的截图工具,对虚拟机桌面应用进行截图。 

wireshark基本用法】

Wireshark是一种开源的网络协议分析工具,主要功能有捕捉报文、解码分析、报文统计。官方下载地址:Wireshark · Download

1、wireshark主界面

双击桌面上的图标 ,可启动Wireshark。启动后的用户界面如下图所示,中间列表部分列出了所有网络接口。

Wireshark主界面

2、抓取分组操作

A.单击中间网络接口列表中,某一网络接口如eth0,选中网络接口,通过菜单“捕获”-“开始”或工具栏中的

按钮1

按钮,开始捕获选定接口中的网络分组;

B.也可以双击中间网络接口列表中,某一网络接口如eth0,可以开始抓取分组;

C.通过菜单“捕获”-“停止”或工具栏中的按钮

按钮2

停止抓取分组。

D.通过菜单“捕获”-“重新开始”或工具栏中的按钮

按钮3

重新开始抓取。

3、Wireshark窗口功能

(1)命令菜单和工具栏 命令菜单位于窗口的最顶部,是标准的下拉式菜单。最常用菜单命令有两个: 文件、 捕获。 文件 菜单允许你保存捕获的分组数据,或打开一个已被保存的捕获分组数据文件,或退出 WireShark 程序。 捕获 菜单允许你开始捕获分组。 工具栏位于命令菜单的下方,提供常用功能的快捷方式。如

开始

:开始捕获、

停止

:停止捕获、

重新开始

:重新抓取分组。

(2)显示过滤规则 在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。

(3)捕获分组列表(报文摘要窗口) 按行显示已被捕获的分组内容,其中包括: WireShark 赋予的分组序号、捕获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排序。 在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。

(4)分组头部明细(报文解码窗口) 显示捕获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的 IP 数据报有关的信息。 单击以太网帧或 IP 数据报所在行左边的向右或向下的箭头可以展开或最小化相关信息。如果利用 TCP 或 UDP 承载分组, WireShark 也会显示 TCP 或 UDP 协议头部信息。分组最高层协议的头部字段也会显示在此窗口中。

(5)分组内容窗口(报文内容窗口) 以 ASCII 码和十六进制两种格式显示被捕获帧的完整内容。

4、筛选分组操作

通常,分组列表窗口中会显示许多类型的分组。即使仅仅是下载了一个网页,但是还有许多其他协议在您的计算机上运行,只是用户所看不见。可以在中间过滤窗口中输入过滤的分组协议如http, 选择应用按钮,就可以只让HTTP分组消息显示在分组列表窗口。

窗口

【实验操作】

1、打开wireshark ,开始抓取网络接口eth0上的分组,将窗口最小化;

双击eth0开始抓取分组

2、打开浏览器,访问http://www.baidu.com, 等待网页打开完毕;

3、切换到Wireshark窗口,并停止抓取分组;

        红色按钮停止

4、利用分组过滤功能,过滤出http分组;在报文摘要窗口中点击选取第1个http报文;

5、对当前报文的头部明细窗口进行截图,保存到实验报告中,课后分析该报文,从外到内分别使用了什么协议,对应网络体系结构的哪一层?

6、将分组列表中出现的协议名称,顺序填入代码文件窗口首行末尾,不可修改原有的提示内容(相同协议只填写一次,用符号,分隔)。

7、使用Wireshark文件菜单,将所捕获的所有http报文保存到某个自定义的文件中,并下载到本地主机中。

  1. 对当前报文的头部明细窗口进行截图,保存到实验报告中,课后分析该报文,从外到内分别使用了什么协议,对应网络体系结构的哪一层?

分析:

- Frame 3958: 数据包的编号。

- 399 bytes on wire (3192 bits), 399 bytes captured (3192 bits) on interface 0: 数据包的大小,以字节和比特表示。

- Ethernet II, Src: 32: bd:db:e7:64:4b (32: bd:db:e7:64:4b), Dst: 5e:ae:36:ab:cd:e6 (5e:ae:36:ab:cd:e6): 数据包的以太网协议头部信息,包括源MAC地址和目的MAC地址。

- Internet Protocol Version 4,Src: 172.16.160.16, Dst: 34.107.221.82: 数据包的IP协议头部信息,包括源IP地址和目的IP地址,使用的是IPv4协议。

- Transmission Control Protocol, Src Port: 39328, Dst Port: 80,Seq: 1, Ack: 1, Len: 333: 数据包的TCP协议头部信息,包括源端口号和目的端口号,序列号和确认号,以及数据长度。

- Hypertext Transfer Protocol: 数据包的应用层协议头部信息,使用的是HTTP协议。

该报文从外到内分别使用了以下协议:

1.以太网协议(Ethernet II)

2.网络层协议(IPv4)

3.传输层协议(TCP)

4.应用层协议(HTTP)

对应网络体系结构的哪一层:

1.以太网协议(Ethernet II):数据链路层

2.网络层协议(IPv4):网络层

3.传输层协议(TCP):传输层

4.应用层协议(HTTP):应用层

第2关:Ethernet帧分析

【以太网帧格式】

以太帧有很多种类型。不同类型的帧具有不同的格式和 MTU 值。但在同种物理媒体上都可同时存在。

(1)以太网第二版或者称之为 Ethernet II 帧,DIX 帧,是最常见的帧类型。并通常直接被 IP 协议使用;

(2)Novell 的非标准 IEEE 802.3 帧变种;

(3)IEEE 802.3帧(后跟逻辑链路控制(LLC) 帧);

(4)子网接入协议(SNAP)帧。

1、Ethernet II帧格式

以太网中大多数的数据帧使用的是 Ethernet II 格式:

以太帧

Ethernet II 类型以太网帧的最小长度为 64 字节(6+6+2+46+4),最大长度为 1518 字节(6+6+2+1500+4)。其中:

(1)前 12 字节分别标识出发送数据帧的源节点 MAC 地址和接收数据帧的目标节点 MAC 地址(2)接下来的 2 个字节标识出以太网帧所携带的上层数据类型,如 16 进制数0x0800代表 IP 协议数据,16 进制数0x86dd代表 IPv6 协议数据,16 进制数0x809B代表 AppleTalk 协议数据,16 进制数0x8138代表 Novell 类型协议数据等;

(3)在不定长的数据字段(Data):其长度是 46 至 1500 字节;

(4)4 个字节的帧校验序列(Frame. Check Sequence,FCS),采用 32 位 CRC 循环冗余校验对从“目标 MAC 地址”字段到“数据”字段的数据进行校验。

2、IEEE 802.3 帧格式:

802.3帧格式

各字段说明如下: (1)D-MAC && S-MAC:分别表示标识目标地址和源地址。它们均为 6 个字节长。如果传输出去的目标地址第一位是 0,则表示这是一个普通地址;如果是 1, 则表示这是一个组地址。 (2)Length / Type :通常这个字段用于指定报文头后所接的数据类型。通常使用的值包括:IPv4(0x0800), IPv6(0x86DD), ARP(0x0806)。 而值0x8100代表一个 Q-tagged 帧(802.1q)。通常一个基础的以太网帧长为 1518 字节,但是更多的新标准把这个值扩展为 2000 字节。 (3)MAC Client Data: 数据主体,由 LLC及 Data 构成。最小长度为 48 字节(加上帧头 12 字节,CRC4 字节刚好 64 字节), 当数据主体小于 48 字节时,会添加 pad 字段。选取最小长度是出于冲突检测的考虑(CSMA/CD)。而数据字段最大长度为 1502 字节。

IEEE 802.2 LLC的头构成:

SNAP

(A)DSAP 目的服务访问字段,1 字节长,指明帧的目的上层协议类型; (B)ASAP 源服务访问字段,1 字节长,指明帧的源上层协议类型; (C)control 控制 1 字节或者 2 字节,长度要看被封装的 LLC 数据类型,是 LLC 数据报(类型1)1 字节,LLC 对话的一部分(类型2)2 字节。类型1 表明是无连接的,不可靠的 LLC 数据报,控制字段用0x03指明;类型 2 表明是面向连接可靠的 LLC 会话。 (4)FCS(Frame Check Sequence):也叫 CRC(Cyclic Redundancy Check),CRC 是差错检测码,用来确定接收到的帧比特是否正确。

3、IEEE 802.3 SNAP

虽然 IEEE 802.3 是标准,但没有被业界采用。以太网 II 已成事实标准。于是 IEEE 802.3 扩展产生 IEEE 802.3 SNAP 来兼容以太网网头部协议,在 IEEE 802.2 LLC 头部后插入了 SNAP 头部。 SNAP 头部字段构成:

(1)组织代码 3 字节长,指明维护接下来 2 字节意义的组织,对 IP 和 ARP,该字段被设置为0x00-00-00。

(2)以太网类型 如果组织代码为0x00-00-00,接下来 2 字节就是以太网类型 IP (0x0800)ARP(0x0806)。 因为增加了 LLC 头部的 3 字节和 SNAP 头部的 5 字节所以有效载荷比以太网 II 少 8 个字节。

【实验任务】

1、切换到终端窗口

 

2、查看虚拟机eth0网卡的MAC地址、IP地址、子网掩码,并记录到实验报告中。 使用命令:ifconfig

3、查看虚拟机网关IP地址 使用命令:route 对应default行

4、查看虚拟机网关MAC地址 使用命令:arp 根据网关IP地址,查ARP表得到对应的MAC地址,记录到实验报告中。

5、打开wireshark ,开始抓取网络接口eth0上的分组,将窗口最小化;(双击)

6、打开浏览器,访问http://www.baidu.com, 等待网页打开完毕;

7、切换到Wireshark窗口,并停止抓取分组;

8、利用分组过滤功能,过滤出http分组;在报文摘要窗口中点击选取第1个http报文;

9、分析当前报文采用以太网哪种帧格式,把典型字段值记录到到实验报告中。

10、确定当前报文的目的MAC地址指向目标(选填:平台虚拟机的网关MAC地址/主机的MAC地址),并填写到代码文件窗口第一行末尾(不要破坏“冒号”之前提示内容)。 注意:填写内容仅限于范围(平台虚拟机、平台虚拟机的网关、百度服务器、不能确定)

11、在捕获的报文中,找到一个广播帧,记录广播型MAC地址值(采用标准写法,16进制、冒号分隔),并填写到代码文件窗口第二行末尾(不要破坏“冒号”之前提示内容)。

采用的是Ethernet II帧格式,5a 48 29 f6 bf 25

第3关:IP报文分析

1、MAC帧与数据负载

在TCP/IP网络内,MAC帧的数据部分只有一个字段,其长度在46到1500字节之间,包含的信息是网络层传下来的数据,网络层常见协议有IP、ARP、ICMP协议,所以MAC帧的数据字段通常是一个IP分组、ARP报文。

MAC帧

2、IP数据报格式:

IP数据报(IP Datagram)是一个与硬件无关的虚拟包, 由首部和数据两部分组成,其格式如下图所示。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。

IP报文

1.版本:ip报文中,版本占了4位,用来表示该协议采用的是那一个版本的ip,相同版本的ip才能进行通信。一般此处的值为4,表示ipv4。

2.头长度:该字段用四位表示,表示整个ip包头的长度,其中数的单位是4字节。即二进制数0000-1111(十进制数0-15),其中一个最小长度为0字节,最大长度为60字节。一般来说此处的值为0101,表示头长度为20字节。

3.Tos服务字段:该字段用8位表示。该字段一般情况下不使用。

4.总长度:该字段表示整个ip报文的长度,单位是1字节。能表示的最大字节为2^16-1=65535字节。不过由于链路层的MTU限制。超过1480字节后就会被分片(以太帧MTU为1500的情况下,除去20字节的包头)

5.标识:该字段是ip软件实现的时候自动产生的,该字段的目的不是为了接受方的按序接受而设置的,而是在ip分片以后,用来标识同一片分片的。方便ip分片的重组。

6.标志:该字段是与ip分片有关的。其中有三位,但只有两位是有效的,分别为MF,DF,MF。MF标识后面是否还有分片,为1时,表示后面还有分片。DF标识是否能分片,为0表示可以分片

7.片偏移:该字段是与ip分片后,相应的ip片在总的ip片的位置。该字段的单位是8字节。比如,一个长度为4000字节的ip报文,到达路由器。这是超过了链路层的MTU,需要进行分片,4000字节中,20字节为包头,3980字节为数据,需要分成3个ip片(链路层MTU为1500),那么第一个分片的片偏移就是0,表示该分片在3980的第0位开始,第1479位结束。第二个ip片的片偏移为185(1480/8),表示该分片开始的位置在原来ip的第1480位,结束在2959。第三片的片偏移为370(2960/8),表示开始的时候是2960位,结束的时候在3979位。

8.TTL:该片表示生存周期,该值占8位。ip分片每经过一个路由器该值减一,它的出现是为了防止路由环路,浪费带宽的问题。比如,该ip在R1路由器发送到R2路由器。R2路由器又发给R1路由器。防止这种循环。window系统默认为128.

9.协议:该值标识上层的协议。占8位。其中1,标识ICMP、2标识IGMP、6标识TCP、17标识UDP、89标识OSPF。

10校验和:该值是对整个数据包的包头进行的校验。占16位。

11.源地址和目的地址。标识发送ip片的源和目的ip,32位

12.可选项,一般一些特殊的要求会加在这个部分。

3、ICMP报文格式

网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。网络层的IP协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰好弥补了IP的缺限,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈。ICMP可以看作是IP协议的伴随协议。ICMP报文被封装在IP 数据报发送。

ICMP报文

 类型:标识生成的错误报文,它是ICMP报文中的第一个字段;

 代码:进一步地限定生成ICMP报文。该字段用来查找产生错误的原因;

 校验和:存储了ICMP所使用的校验和值。

 未使用:保留字段,供将来使用,起值设为0

 数据:包含了所有接受到的数据报的IP报头。还包含IP数据报中前8个字节的数据;

IP数据包8字节

4、Ping 命令

其主要功能是用于网络连通测试,通信协议是ICMP,Windows系统下Ping命令格式如下:

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count]

[[-j host-list] | [-k host-list]] [-w timeout] target_name 这里对实验中可能用到的参数解释如下:

-t :用户所在主机不断向目标主机发送回送请求报文 ,直到用户中断;

-n count: 指定要 Ping 多少次,具体次数由后面的 count 来指定 ,缺省值为 4;

-l size: 指定发送到目标主机的数据包的大小 ,默认为 32 字节,最大值是 65,527;

-w timeout:指定超时间隔,单位为毫秒;

target_name:指定要 ping 的远程计算机。

Unix/Linux系统下Ping命令使用格式如下:

ping [-c count] [-s size] target_name

-c count: 指定要 Ping 多少次,具体次数由后面的 count 来指定

-s size: 指定发送到目标主机的数据包的大小,默认为 32 字节

target_name:指定要 ping 的远程计算机。

5、traceroute命令与工作原理

其主要功能是跟踪(报文传输)沿途所经过的路由,通信协议是ICMP,用于unix、linux系统环境,在Windows系统环境内,对应的命令是tracert。命令格式:Traceroute 目标主机名或IP. Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器...... traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。 Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。

【实验任务】

1、切换到终端窗口

2、已知某目标机IP地址是119.38.215.130,测试IP报文由平台虚拟机发送至目标机,沿途经过哪些路由器? 执行命令:traceroute 119.38.215.130 把得到的数据整理后,保存到实验报告中,课后分析沿途经过哪些路由器。

3、分析沿途所经过的路由器的数目,并填写到代码文件窗口第一行末尾(不要破坏“冒号”之前提示内容)。 注:有两种可能的答案,系统只认其中一种(如果你的答案系统不认,可以将其减1或加1再试)。

4、打开wireshark ,开始抓取网络接口eth0上的分组,将窗口最小化;

5、在终端窗口内,执行如下命令: ping -c 3 -s 0 www.educoder.net 在实验报告中解释该命令行各参数的含义; 把得到的数据整理后,保存到实验报告中,课后完成数据分析。

6、切换到Wireshark窗口,并停止抓取分组;

7、利用分组过滤功能,过滤出icmp分组;在报文摘要窗口中点击选取第1个icmp报文;

8、调节分组头部细节窗口大小,将其中IP报头和ICMP报头全部字段都展开,然后对该窗口进行截图,并粘贴到实验报告中,课后对其中主要字段进行分析解读。

9、分析第一个icmp响应(reply)报文,把其类型值、代码,分别填写到代码文件窗口的第二、三行末尾(不要破坏“冒号”之前提示内容)。

  1. 调节分组头部细节窗口大小,将其中IP报头和ICMP报头全部字段都展开,然后对该窗口进行截图,并粘贴到实验报告中,课后对其中主要字段进行分析解读。

21 IP

这是一个IPv4的数据包,其中包含了源IP地址和目标IP地址,以及其他一些信息。具体分析如下:

- 版本号为4,表示这是IPv4协议。

- 头部长度为20字节,即5个32位字长。

- 差分服务字段为0x14,其中DSCP为Unknown,ECN为Not-ECT。

- 总长度为28字节。

- 标识符为0x3b17,即15127。

- 标志位为0x4000,表示不分片。

- 存活时间为55。

- 协议为ICMP,即Internet控制报文协议。

- 头部校验和为0xdb65。

- 源IP地址为122.225.212.158。

- 目标IP地址为172.16.49.192。

22 icmp

这是一个ICMP协议的回复报文,其中包含了以下信息:

- Type: 0,表示这是一个回复报文,而不是请求报文。

- Code: 0,表示这是一个Echo (ping) reply。

- Checksum: 0xfdd7,表示校验和正确。

- Identifier (BE): 552 (0x0228),表示标识符为552。

- Identifier (LE): 10242 (0x2802),表示标识符的小端字节序为10242。

- Sequence number (BE): 0 (0x0000),表示序列号为0。

- Sequence number (LE): 0 (0x0000),表示序列号的小端字节序为0。

根据这些信息,我们可以确定这是一个回复报文,而不是请求报文,并且是一个Echo (ping) reply。标识符为552,序列号为0。校验和正确。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/178206.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leaflet结合Echarts实现迁徙图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>Leaflet结合Echarts4实现迁徙图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

C++:利用哈希表对unordered系列容器模拟实现

文章目录 unordered容器使用[在长度 2N 的数组中找出重复 N 次的元素](https://leetcode.cn/problems/n-repeated-element-in-size-2n-array/description/) 底层结构初步改造哈希表基本逻辑的实现 最终实现 本篇主要总结unordered系列容器和其底层结构 unordered容器使用 从使…

MYSQL索引使用注意事项

索引使用注意事项&#xff1a; 1.索引列运算 不要在索引列上进行运算操作&#xff0c;否则索引将失效&#xff1b; 2.字符串不加引号 字符串类型使用时&#xff0c;不加引号&#xff0c;否则索引将失效&#xff1b; 3.模糊查询 如果仅仅是尾部模糊匹配&#xff0c;索引将不会失…

使用EasyPlayer播放H.265视频流

使用EasyPlayer播放H.265视频流 EasyPlayer流媒体视频播放器 EasyPlayer流媒体视频播放器 EasyPlayer流媒体视频播放器可支持H.264与H.265编码格式&#xff0c;性能稳定、播放流畅&#xff0c;能支持RTSP、RTMP、HLS、FLV、WebRTC等格式的视频流播放&#xff0c;并且已实现网页…

NEJM一篇新文为例,聊聊孟德尔随机化研究mr 连锁不平衡(linkage disequilibrium)

2019年3月14日&#xff0c;新英格兰医学杂志发表了一篇论著&#xff0c;Mendelian Randomization Study of ACLY and Cardiovascular disease, 即《ACLY和心血管疾病的孟德尔随机化研究》。与小咖在2017年1月9日报道的一篇发表在新英格兰医学的孟德尔随机化研究——精读NEJM&am…

【Python】重磅!这本30w人都在看的Python数据分析畅销书更新了!

Python 语言极具吸引力。自从 1991 年诞生以来&#xff0c;Python 如今已经成为最受欢迎的解释型编程语言。 【文末送书】今天推荐一本Python领域优质数据分析书籍&#xff0c;这本30w人都在看的书&#xff0c;值得入手。 目录 作译者简介主要变动导读视频购书链接文末送书 pan…

【GUI】-- 13 贪吃蛇小游戏之食物及成绩判断

GUI编程 04 贪吃蛇小游戏 4.4 第四步&#xff1a;食物及成绩判断 首先&#xff0c;添加食物与分数的数据定义&#xff1a; //食物的坐标int foodX;int foodY;Random random new Random();//积分面板数据结构int score;在初始化方法中&#xff0c;添加(画出)食物与分数&…

编译 CUDA加速的 OpenCV-4.8.0 版本

文章目录 前言一、编译环境二、前期准备三、CMake编译四、VS编译OpenCV.sln五、问题 前言 由于项目需要用上CUDA加速的OpenCV&#xff0c;编译时也踩了不少坑&#xff0c;所以这里记录一下。 一、编译环境 我的编译环境是&#xff1a; Win10 RTX4050 CUDA-12.0 CUDNN 8.9.…

Windows、VMware问题集合

Windows、VMware问题集合 一. Windows11安装VMware17提升虚拟机性能1. 桌面右击图标点击属性——>兼容性&#xff0c;找到“以管理员身份运行此程序”勾选&#xff0c;最后点击确定即可。2. 关闭win11的内核隔离功能。 二. VMware虚拟机报错&#xff08;虚拟化性能计数器需要…

【人工智能入门学习资料福利】

总目录如下&#xff08;部分截取&#xff09;&#xff1a; 百度网盘链接&#xff1a;https://pan.baidu.com/s/1bfDVG-xcPR3f3nfBJXxqQQ?pwdifu6 提取码&#xff1a; ifu6

【电子通识】USB3.0和USB2.0有什么区别?

版本 USB2.0是2000年4月27日由USB-IF组织提出了USB2.0总线协议规范。 USB3.0是2008年11月17日由USB-IF组织提出了超高速USB3.0规范。 图标对比 USB2.0的标志就是和USB1.1的标志基本上没啥区别&#xff0c;还是以前的那个样子&#xff0c;使用黑色颜色用标识 USB3.0它有一个S…

变态跳台阶,剑指offer

目录 题目&#xff1a; 我们直接看题解吧&#xff1a; 相似题目&#xff1a; 解题方法&#xff1a; 审题目事例提示&#xff1a; 解题思路&#xff1a; 代码实现&#xff1a; 题目地址&#xff1a; 【剑指Offer】9、变态跳台阶 难度&#xff1a;简单 今天刷变态跳台阶&#xf…

不停的挖掘硬盘的最大潜能

从 NAS 上退休的硬盘被用在了监控的存储上了。 随着硬盘使用寿命的接近尾声&#xff0c;感觉就是从高附加值数据到低附加值数据上。监控数据只会保留那么几个月的时间&#xff0c;很多时候都会被覆盖重新写入。 有人问为什么监控数据不保留几年的&#xff0c;那是因为监控数据…

Golang 中的良好代码与糟糕代码

最近&#xff0c;有人要求我详细解释在 Golang 中什么是好的代码和坏的代码。我觉得这个练习非常有趣。实际上&#xff0c;足够有趣以至于我写了一篇关于这个话题的文章。为了说明我的回答&#xff0c;我选择了我在空中交通管理&#xff08;ATM&#xff09;领域遇到的一个具体用…

Apache POI简介

三十二、Apache POI 32.1 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用POI在Java程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI都是用于操作Excel文件。 Apache POI 的应用场…

【开源】基于JAVA的开放实验室管理系统

项目编号&#xff1a; S 013 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S013&#xff0c;文末获取源码。} 项目编号&#xff1a;S013&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实…

LeetCode 2304. 网格中的最小路径代价:DP

【LetMeFly】2304.网格中的最小路径代价&#xff1a;DP 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-path-cost-in-a-grid/ 给你一个下标从 0 开始的整数矩阵 grid &#xff0c;矩阵大小为 m x n &#xff0c;由从 0 到 m * n - 1 的不同整数组成。你可以…

#gStore-weekly | ​gAnswer源码分析:基于通用数据集的NE、RE服务开发

PART1 简 介 目前基于知识图谱的问答模式有两种&#xff0c;一种是基于信息检索的方式&#xff0c;一种是基于语义分析的方式。前者较之于后者&#xff0c;没有真正关心语义&#xff0c;主要是ranker算法&#xff0c;擅于处理简单问题&#xff0c;后者则是从语义的角度将用户…

数环通入选中国信通院《高质量数字化转型技术方案集(2023)》,积极推动企业数字化转型

近日&#xff0c;中国信息通信研究院“铸基计划”发布《高质量数字化转型技术方案集&#xff08;2023&#xff09;》&#xff0c;数环通《数字化协同管理解决方案》成功入选。 随着科技的快速发展和市场竞争的日益激烈&#xff0c;数字化转型已成为企业持续发展和提升竞争力的关…

JetLinks设备接入的认识与理解【woodwhales.cn】

为了更好的阅读体验&#xff0c;建议移步至笔者的博客阅读&#xff1a;JetLinks设备接入的认识与理解 1、认识 JetLinks 1.1、官网文档 官网&#xff1a;https://www.jetlinks.cn/ JetLinks 有两个产品&#xff1a;JetLinks-lot和JetLinks-view 官方文档&#xff1a; JetLi…
最新文章