自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

转载 使用Hyperscan提高Snort 3性能

原文链接点这里

2022-03-29 14:49:12 614 1

原创 Snort入侵检测

Snort入侵检测简介原理工作过程安装部署安装snort规则snort规则划分规则头基本格式规则选项的基本格式snort规则组织结构snort配置项基本语法配置文件其他关键要素简介Snort 是一个开源入侵防御系统(IPS)。Snort IPS 使用一系列规则来帮助定义恶意网络活动,并利用这些规则来查找与之匹配的数据包,并为用户生成警报。Snort 也可以在线部署来阻止这些数据包。Snort有三个主要用途。作为一个像tcpdump一样的数据包嗅探器,作为一个数据包记录器–这对网络流量调试很有用,或者

2022-03-01 14:09:26 7452 1

原创 静态库和动态库的区别

静态库静态库在程序编译时会被连接到目标代码中,程序运行时将不在需要该静态库。编译之后的程序文件大,但加载快,隔离性也好。之所以称为静态库,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接。静态库特点如下:静态库对函数库的链接是放在编译时期完成的程序在运行时与函数库再无瓜葛,移植方便。浪费空间和资源,因为所有相关的目标文件与牵扯到的函数库被链接合成一个可执行文件。Linux下使用ar工具、Windows下vs使用lib.exe

2021-10-20 15:34:14 304

原创 Linux socket基本编程

Linux socket基本编程简介Socket示例编程客户端程序示例服务端程序示例Socket API详解socket()函数socket参数详解bind()函数bind函数参数详解listen()函数listen参数详解connect()函数accept()函数read()、write()等函数close()函数socket中TCP的三次握手建立连接详解socket中TCP的四次握手释放连接详解所谓套接字(Socket),就是网络中不同主机上的应用程序直接进行双向通信的端点抽象,一个套接字就是网络上

2021-09-30 14:15:54 237

原创 HTTP协议详解

HTTP超文本传输协议(HyperText Transfer Protocol,缩写HTTP)是用于服务器传输超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端和服务器模型。

2021-09-27 15:40:17 980

原创 DDoS 攻击防护

DDoS 攻击防护攻击方式SYN FLOOD传送控制协议(TCP)同步(SYN)攻击。TCP进程通常包括发送者和接受者之间在数据包发送之前创建的完全信号交换。启动系统发送一个SYN请求,接收系统返回一个带有自己SYN请求的ACK(确认)作为交换。发送系统接着传回自己的ACK来授权两个系统间的通讯。若接收系统发送了SYN数据包,但没接收到ACK,接受者经过一段时间后会再次发送新的SYN数据包。接受系统中的处理器和内存资源将存储该TCP SYN的请求直至超时。DDoS TCP SYN攻击也被称为“资源耗尽

2021-09-24 14:51:13 155

原创 BPF过滤规则

概述伯克利包过滤器(Berkeley Packet Filter,缩写 BPF),是类Unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发。除此之外,如果网卡驱动支持混杂模式,那么它可以让网卡处于此种模式,这样可以收到网络上的所有包,不管他们的目的地是不是所在主机。另外,BPF支持过滤数据包——用户态的进程可以提供一个过滤程序来声明它想收到哪些数据包。通过这种过滤可以避免从操作系统内核向用户态复制其他对用户态程序无用的数据包,从而极大地提高性能。BPF简介多年前很多程序,例如网络监控器,都

2021-09-23 17:24:47 2138

原创 c++11 regex 与 PCRE库使用

c++11 regex 与 PCRE库使用简介PCREC++11 regex示例pcre库捕获特殊字符串示例c++11库捕获特殊字符串示例性能对比简介PCREPCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用的。Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要

2021-09-22 17:41:51 1029

转载 LTE基本架构

这篇文章主要介绍LTE的最...

2020-01-02 10:35:28 261

转载 Android HIDL

<div class="markdown_views"> <!-- flowchart 箭头图标 勿删 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;&q

2018-09-19 21:41:40 366

转载 Android SDK Manager国内无法更新的解决方案

转自:Android SDK Manager国内无法更新的解决方案(亲测有效)现在由于GWF,google基本和咱们说咱见了,就给现在在做Android 或者想学习Android 的朋友带来了诸多的不便,最简单的就是Android SDK Manager 你无法更新了。现在这里有一个解决方案,如下。启动 Android SDK Manager ,打开主界面,依次选择「Tools」...

2018-03-09 16:57:43 283

原创 Android NDK

Android NDK1. 环境搭建:通过SDKManager-SDK Tools下载NDK插件,下载后到SDK Location里面检查里面的NDK路径。2. 通过local.properties文件里面有没有NDK路径。3. 在工程中gradle.properties中添加对旧版本支持的配置android.useDeprecatedNdk=true。4. 直...

2018-03-08 19:33:12 629

转载 Android:Binder进程间通信原理

前言如果你接触过 跨进程通信 (IPC),那么你对Binder一定不陌生虽然 网上有很多介绍 Binder的文章,可是存在一些问题:浅显的讨论Binder机制 或 一味讲解 Binder源码、逻辑不清楚,最终导致的是读者们还是无法形成一个完整的Binder概念本文采用 清晰的图...

2018-02-26 17:08:31 245

转载 Shell脚本示例

Shell基础之控制流结构一、控制结构几乎所有的脚本里都有某种流控制结构,很少有例外。流控制是什么?假定有一个脚本,包含下列几个命令:#!/bin/sh# make a directorymkdir /home/dave/mydocs# copy all doc filescp *.docs /home/dave/docs# dele...

2018-02-26 13:47:45 355

转载 git教程-概念、原理及使用

提示:查看本文的方式,不懂的先略过,看了后面的篇幅可能就懂了。git和Github概念git — 版本控制工具(命令)。工具介绍官方网站:http://git-scm.com工具下载地址:http://git-scm.com/download/git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。git是个工具,在linux里面也...

2018-02-25 14:49:15 398

转载 操作系统学习:分布式系统结构

分布式系统是一组不共享内存和时钟的处理器的集合,即每个处理器都有它自己的内存,处理器之间的通信可通过各种通信网络加以实现。一、动机 建立分布式系统主要由4个方面的原因: 1、资源共享 2、加快计算速度 3、可靠性 4、通信 不同站点可以有机会交换信息二、分布式操作系统的类型 1、网络操作系统 通过远程登录或从远程机器传送数据到自己机器的方式来访问远程资源。易...

2018-02-21 13:54:51 469

转载 操作系统学习:linux内存管理

摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市...

2018-02-20 16:00:23 313 1

原创 操作系统学习:Linux内核并发机制

Linux包含了在其他UNIX系统中出现的所有并发机制,其中包括管道、消息队列、共享内存和信号,除此之外,Linux2.6还包含了一套丰富的并发机制,这套机制是特别为内核态线程准备的。换言之,它们是内核中的并发机制,提供内核代码执行的并发性。原子操作 Linux提供了一组操作对变量的原子操作。这些操作能够用来避免简单的竟态条件(race condition)。原子操作执行时不会...

2018-02-14 15:13:39 388

原创 操作系统学习:UNIX并发机制

Unix为进程间的通信和同步提供了各种机制。这里只介绍最重要的几种:管道 消息共享内存信号量信号管道、消息和共享内存提供了进程间传递数据的方法,而信号量和信号则用于触发其他进程的行为。管道 UNIX对操作系统开发最重要的贡献之一就是管道。受协同程序概念的启发,管道是一个环形缓冲区,允许两个进程以生产者消费者的模型进行通信。因此,这是一种先进先出(FIFO)队列,...

2018-02-14 10:36:00 352

原创 操作系统学习:进程与线程

什么是进程书上的定义是:一个正在执行中的程序 。一个正在计算机上执行的程序实例 。能分配给处理器并由处理器执行的实体 。一个具有以下特征的活动单元:一组有序列的执行、一个当前状态和相关的系统资源集 。线程 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数...

2018-02-13 12:58:00 193

原创 操作系统学习:计算机系统概述

基本构成 处理器(Processor) :控制计算机的操作,执行数据的处理,通常指CPU。在处理中含有寄存器,寄存器相对内存来说容量很小,但存取速度相当快,可以用来暂存指令和数据等。寄存器有多种不同的分类。如地址寄存器和指令寄存器等。地址寄存器存放下一步需要从存储器中读取的存储器地址,指令寄存器存取当前正在执行的程序指令。 存储器(Main memory):分为内存和外存。主要用于存...

2018-02-12 18:24:30 388

转载 vi配置文件

在用vi编程时,如果不配置,会感觉会不舒服。tab键的格数,背景色,这样会让看起来舒服些,用起来也方便些。这里转发一个vi的配置文件,可以复制到.vimrc文件,如果是usr放到/home/username/.vimrc  如果是root则放到/etc/vimrc这样vim的配置基本也结束了。在下边的文件中有几...

2018-02-11 13:37:46 339

转载 C/C++ 回调函数详解

【1】函数指针【1.1】概念指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件都可以用指针来指向它。函数是存放在内存代码区域内的,它们同样有地址,因此同样可以用指针来存取函数,把这种指向函数入口地址的指针称为函数指针。之前一直没有很了解回调函数的含义,随着时间推移以及知识积累,又慢慢有了一定的了...

2018-02-11 11:43:12 449

转载 Shell脚本编程详解

Shell编程详解   Shell简介 概述Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并把它送入内核去执行。内核是Linux系统的心脏,从开机自检就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序存储在计算机的硬盘上,仅当需要时才被调入内存。Shell是一种应用程序,当用户...

2018-02-08 17:24:31 562

原创 内核printk打印级别

/proc/sys/kernel/printkPrintk 共有4个参数Cat /proc/sys/kernel/printk7 4 1 7(1)第一个参数 7表示小于7优先级消息才会被输出到控制台。(2)第二个参数4 表示默认的printk消息优先级别,即printk(“hell world”);优先级为4, 由...

2018-02-07 22:13:07 431

转载 Android 5.1.1 源码目录结构

最近公司培训新同事,我负责整理一点关于android的基础知识,遥想当年,刚接触android,也是一头雾水,啥都不懂,就是靠看文档和视频,对android有一个初步了解,然后就通过查看源码,才有更深入的了解。android有成千上万,说太少了,是成百万上亿的代码,当然要全部都了解是不可能的,所以要有一套自己的方法来理解和查看代码。学习android,对代码框架结构的了解是必不可少的,其实现

2018-02-02 15:12:18 284

转载 Android Framework中的Application Framework层介绍

引言                Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层。我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得。        Framework层为我们开发应用程序提供了非常多的API,我们通过调用特殊的API构造我们的APP,满足我们业务上的需求。写APP的人都知道,学习

2018-02-02 14:21:54 194

转载 嵌入式Linux系统启动过程

嵌入式Linux系统启动过程系统启动过程 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader), Linux 内核,文件系统,应用程序。  当系统首次引导时,或系统被重置时,处理器会执行一个位于Flash/ROM中的已知位置处的代码,Bootloader就是这第一段代码。它主要用来初始化处理器及外设,然后调用 Li

2018-02-01 13:55:20 399

转载 嵌入式Linux系统的构成和启动总结

在我们的周围,大量的嵌入式设备都是基于Linux系统来构建的,嵌入式Linux与主机Linux相比有着自己的一些特点,本文就嵌入式Linux系统的构成和启动过程做一些总结。 一、嵌入式Linux系统构成上图是一个嵌入式Linux系统的典型结构,划分成了4个区:1、Bootloader区存放的是Bootloader,它负责嵌入式系统最初的硬件初始化、驱动和内核加载。2、参数区不是必须的,通常存放了一

2018-02-01 13:41:39 189

转载 Linux下查看硬件信息以及驱动设备的命令

用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)查看CPU信息:cat /proc/cpuinfo查看板卡信息:cat /proc/pci查看PCI信息:lspci (相比cat /proc/pci更直观)查看内存信息:cat /proc/meminfo查看USB设备:cat /proc/bus/usb/devices查看交换分区信息: cat

2018-01-31 17:59:24 2878

原创 Android编译准备工作

下载专有二进制文件对于运行带标记的 AOSP 版本分支的受支持设备,您可以从 Google 的驱动程序下载相关的官方二进制文件。有了这些二进制文件,您将有权使用采用非开放源代码的其他硬件功能。要编译 AOSP 的 master 分支,请使用二进制文件预览。在针对某种设备编译 master 分支时,请使用适用于最新编号版本的二进制文件或具有最新日期的二进制文件。解压专有二进制文件每组二进

2018-01-29 15:21:55 199

转载 repo 的一些用法和理解

repo的用法(zz)  注:repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理给git管理的一个个仓库的)下载 repo 的地址: http://android.git.kernel.org/repo ,可以用以下二者之一来下载 repowget http://android.git.kerne

2018-01-27 12:34:27 1487

转载 XML文件结构和基本语法

4.1.1               XML文件结构一个XML文件通常包含文件头和文件体两大部分1.         文件头XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。在前面的Flowers.xml文件中的第一行代码即为XML声明:

2018-01-26 18:55:19 228

原创 Linux基本命令

git init # 初始化本地git仓库(创建新仓库)git config --global user.name "xxx" # 配置用户名git config --global user.email "xxx@xxx.com"

2018-01-26 13:25:18 131

转载 Linux 内核是如何构建的

我不会告诉你怎么在自己的电脑上去构建、安装一个定制化的 Linux 内核,这样的资料太多了,它们会对你有帮助。本文会告诉你当你在内核源码路径里敲下make 时会发生什么。当我刚刚开始学习内核代码时,Makefile 是我打开的第一个文件,这个文件看起来真令人害怕 :)。那时候这个 Makefile 还只包含了1591 行代码,当我开始写本文时,内核已经是4.2.0的第三个候选版本 了。这个

2018-01-24 20:17:26 215

转载 JAVA中的BIO与NIO、AIO的区别

IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝

2018-01-23 15:06:46 152

转载 ARM Linux设备树(Device Tree)

1.    ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-x

2018-01-23 14:57:16 274

转载 I2C总线协议

I2C总线定义    I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系

2018-01-22 18:59:33 242

转载 I2C总线协议详解

1.1 I2C总线知识1.1.1  I2C总线物理拓扑结构     I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。1.1.2  I2C总线特征    I2C总线上的

2018-01-22 18:30:36 248

转载 WIFI工作原理

Wi-Fi工作原理第一部分  Android概述       在介绍Wi-Fi之前,先简要介绍一下Android系统,主要分析一下Android的按层实现的原理。Android层次结构是整个Android体系中所有应用实现的基础框架,而Android源代码结构则与Wi-Fi的实现细节有关。1.1  基础知识       Android是一款当前最为流行的手机操作系统,它本身的开放性加上

2018-01-20 13:20:29 12710

将DCM文件转换成.bmp或者.jpg文件格式

将dcm文件转换成bmp/jpg 文件,界面使用是mfc,源码博客会列出。

2017-11-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除