- 博客(32)
- 资源 (65)
- 收藏
- 关注
原创 Makefile编译时的告警选项
`-Wno-switch-default`:禁止缺少 switch 语句中的 default 分支的警告。- `-Wno-missing-field-initializers`:禁止缺少结构体字段初始化的警告。- `-Wno-error=missing-prototypes`:禁止缺少函数原型声明的警告。- `-Wextra`:启用额外的警告,包括一些不被 `-Wall` 覆盖的警告。- `-Wno-unused-function`:禁止未使用函数的警告。
2023-08-09 15:27:25 692
原创 git查看最近修改的文件
git whatchanged --stat 每次修改的文件列表, 及文件修改的统计。git log --pretty=oneline 查看文件修改的版本历史记录。git log --name-status 每次修改的文件列表, 显示状态。git log --stat 每次修改的文件列表, 及文件修改的统计。git log --name-only 每次修改的文件列表。git whatchanged 每次修改的文件列表。git show 显示最后一次的文件改变的具体内容。2、patch打补丁方法。
2023-03-13 18:06:30 2319
转载 如何用git命令生成Patch和打Patch
如何用git命令生成Patch和打Patch在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情。什么是patch?简单来讲,patch中存储的是你对代码的修改 什么是生成patch?生成patch就是记录你对代码的修改并将其保存在patch文件中 什么是打patch?打patch就是将patch文件中对代码的修改,应用到源代码,从而把对代码的修改应用到code中。尽管本身Linux命令里有diff和patch两个命令可以生成patc
2021-12-03 12:21:44 2111
原创 UVC调试
1、获得设备信息Subtype为0x01,表示为VC_HEADER,UVC协议版本号为0x0100,即1.00。VC类特征描述符信息返回的总字节数为0x004E,即78。时钟频率为0x00e4e1c0,即15Mhz,VS接口数为1,第一个VS接口的接口序号为1.Subtype为0x03,表示为VC_OUTPUT_TERMINAL,终端标识号ID为0x03,终端类型为0x0101,即TT_STREAMING.该输出终端没有内部输入终端与之连接。该终端连接的单元或终端的ID为0x
2021-03-31 11:49:47 1238 1
转载 MCS简介-编码方式
MCS简介802.11n射频速率的配置通过MCS(Modulation and Coding Scheme,调制与编码策略)索引值实现。MCS调制编码表是802.11n为表征WLAN的通讯速率而提出的一种表示形式。MCS将所关注的影响通讯速率的因素作为表的列,将MCS索引作为行,形成一张速率表。所以,每一个MCS索引其实对应了一组参数下的物理传输速率,表1-4和表1-5分别列举了带宽为20MH...
2019-07-22 10:56:49 5507
原创 TCP:传输控制协议
1 引言本章将介绍T C P为应用层提供的服务,以及 T C P首部中的各个字段。2 TCP的服务尽管T C P和U D P都使用相同的网络层( I P), T C P却向应用层提供与U D P完全不同的服务。T C P提供一种面向连接的、可靠的字节流服务面向连接意味着两个使用 T C P的应用(通常是一个客户和一个服务器)在彼此交换数据T C P通过下列方式来提供可靠性:• 应用数据...
2019-07-18 17:44:19 137
原创 XIP简介
1、XIP是什么?XIP(executed in place)本地执行。操作系统采用这种系统,可以不用将内核或执行代码拷贝到内存,而直接在代码的存储空间直接运行。XIP是一种能够直接在闪速存储器中执行代码而无须装载到RAM中执行的机制。2、XIP机制实现的原理XIP的原理很简单,即指操作系统或应用程序直接从非易失性存储器中执行。3、XIP机制作用减少了内核从闪速存储器拷贝到...
2019-07-18 11:06:27 12229 2
原创 BOOTP:引导程序协议
1 引言在进行系统引导时能够通过R A R P来获取它的 I P地址。然而使用 R A R P有两个问题: ( 1) I P地址是返回的唯一结果;( 2)既然 R A R P使用链路层广播, R A R P请求就不会被路由器转发(迫使每个实际网络设置一个RARP 服务器)。2 BOOTP 的分组格式BOOTP 请求和应答均被封装在 U D P数据报中,如图1 6 - 1所示。“操作码”字...
2019-07-14 19:48:19 2382
原创 TFTP:简单文件传送协议
1 引言T F T P ( Trivial File Transfer Protocol)即简单文件传送协议,最初打算用于引导无盘系统(通常是工作站或 X终端)。为了保持简单和短小, T F T P将使用U D P。T F T P的代码(和它所需要的 U D P、 I P和设备驱动程序)都能适合只读存储器。2 协议在开始工作时, T F T P的客户与服务器交换信息,客户发送一个读请求或写...
2019-07-14 18:58:00 395
原创 DNS:域名系统
1 引言域名系统( D N S)是一种用于 T C P / I P应用程序的分布式数据库,它提供主机名字和 I P地址之间的转换及有关电子邮件的选路信息。D N S提供了允许服务器和客户程序相互通信的协议。D N S提供了允许服务器和客户程序相互通信的协议。 从应用的角度上看,对 D N S的访问是通过一个地址解析器(r e s o l v e r)来完成的。该解析器主要是通过两个库函数 g...
2019-07-14 18:39:13 185
原创 IGMP: Internet组管理协议
1.介绍了 D类I P地址到以太网地址的映射方式。也简要说明了在单个物理网络中的多播过程,但当涉及多个网络并且多播数据必须通过路由器转发时,情况会复杂得多。I n t e r n e t组管理协议(I G M P)用于支持主机和路由器进行多播,它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。I G M P 也被当作 I P 层...
2019-07-07 22:34:43 1494
原创 广播和多播
三种 I P地址:单播地址、广播地址和多播地址。广播和多播仅应用于 U D P,它们对需将报文同时传往多个接收者的应用来说十分重要。T C P是一个面向连接的协议,它意味着分别运行于两主机(由 I P地址确定)内的两进程(由端口号确定)间存在一条连接。每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,因而称为单播( u n i c a s t )。有时一个主机要向网上的所有其他主机...
2019-07-02 08:15:33 1418
原创 UDP:用户数据报协议
1 引言U D P是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 U D P数据报,并组装成一份待发送的 I P数据报。U D P不提供可靠性:它把应用程序传给 I P层的数据发送出去,但是并不保证它们能到达目的地。2 UDP首部U D P首部的各字段如图11 - 2所示。端口号表示发送进程和接收进程。在图 1 - 8中,我们画出了 T C P和U D P...
2019-06-30 23:14:13 354
原创 动态选路协议
在配置接口时,以默认方式生成路由表项(对于直接连接的接口),并通过r o u t e命令增加表项(通常从系统自引导程序文件),或是通过I C M P重定向生成表项(通常是在默认方式出错的情况下)。在网络很小,且与其他网络只有单个连接点且没有多余路由时(若主路由失败,可以使用备用路由),采用这种方法是可行的动态选路协议,它用于路由器间的通信。R I P,即选路信息协议(Routing Infro...
2019-06-29 22:36:36 316
原创 IP选路
选路是I P最重要的功能之一。图 9 - 1是I P层处理过程的简单流程。需要进行选路的数据报可以由本地主机产生,也可以由其他主机产生。在后一种情况下,主机必须配置成一个路由器,否则通过网络接口接收到的数据报,如果目的地址不是本机就要被丢弃(例如,悄无声息地被丢弃)。选路的原理开始讨论 I P选路之前,首先要理解内核是如何维护路由表的。路由表中包含的信息决定了I P层所做的所有决策I P搜...
2019-06-29 14:46:21 206
原创 Traceroute程序
Tr a c e r o u t e程序是一个能更深入探索 T C P / I P协议的方便可用的工具。尽管不能保证从源端发往目的端的两份连续的 I P数据报具有相同的路由,但是大多数情况下是这样的.Tr a c e r o u t e程序可以让我们看到 I P数据报从一台主机传到另一台主机所经过的路由。Tr a c e r o u t e程序还可以让我们使用 I P源路由选项。Tr a c e...
2019-06-29 11:57:59 296
原创 ping命令
“p i n g”这个名字源于声纳定位操作。目的是为了测试另一台主机是否可达。该程序发送一份 I C M P回显请求报文给主机,并等待返回 I C M P回显应答1.用 P i n g程序来确定网络问题出在哪里2.P i n g程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”。一台主机的可达性可能不只取决于I P层是否可达,还取决于使用何种协议以及端口号。Ping程序称发送...
2019-06-29 10:23:24 422
原创 ICMP: Internet控制报文协议
I C M P经常被认为是 I P层的一个组成部分。它传递差错报文以及其他需要注意的信息。I C M P报文通常被 I P层或更高层协议(T C P或U D P)使用。一些 I C M P报文把差错报文返回给用户进程。I C M P报文是在 I P数据报内部被传输的I C M P报文的格式如图 6 - 2所示。所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。类型字段可以有...
2019-06-29 00:22:27 126
原创 RARP:逆地址解析协议
具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取 I P地址网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。无盘系统的R A R P实现过程是从接口卡上读取唯一的硬件地址,然后发送一份 R A R P请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的 I P地址(在R A R P应答中)。RARP的分组格式以太网报头中的前两个字段是以太网的源地址和目的地址...
2019-06-28 17:18:33 386
原创 ARP:地址解析协议
数据链路如以太网或令牌环网都有自己的寻址机制(常常为 48 bit地址),这是使用数据链路的任何网络层都必须遵从的。一个网络如以太网可以同时被不同的网络层使用。当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48 bit的以太网地址来确定目的接口的。设备驱动程序从不检查 I P数据报中的目的I P地址。地址解析为这两种不同的地址形式提供映射: 32 bit的I P地址和数...
2019-06-27 23:51:19 116
原创 特殊的IP地址
经过子网划分的描述,现在介绍 7个特殊的I P地址,如图3 - 9所示。在这个图中, 0表示所有的比特位全为 0; - 1表示所有的比特位全为 1; n e t i d、 s u b n e t i d和h o s t i d分别表示不为全0或全1的对应字段。子网号栏为空表示该地址没有进行子网划分。...
2019-06-27 10:53:40 592
原创 IP:网际协议
I P是T C P / I P协议族中最为核心的协议。所有的 T C P、 U D P、 I C M P及I G M P数据都以I P数据报格式传输。特点:I P提供不可靠、无连接的数据报传送服务不可靠( u n r e l i a b l e)的意思是它不能保证 I P数据报能成功地到达目的地。 I P仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区, I P有一个...
2019-06-26 23:57:50 124
原创 浅谈链路层
链路层主要有三个目的:(1)为I P模块发送和接收I P数据报;(2)为A R P模块发送 A R P请求和接收 A R P应答;(3)为R A R P模块发送R A R P请求和接收R A R P应答。T C P / I P支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、 F D D I(光纤分布式数据接口)及 R S-2 3 2串行线路等。以太网采用...
2019-06-26 20:46:47 474
转载 Linux 堆溢出原理分析
堆溢出与堆的内存布局有关,要搞明白堆溢出,首先要清楚的是malloc()分配的堆内存布局是什么样子,free()操作后又变成什么样子。解决第一个问题:通过malloc()分配的堆内存,如何布局?上图就是malloc()分配两块内存的情形。其中mem指针指向的是malloc()返回的地址,pre_size与size都是4字节数据,size存放当前chunk(内存块,本文均不翻译)大小...
2019-06-24 22:35:26 1302 3
转载 第一只WiFi蠕虫的诞生:完整解析博通WiFi芯片Broadpwn漏洞(含EXP/POC)
过去的几个月里,Android 和 iOS 数十亿台设备中都曾出现过可怕的 WiFi 远程代码执行漏洞 BroadPwn。谷歌 7 月初发布了修复补丁,而苹果则是在 7 月 19 日发布的更新。而此次开得热火朝天的 Black Hat 2017上安全研究员 Nitay Artenstein 也针对这个漏洞进行了详细剖析。Broadpwn 漏洞甚至还能进化成 WiFi 蠕虫,如果你的移动设备没...
2019-06-24 22:17:10 1242
原创 利用mips-linux-objdump工具解决一个crash问题的全过程
在Linux系统,如果遇到crash问题,是很致命的!!系统分析方法:一.定位问题1.crash日志处理(需要什么工具?分为几步?)2.问题如何放入到代码中(源代码反汇编,要使用什么工具?)3.确定crash问题位置(使用crash日志中的反汇编地址在源码中查找对应的位置)二.分析问题根据相关的函数以及对应行,进行问题分析。crash的原因很多,一般crash的原因有:...
2019-06-24 15:12:56 1932
转载 container_of
container_of()宏在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr:
2012-10-10 20:20:19 249
转载 自旋锁(spinlock) 解释得经典
自旋锁(spinlock) 解释得经典,透彻 .自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。 由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。 信号量和读写信号量适合于保持时间较长的情况,它们会导致调用
2012-10-10 19:27:00 247
原创 REHL5中QT开发平台的搭建
需要的工具包:qt-sdk-linux-x86-opensource-2010.05.1.bin freetype-2.4.4.tar.gz fontconfig-2.4.2.tar.gz首先安装 qt-sdk-linu
2012-01-12 10:30:59 358
原创 QT开发工具的安装
去官方下载http://qt.nokia.com/downloads下载在linux对应的命令:chmod u+x dp.ru./dp.rn
2012-01-10 15:50:43 272
转载 /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
问题出现:QT4.7版本时,提示/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found。终端输入:strings /usr/lib/libstdc++.so.6 | grepGLIBC,回车执行GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_
2012-01-10 15:28:59 296
Building_an_Effective_IoT_Ecosystem_for_Your_Business-286页.pdf
2018-04-13
A Design of the Temperature Test System Based
2010-10-01
mbedtls的流程sniffer包
2023-08-07
2018年云计算发展白皮书-中国信通院-2018.08-51页(2).pdf
2018-08-23
新一代物联网NB-IoT引发产业变革20170801.pptx
2018-06-12
Analysys Mason-M2M与物联网
2018-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人