自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 GitHub使用教程(三)-建立Git仓库并上传到GitHub中

一、在GitHub建立软件仓库1、如果你已经有了自己的GitHub账号,就可以进行登录,开始创建一个仓库。2、填写你的库名称和描述,然后点击绿色按钮creat repository创建项目。3、仓库创建成功以后就会进入下面这个页面,下面这个网址要记住,在后面上传代码的时候需要使用。二、通过Git建立本地仓库1、之前的教程中我们已经安装完成Git,在电脑桌面鼠标右键单...

2019-04-11 17:47:00 764

原创 GitHub使用教程(二)-安装Git

1、下载Git,官方地址为https://git-scm.com/download/win,我下载的版本是Git-2.21.0-64-bit2、下载完成以后双击开始安装。3、选择安装目录,我们这里按照默认,当然也可以修改为其他安装目录,选择好安装目录以后点击next4、选择组件,如果需要可以都选上,我们这里按照默认不做修改,然后点Next5、不创建启动文件夹,然后点...

2019-04-11 11:48:12 669

原创 GitHub使用教程(一)-申请GitHub账号

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。GitHub里面存储着丰富的优秀的开源代码。不仅如此,作为一款免费的代码存储利器也是流的一批,支持各种编程语言,代码显示效果堪称完美,可以随时随地查看自己记录的代码和笔记。一、进入GitHub官网百度搜索GitHub,或者直接点击https://githu...

2019-04-10 16:58:56 3224

原创 进击的MySQL(三)MySQL的安装和使用

1.MySQL的软件下载1、进到MySQL官网进行下载,我们选择下载最新的5.7版本。https://dev.mysql.com/downloads/mysql2、MySQL版本有两类,一种是免安装版的,一种是需要运行安装的,如下如所示,ZIP Archive就是属于免安装版本的,而MySQL Install MSI是需要运行安装的,所以我们点击Go to Download Page进...

2018-09-12 17:53:46 487

原创 进击的MySQL(二)数据库的分类

1.数据库的分类根据数据库存储介质的不同,可以将其分为两类,即:关系型数据库(SQL)和非关系型数据库(NoSQL,Not Only SQL)。      1.1举例关系型数据库:大型:Oracle、DB2 等;中型:SQL Server、MySQL 等;小型:Access 等。 非关系型数据库:Memcached、MongoDB 和 Redis 等。1.2...

2018-09-12 17:04:04 538

原创 进击的MySQL(一)数据库和SQL

1.什么是数据库大家想一下如下的场景·在电商网站把一些商品加入购物车,一段时间以后,我们会收到商品降价的短信或邮件。·登上自己的游戏账号以后,我们之前的道具和通关信息还都在。         这是因为电商网站和游戏厂商会把用户的商品信息、账号信息等保存到数据库中,一旦我们需要这些信息,我们还可以从大量汇总信息中快速获取我们所需要的信息。      像这样将大量数据保存起来,通过...

2018-09-12 16:59:01 220

原创 Net-snmp总结(六)-net-snmp源码分析

一、net-snmp源码分析Net-snmp代码的核心,就是初始化函数时,向代理(snmpd)注册了回调处理函数,当(snmpd)接收到一个snmp请求包时,它会先对包进行校验,如果校验不通过,会返回相应的错误。如果通过后,它会解析请求包,并把请求包的内容转换成请求结构(netsnmp_agent_request_info【包含请求包的pdu信息】,netsnmp_request_info【包

2017-11-08 14:49:38 10920 2

原创 Net-snmp总结(五)-net-snmp的MIBs扩展_添加trap

一、编写MIB文件这里我们建立一个mib文件,命名为TEST-TRAP-MIB.txt,放在/usr/local/net-snmp/share/snmp/mibs/目录下因为这个目录是snmpd的默认目录,只要把MIB库放入该目录就可以自动加载MIB库,否则需要修改snmpd.conf文件,自定义的MIB文件如下:--开始TEST-TRAP-MIB DEFINITIONS ::= BEG

2017-11-08 14:33:11 5971 2

原创 Net-snmp总结(四)-net-snmp的MIBs扩展_添加set

一、编写MIB文件这里我们建立一个mib文件,命名为TEST-SET-MIB.txt,放在/usr/local/net-snmp/share/snmp/mibs/目录下因为这个目录是snmpd的默认目录,只要把MIB库放入该目录就可以自动加载MIB库,否则需要修改snmpd.conf文件,自定义的MIB文件如下:--开始TEST-SET-MIB DEFINITIONS ::= BEGIN

2017-11-08 14:01:40 7840 5

原创 Net-snmp总结(三)-net-snmp的MIBs扩展_添加get

一、编写MIB文件MIB文件是用ASN.1语法来描述的,所以为了精确定义MIB中各管理对象,用户不得不参考一些ASN.1语法的有关文档如RFC1155、RFC1212等等来定义设备自己的MIB。ASN.1是抽象句法表示法一(Abstract SyntaxNotation One)的简称,对于每个管理对象它都用文本来描述,一般文件的后缀名都用“.mib”,在net-snmp中后缀名是“....

2017-11-08 09:58:29 7113 5

原创 Net-snmp总结(二)-net-snmp配置编译安装

一、下载net-snmp源码包netsnmp的源码包可以到net-snmp官网上去下载,http://www.net-snmp.org。二、解压net-snmp源码包 把下载好的压缩包net-snmp-5.7.3.tar.gz拷贝到linux系统中并解压。 [root@localhost jiangxin]# tar -zxvf net-snmp-5.7.3.tar.gz...

2017-11-04 17:30:43 7369 4

原创 Net-snmp总结(一)-snmp的基本概念

一、SNMP简单概述1.1、什么是Snmp  SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。  SNMP

2017-11-04 17:21:44 6629

原创 linux下搭建搭建svn服务器

1. 安装SVN服务器安装SVN服务器yum install –ysubversion       查看版本      svnserve--version2. 代码库创建安装完成后要建立SVN库# mkdir -p /icg/svndata/repo# svnadmin create /icg/svndata/repo执行后,查看/opt/svn/rep

2017-10-20 13:43:38 447

转载 二层交换、三层交换和路由的原理及区别

二层交换机:         二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体如下:(1)当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上;(2)再去读取包头中的目的MAC

2017-01-17 14:08:17 1777

转载 【wifi】一步提升无线网络上网速率

最近在做wifi芯片的干扰测试,测试项目包括同频干扰和邻频干扰。在实际测试中发现,同频干扰对无线网络的影响是相当大的,用chariot跑吞吐量,加两道干扰,没到干扰用chariot跑10条流,发现待测设备的吞吐量下降很明显,用Ominipeek抓包发现帧重传很高。其实,测试环境需要比较干净,我们在测试之前,都是先用inSSIDer工具看一下环境中的wifi信号,确定非测试干扰相对少的时间点

2016-09-20 15:05:44 830

转载 HG850开局说明与GPON工作原理

HG850开局说明与GPON工作原理一、 数据规划二、数据配置说明三、 对DBA;tcont;gemport理解1、增加DBA命令:DBA-profile add2、T-CONT3、GEM Port四、对整个工作过程的理解。一、数据规划语音VLAN 3999宽带PVLAN:2001;CVLAN 1901-1904视

2016-09-20 14:49:04 2203 1

转载 [Switch] VLAN-TAG超经典解释_有种豁然开朗的感觉

VLAN技术要点主要有两点:1.支持VLAN的交换机的内部交换原理;2.设备之间(交换机之间,交换机与路由器之间,交换机与主机之间)交互时,VLAN TAG的添加和移除。802.1Q VLAN只定义了数据帧的封装格式,即,在以太网帧头中插入了4个字节的VLAN字段。其主要内容为VLAN TAG,紧随其后的数据类型和802.1p报文优先级的标识。以太网帧格式

2016-07-29 13:50:39 9338

转载 C语言sscanf函数的总结

在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。以下源代码是本人测试的源文件,附带讲解注释。[cpp] view plain co

2016-04-18 11:12:13 515

转载 DHCP过程描述(双版本)

(傻瓜版)在开启了 DHCP 服务的网络中,一台电脑开机获取 IP 一般需要以下 4 个过程一、发现,Discover向整个网络广播:“大家好,我是新来的(假设MAC=22:22:22:22:22:22),谁是DHCP服务器?请为我分配IP”过程:ETH -22:22:22:22:22:22 => FF:FF:FF:FF:FF:FF (广播,因为不知道谁是服务器

2016-03-09 15:46:47 686

原创 使用proc_create创建proc文件

下面这个例子是使用seq_file接口实现可读写proc文件的例子,适用于3.10以后的内核,这和之前创建proc文件的函数实现上有很大差别,3.10以前的内核调用create_proc_entry,3.10以后的内核调用proc_create。proc.c/************************* * 使用seq_file接口实现可读写的proc文件 * 功能同proc_t

2016-03-09 11:54:46 7870

转载 linux驱动开发流程

嵌入式linux驱动开发流程嵌入式系统中,操作系统是通过各种驱动程序来驾驭硬件设备的。设备驱动程序是操作系统内核和硬件设备之间的接口,它为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,可以像操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,完成以下功能:◇ 驱动程序的注册和注销。◇ 设备的打开和释放。◇ 设备的读写操作。◇ 设备的控制操作

2016-03-09 09:17:39 521

原创 将多个源文件编译成一个ko

有三个文件,分别是proc_rw.c、test.c和test.h,现在把这三个文件编译成proc.ko1、proc_rw.c#include #include #include #include //copy_to|from_user#include "test.h"//在str中存储用户态write到文件的字符串static char *str;//proc文件的读

2016-03-08 17:26:02 1361 1

原创 proc文件系统

1.proc文件系统proc文件系统是由内核实现的文件系统。当用户态访问/proc下文件时,实际上是调用内核中和该文件对应的特定函数。一般用proc文件来实现内核/驱动的调用。大部分proc文件是只读的,用于获取内核信息;还有一些proc文件是可写的,当用户态改变了proc文件的内容时,会调用内核的函数,从而改变内核的对应行为。这些可写的文件,一般集中在/proc/sys下

2016-03-08 15:12:26 526

转载 C语言#line预处理

成于坚持,败于止步#line 的作用是改变当前行数和文件名称,它们是在编译程序中预先定义的标识符命令的基本形式如下:#line number["filename"]其中[]内的文件名可以省略。例如:#line 30 a.h(其中,文件名a.h 可以省略不写)#line指令改变__LINE__和__FILE__的内容。__LINE__和__FILE__都是

2016-03-03 16:46:09 569

原创 linux虚拟机安装dhcp server

1、  DHCP搭建前期工作准备在虚拟机VM->setting里如下图选择网卡选项为bridge  2、  安装DHCP,在虚拟机下有如下步骤首先查看系统中是否安装dhcp服务端,貌似只有dhcpv6的客户端[root@localhost jiangxin]# yum -yinstall dhcp //安装dhcp服务器出现如下提示表示安装完成查看dhc

2016-02-29 18:24:51 3955

转载 Linux动态链接库的使用

1、前言  在实际开发过程中,各个模块之间会涉及到一些通用的功能,比如读写文件,查找、排序。为了减少代码的冗余,提高代码的质量,可以将这些通用的部分提取出来,做出公共的模块库。通过动态链接库可以实现多个模块之间共享公共的函数。之前看《程序员的自我修养》中讲到程序的链接和装入过程,这些玩意都是底层的,对于理解程序的编译过程有好处。http://www.ibm.com/developerwor

2016-02-25 15:03:22 461

原创 虚拟机登录fedora10桌面系统时报错:No space left on device

今天登陆虚拟机上的Fedora10时,出现了如下错误,应该是无法加载桌面进程,硬盘空间不足,怎么进也进不去。Opps, sealert hit an error!Traceback (most recent call last):  File"/usr/bin/sealert", line 949, in     print >> sys.stderr,"could not att

2016-02-22 14:19:48 870

原创 error while loading shared libraries: libpcap.so.1 解决方法

错误提示:error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory环境:fedora 7   libpcap-1.2.1操作:代码由C编写,gcc编译通过,以管理员权限运行,出错在网上搜罗了下,成功解决问题

2015-12-22 15:40:57 7937 1

原创 linux内核通知链原理及应用

一、linux内核通知链介绍         内核的很多子系统(例如:进程调度、内存管理、虚拟文件系统、路由子系统等)之间具有很强的相互依赖性,因此,其中一个子系统侦测到的或者产生的事件,其他子系统可能都有兴趣,为了完成这种交互需求,linux使用了所谓的通知链(notification chain)    注意:通知链只在内核子系统之间使用,内核和用户空间之间的通知信息则是依赖其他机

2015-12-21 17:40:00 940

转载 一个计算机毕业生的经历

(本来这篇文章是要发表到学校的贴吧的,但一直审核不过,算了,还是发这儿吧!阉割若干内容,因为针对的不是学弟学妹。)  07年进入大学,计算机系是在青云谱(又叫岱山)。刚入学时军训,军训了两天,听一个大三的学哥说,不用军训没事的。然后,就和宿舍的哥们天天去网吧玩游戏,那个时候周边有许多网吧,都是一元钱一小时,办会员的话大概7、 8毛吧。不知道现在什么价位了。  入校参加了计算机协会,

2015-11-12 15:16:45 845

转载 交换机和路由器的数据包转发流程简述

当交换机收到一个数据包时;交换机会将这个数据包包头的目的MAC信息提取出来,与自身的MAC地址表比较;情况一:如果找到对应项,则按MAC表进行转发;情况二:如果没找到对应项,则在除了接收到数据包以外的所有端口进行转发(广播);解释:MAC地址表 是MAC地址与端口对应的关系表;即某个MAC地址连接在某个端口;问题:当情况二发生时,需要在其他所有端口进行广播(这样做其实很不好

2015-11-12 15:09:44 1096

转载 Wireshark入门:第一次亲密接触

本篇文章转载自-- 林沛满的博客 http://blog.sina.com.cn/linpeiman 很多年前,当笔者还是少年的时候,就在家里搭建过Windows Domain, Linux与Windows相互共享,交换机和路由器的虚拟环境等。因为读书百遍,其义往往不能自见。唯有亲自动手,解决实验中碰到的问题,才可能真正学会一门技术。尤其是网络协议,很多时候自以为理解了,做过实

2015-11-02 17:44:12 1330

原创 execv函数使用

1.函数原型 #includeint execv(const char *path, char *constargv[]);   2. 用法介绍execv会停止执行当前的进程,并且以path应用进程替换被停止执行的进程,进程ID没有改变。 path: 代表文件的路径argv: 传递给应用程序的参数列表, 注意,这个数组的第一个参数应该是应用程序名

2015-10-26 18:23:34 10492

转载 指针数组和数组指针的区别

这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。in

2015-10-26 10:53:29 359

原创 VLAN帧格式

这四个字节的802.1Q标签头包含了2个字节的标签协议标识(TPID)和2个字节的标签控制信息(TCI)。 TPID(Tag ProtocolIdentifier)是IEEE定义的新的类型,表明这是一个加了802.1Q标签的帧。TPID包含了一个固定的值0x8100。 TCI是包含的是帧的控制信息,它包含了下面的一些元素:Priority:这3 位指明帧的优先级。一共有8种优先

2015-09-29 15:15:04 33071

转载 tcp/udp端口说明

有过一些黑客攻击方面知识的读者都会知道,其实那些所谓的黑客并不是像人们想象那样从天而降,而是实实在在从您的计算机"大门"中自由出入。计算机的"大门"就是我们平常所说的"端口",它包括计算机的物理端口,如计算机的串口、并口、输入/输出设备以及适配器接口等(这些端口都是可见的),但更多的是不可见的软件端口,在本文中所介绍的都是指"软件端口",但为了说明方便,仍统称为"端口"。本文仅就端口的基础知识进行

2015-09-29 15:01:03 1594

转载 Linux DM9000网卡驱动程序完全分析

版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。说明1:本文分析基于内核源码版本为linux-2.6.31 说明2:本文在理解了linux中总线、设备和驱动模型的基础上加以分析代码 虽然Linux驱动程序应该是和具体的硬件平台分离的,但是为了更好的理解DM9000的驱动程序,这里还是结合一下Mini2440开发板,这样也可以更好的体会如

2015-09-10 11:38:15 489

转载 Linux驱动加载顺序

Linux内核为不同驱动的加载顺序对应不同的优先级,定义了一些宏:include\linux\init.h#define pure_initcall(fn)   __define_initcall("0",fn,1)#define core_initcall(fn)   __define_initcall("1",fn,1)#define core_initcall_syn

2015-09-10 10:47:32 554

转载 OMCI协议二层功能的模型选择

我们知道有两种大的二层功能,即MAC桥以及802.1p映射。MAC桥是IEEE 802.1D描述的,有许多的特性,可以基于MAC地址透明转发(True bridging)或VLAN characteristics(利用VLAN filter)。而映射功能描述了一个用户侧实体到1到8个网络侧流标记的关系。那种映射与只利用VLAN标记中pbit字段作为VLAN filters的MAC桥是相等的。

2015-09-08 17:55:14 3979

转载 Linux内核数据包处理流程-数据包接收

if (dev->quota poll(dev, &budget)) {                        netpoll_poll_unlock(dev);                                                /*处理完成后,把设备从设备链表中删除,又重置于末尾*/                        local_i

2015-09-02 17:17:47 1236

超声波测距

一种测距的实现方法,用1602显示测出的距离

2012-02-14

MAX7219应用实例

这个程序可以让你迅速了解max7219的工作原理和显示方法。

2011-08-21

空空如也

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

TA关注的人

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