自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刚刚起步的菜鸟

大牛也是菜鸟慢慢的培养起来的。

  • 博客(76)
  • 资源 (7)
  • 收藏
  • 关注

原创 谈一谈入门 IOT 安全都需要什么

首先我们来看看 iot 是有什么构成的目前 iot 设备所面临一些安全问题:iot 安全就相当于一个安全的集合了如何入门 IOT 安全?需要什么东西?iot 安全和其他安全不太一样,他需要很多专业的设备进行研究和测试使用,结果就劝退很多想入门的小伙伴,接下来我们看一张图你就知道了说完“硬”环境再说说“软”环境也就是研究 iot 安全的人需要什么能力?目前 iot 安全研究大致分为三大部分:1.固件分析方向2.硬件方向3.无线电方向每个方面对应不同的能.

2020-05-26 19:27:42 2153

原创 嵌入式操作系统的内存,你了解多少?

linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。从内存的原理和结构,到内存的算法优化,再到使用场景,去探寻内存管理的机制和奥秘。一、走进 linux 内存1、内存是什么?1)内存又称主存,是 CPU 能直接寻址的存储空间,由半导体器件制成2)内存的特点是存取速率快2、内存的作用1

2020-05-26 17:47:14 2070

原创 内存管理

内存分配方式1.1 内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用 malloc 或 new 申请任意多少的内存,程序员自己负责在何时用 free

2020-05-18 10:06:17 238

原创 windows使用curl命令

windows中使用curl命令需要下载curl工具下载地址:http://curl.haxx.se/download.html请选择不带SSL的版本,否则还需要安装SSL的支持包我下载的版本 http://www.paehl.com/open_source/?CURL_7.28.1下载后解压,将exe文件拷贝到 C:\windows\system32目录下即可在cmd中直接调用...

2019-12-13 09:42:24 475

原创 linux几种常见的文件内容查找和替换命令

1、vi命令下的查找和替换1.1 vi下的查找/hello<Enter> :向下查找hello匹配字符串?hello<Enter>:向上查找hello匹配字符串使用了查找命令之后,使用如下两个键快速查找:n:按照同一方向继续查找N:按照反方向查找hello是需要匹配的字符串,例如:/name<Enter> #查找name/nam...

2019-08-15 19:18:56 17049 1

原创 qrencode的安装和使用

qrencode编译需要libpng库,而libpng库依赖zlib库,所以得依次安装zlib、libpng、qrencdoe。1、从http://zlib.net/下载zlib库tar -xvf zlib-1.2.11.tar.gz,进入zlib-1.2.11文件夹./configuremakemake install2、从http://sourceforge.ne...

2019-03-26 13:58:50 2418

原创 如何挂载一个Read-only的目录

cp -rf /usr/local/bin/ /tmp/mount -t tmpfs tmpfs /usr/local/bin(-o size=8m{可以申请大小} mount完这个bin目录就会消失)cp -rf /tmp/bin/* /usr/local/bin

2018-12-25 16:01:19 651

原创 linux高精度struct timespec 和 struct timeval

一、struct timespec 定义:typedef long time_t;#ifndef _TIMESPEC#define _TIMESPECstruct timespec {time_t tv_sec; // seconds long tv_nsec; // and nanoseconds };#endifstruct timespec有两个成员,一个是秒,一个是纳秒...

2018-12-22 14:22:23 902

原创 localtime、localtime_s、localtime_r的使用

a.localtime用来获取系统时间,精度为秒#include &lt;stdio.h&gt;#include &lt;time.h&gt; int main(){ time_t time_seconds = time(0); struct tm* ptm = localtime(&amp;time_seconds); printf("%04d-%02d...

2018-12-20 16:29:51 3318

原创 Linux字符集的查看及修改

一·查看字符集 字符集在系统中体现形式是一个环境变量,以RedHat为例,其查看当前终端使用字符集的方式可以有以下几种方式:第一种: 1 2 [root@Testa-www tmp]# echo $LANG zh_CN.UTF-8 第二种: 1 2 [root@Testa-www ~]# en...

2018-12-06 10:15:23 10757

原创 VMware虚拟机三种网络模式详解 --------- NAT(地址转换模式)

二、NAT(地址转换模式)刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪...

2018-12-01 23:30:09 2129

原创 VMware虚拟机三种网络模式详解---------Bridged(桥接模式)

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机...

2018-12-01 21:07:29 474

原创 vi/vim 中如何在每行行首或行尾插入指定字符串

行首 :%s/^/your_word/行尾 :%s/$/your_word/按键操作:注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如”#”,再按Esc,就会全部注释了。删除:ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号(#)。PS:当然不一定是shell的注...

2018-11-29 13:32:57 7650

原创 openssl rsautl

用途:本指令能够使用RSA算法签名,验证身份,加密/解密数据。用法:openssl rsautl [-in file] [-out file] [-inkey file] [-passin arg] [-keyform PEM|DER|NET] [-pubin] [-certin][-asn1parse] [-hexdump] [-raw] [-oaep] [-ssl] [-pkc...

2018-11-08 17:22:02 4068

原创 进制转换函数

#define TOLOWER(x) ((x) | 0x20) #define isxdigit(c) (('0' &lt;= (c) &amp;&amp; (c) &lt;= '9') || ('a' &lt;= (c) &amp;&amp; (c) &lt;= 'f') || ('A' &lt;= (c) &amp;&amp; (c) &lt;= 'F'))#define isdig...

2018-10-16 20:29:32 1324

原创 OpenSSL API

/** * @file cert_openssl.c * @brief 利用openssl api处理证书 * @author zy * @date 2014-10-11 modify */#include &lt;stdio.h&gt;#include &lt;unistd.h&gt;#include &lt;openssl/pem.h&gt;#include &lt;ope...

2018-10-12 16:35:59 3947

原创 dmesg七种用法

dmesg 命令的使用范例‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作系统中都可以使用。下面我们展示一些最负盛名的‘dmesg’命令工具以及其实际使用举例。‘dmesg’命令的使用语法如下。# dmesg [options...]...

2018-09-04 15:55:40 2095

原创 linux进程间通信--消息队列相关函数(ftok)详解

ftok消息队列、信号灯、共享内存常用在Linux服务端编程的进程间通信环境中。而此三类编程函数在实际项目中都是用System V IPC函数实现的。System V IPC函数名称和说明如下表15-1所示。表15-1 System V IPC函数   消息队列 信号灯 共享内存区 头文件 ...

2018-08-10 17:01:58 311

原创 openssl 摘要和签名验证指令dgst使用详解

1、信息摘要和数字签名概述信息摘要:对数据进行处理,得到一段固定长度的结果,其特点输入:1,输出长度固定。即输出长度和输入长度无关。2,不可逆。即由输出数据理论上不能推导出输入数据如图4所示,对输入数据敏感。当输入数据变化极小时,输出数据也会发生明显的变化5,防碰撞。即不同的数据数据得到相同输出数据的可能性极低。由于信息摘要有上述特点,一般保证数据的完整性,对一个大文件进行...

2018-07-30 16:10:33 1393

原创 shell结合expect写的批量scp脚本工具

expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了。在部署一个任务时,其中有一项必须的过程就是将一些文件,如安装包发送到大量的服务器上去。虽然已有宇哥的脚本可用:通过paramiko模块提供的ssh和scp功能编写的pytho...

2018-07-25 10:46:04 591 1

原创 openssl sign

Step1:用openssl生成一对公钥/私钥rsa2048openssl genrsa -des3 -out root.pem 2048Step2:签名openssl dgst -sign root.pem -sha256 -out sign.txt file.txtStep3:手动将公钥,私钥取出1)提取公钥openssl rsa -in root.pem -out pub.p...

2018-07-19 15:34:04 5604

原创 sscanf()用法简介

#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; int main(){ char str[100]; //用法一:取指定长度的字符串 sscanf("12345","%4s",str); printf("用法一\nstr = %s...

2018-07-17 10:25:25 590

原创 android系统的分区结构

(一)Android的主要分区Modem分区bootloader分区boot分区recoverty分区system分区data分区1. modem分区    a) 实现手机必需的通信功能,大家通常所的刷RADIO就是刷写modem分区,在所有适配的ROM中这部分是不动,否则会造成通话不稳定;2. bootloader分区    a) bootloader的primarybootloader部分,主...

2018-07-05 11:11:28 16957 1

原创 深入理解C语言内存管理

之前在学Java的时候对于Java虚拟机中的内存分布有一定的了解,但是最近在看一些C,发现居然自己对于C语言的内存分配了解的太少。问题不能拖,我这就来学习一下吧,争取一次搞定。 在任何程序设计环境及语言中,内存管理都十分重要。内存管理的基本概念分析C语言内存的分布先从Linux下可执行的C程序入手。现在有一个简单的C源程序hello.c1 #include &lt;stdio.h&gt;2 #i...

2018-05-22 16:43:08 4308 1

转载 如何利用Telnet连接Linux服务器

转载https://jingyan.baidu.com/article/8cdccae97b712a315413cd8c.html 

2018-04-24 15:49:21 10641

原创 Linux Shell 脚本

Q:1 Shell脚本是什么、它是必需的吗?答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。Q:2 什么是默认登录shell,如何改变指定用户的登录shell答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的。使用...

2018-03-27 15:44:54 186

原创 四种方法检测你的 Linux 是32位还是64位

1. 执行‘uname -a’ 命令最常见的一个测试方法是运行uname command命令。例如,在我的系统里,它显示了以下信息:$ uname -a Linux ubuntu 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686 athlon i686 GNU/Linux那个高亮的i686(or 有时候会是i...

2018-03-21 15:34:58 974

原创 java读写文件操作

public static void readFileByBytes(String fileName) {      // 一般先创建file对象      FileInputStream fileInput = null;      try {          File file = new File(fileName);          if (!file.exists()) {     ...

2018-03-19 11:21:05 336

原创 VMware 虚拟机安装 Red Hat Enterprise Linux 5

1.文件----新建虚拟机,选择自定义也可以,自定义稍微比较复杂,怕麻烦的直接用典型就行了,这里直接选择【典型】;2.安装来源,选择【稍后安装操作系统】,点击下一步;3.客户机操作系统选择 Linux ,版本选择 Red Hat Enterprise Linux 5 ,如果需要安装64位,选择 Red Hat Enterprise Linux 5 64版本,点击下一步;4.虚拟机名字为了方便识别用...

2018-02-26 19:13:45 1176

原创 超全的 Linux 机器的渗透测试命令备忘表

命令描述netstat -tulpn在 Linux 中显示对应了进程ID(PID)的网络端口。watch ss -stplu通过套接字实时观察 TCP, UDP 端口。lsof -i显示确认了的连接。macchanger -m MACADDR INTR在 KALI Linux 上修改 M

2018-02-07 15:04:10 204

原创 Linux命令之md5sum

1. 背景在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是

2018-01-30 16:57:00 1169

原创 Tomcat在Linux上的安装与配置

Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK与Tomcat. jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-18

2018-01-19 10:11:03 184

原创 linux压缩和解压缩命令大全

tar命令  解包:tar zxvf FileName.tar  打包:tar czvf FileName.tar DirNamegz命令  解压1:gunzip FileName.gz  解压2:gzip -d FileName.gz  压缩:gzip FileName  .tar.gz 和 .tgz  解压:tar zxv

2017-04-17 09:35:21 316

转载 tuxedo管理命令之tmadmin

tmadmin 用来查看TUXEDO的运行情况。在tmadmin命令界面中可以使用如下命令:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~psr为printserver命令的简写,监控服务器运行情况,查看处理的请求数目、忙闲程度。参数如下:-m machine LMID为 machine的所有服务进程-g

2017-03-16 16:08:51 2123

原创 Linux网络编程之socket文件传输示例

这篇文章主要介绍了Linux网络编程之socket文件传输示例,对于基于Linux平台的C程序员来说有一定的借鉴价值,需要的朋友可以参考下本文所述示例程序是基于Linux平台的socket网络编程,实现文件传输功能。该示例是基于TCP流协议实现的socket网络文件传输程序。采用C语言编写。最终能够实现传输任何格式文件的文件传输程序。具体实现代码如下:Server端代码如下

2016-11-30 22:32:47 699

原创 OSI七层模型各层分别有哪些协议及它们的功能

在互联网中实际使用的是TCP/IP参考模型。实际存在的协议主要包括在:物理层、数据链路层、网络层、传输层和应用层。各协议也分别对应这5个层次而已。要找出7个层次所对应的各协议,恐怕会话层和表示层的协议难找到啊。。       【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来

2016-11-23 14:39:14 30710 2

原创 C中的volatile用法

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1) 并行设备的硬件寄存器(如:状态寄存器) 2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables

2016-11-23 14:19:22 295

原创 linux下用core和gdb查询出现"段错误"的地方

有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误"。呵呵,这种问题我想很多人会经常遇到。遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自己写的代码没问题,现实就是现实。下面介绍一种方法,可以有效的定位出现"段错误的地方"。当我们的程序崩溃时,内核有可能把该程序当前内存映射到c

2016-11-20 01:25:03 375 1

原创 Linux中查找命令总结

findfind是最常使用和最强大的查找命令,可以找到任何想查找找的文件用法如下:$find如果不加参数,默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件)实例:$find/home-name'a*'搜索home目录(含子目录)中所有文件名以a开头的文件$find/home-name'a*'-ls搜索hom

2016-11-20 01:23:03 230

原创 详解Linux 文件与目录管理

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。在开始本教程前我们需要先知道什么是绝对路径与相对路径。绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。相对路径:路径的写法,不是由 / 写起,例如由 /usr/share/do

2016-11-20 01:21:53 274

国泰新点笔试题目

国泰新点笔试题目

2016-12-22

高伟达面试题

高伟达面试题目

2016-12-04

中新赛克的面试题目

中新赛克面试题目

2016-11-27

华为面试题

华为嵌入式面试题目

2016-11-23

内核驱动问答

驱动常考面试常问的类型

2016-11-23

LINUX内核经典面试题

驱动面试题

2016-11-23

c语言面试大全

c语言面试宝典。笔面试都很重要的常考知识点!

2016-11-15

空空如也

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

TA关注的人

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