自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

双林子木

不积跬步,无以至千里!

  • 博客(17)
  • 收藏
  • 关注

原创 Wireshark(2)-协议分析的起点

数据的读入Wireshark数据的读入分为两种,一种是直接从网卡读入实时的报文数据,另一种是读取被保存为文件的报文数据。先来分别看下这两种方式有何区别。网卡输入从网卡流如的数据是通过dumpcap调用libpcap或winpcap抓取的,而抓取到数据后其通过管道将数据传输到主进程再进行处理,其过程大概如下: 从上图可以看到,在Wireshark抓包时,数据包实际上是由

2018-02-07 16:22:11 1688

原创 Wireshark(1)——初始化

Wireshark整体结构 Wireshark主要由6个模块构成,分别是:GUI:这个模块主要用于用户图形界面显示CORE:这个模块包含了将其它各个模块联结起来的共同工作的核心逻辑Epan:这个模块是数据包分析的核心部分,其中包含了协议栈,以及各个协议分析的实现以及过滤器等Wiretap:这个模块实现了读写各种数据包文件的接口及逻辑抽象Dumpcap:wireshark

2018-02-06 14:18:05 2250

原创 设计之美-链表与队列

数据结构概述随着计算机科学的发展,人们在计算机的各个领域创造了许多前所唯有的东西,在软件领域,在追求算法效率的同时与其紧密相连的就是数据结构。好的数据结构不仅可以有效的管理计算机中的所有数据,同时还能为为算法的设计上提供了许多意想不到的好处,因此许多高效的算法都是依赖其特定的数据结构对所操纵的数据进行组织的。即使现如今计算机硬件仍然遵循摩尔定律在高速发展着,但人类的需求总是大于硬件发展所能提供的性能

2017-08-03 01:15:46 2147

原创 DPDK之环境抽象层(1)

概述DPDK的设计目标是设计一个能够开发一个快速高效的数据平面应用的简单而完整的框架。用户能够自由地在DPDK的基础上构建他们自己的协议栈或其他系统。 基于以上这些现实,DPDK在架构设计、数据包处理以及平台的优化上做了很多相适应的优化和改进。DPDK在设计上采取一种简单的原则,所有的模块设计都围绕EAL这个核心来进行,通过EAL提供的同一接口,DPDK将各种硬件和实现上的差异对用户隐藏。DPDK

2017-07-29 22:19:23 2467

原创 DPDK之初识与环境搭建

DPDK是什么?Intel® DPDK全称Intel Data Plane Development Kit,是intel提供的数据平面开发工具集,为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于Linux系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。基于DPDK开发的服务或应用都运行与Linux的用户空间,这样大大增

2017-07-29 12:00:20 5637

翻译 Unsupervised Feature Learning and Deep Learning

机器学习与深度学习的理论知识 http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial

2017-03-17 16:58:42 445

原创 编译工具之makefile的常用函数

字符串操作函数wildcard用法:$(wildcard pattern…)描述:匹配任何满足匹配规则的文件返回:返回包含所有匹配项的字符串subst用法:$(subst from,to,text)描述:将text中匹配from的字符替换为to返回:被替换后的字符串例子: $(subst ee,EE,feet on the street)结果: ‘fEEt on the

2017-03-10 16:36:27 4850

原创 C语言进阶:串口

物理特性定义串行通信接口的基本任务实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务.在异步通信方式下,接口自动生成起止式的帧数据格式.在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符;进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据.所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行

2017-03-09 13:36:10 1087

原创 操作系统实战之CPU的模式切换与Linux上的实现

概述这儿我们以x86-64为例,通常情况下我们使用的都是压缩内核,也就是经过压缩的内核,内核外面被添加了一段自解压程序。对于压缩内核,从引导程序引导后首先运行的是那段字节压程序,其入口为arch/x86/boot/compressed/head_64.S中的startup_32。从那儿开始,将会配置解压内核所需要的环境并解压和跳转到内核。Grub引导到内核启动各阶段CPU的控制寄存器状态如下表:

2017-03-01 11:13:33 2877

原创 编译工具之cmake

简介这儿我们援引自cmake官网(https://cmake.org/overview/)来初步认识cmake是什么东西。CMake是一个操作系统平台无关和编译器无关的用于管理编译(构建)过程的一个可扩展、开源系统。不像大多数跨平台系统,CMake可以与本地构建环境协同作业。将简单的配置文件放置在源码路径(CMakeLists.txt)用来生成标准的编译文件(Unix系统中生成makefile,

2017-02-27 20:49:39 4201

原创 Micernel构建日记——第一天

概述Micernel的设计目的是为了了解操作系统技术,深入的去理解当今计算机领域发展所取得的各种技术突破与成就。同时以现代操作系统技术为基础,去探索在操作系统与AI更紧密结合相互发展的方式方法。现代操作系统发展至今已经有了更多不同的思路与技术突破,同时很多人也没有一个很好的方法去深刻的理解其中的各种技术。本着知其然必知其所以然的原则,去重走一遍操作系统构建之路,在这其中希望能获得更多新的思路,萌生

2017-02-23 10:04:56 1761 1

原创 互联网服务器技术及开源项目

服务器缓存系统memcached(group cache)、redis、mongodb、Couchbase(CouchDB、Membase、CouchOne)http缓存varnish、nginx、traficserver、squid负载均衡lvs、f5、nginx、haproxy代理nginx集群操作系统(运行在单机系统上)Mesos集群管理KubernetesWeb服务器nginx、lighth

2017-02-19 14:47:49 1725

原创 通信协议之YMODEM

是什么YMODEM是发源于XMODEM/CRC的早期应用在调制解调器上的协议,它的产生是为了解决XMODEM协议的如下缺点:单次传输字节少8bit校验影响了传输的可靠性传输文件过程中可能最多累计会产生127byte的无效字节的传输传文件会丢失文件的修改日期信息   正因为XMODEM协议有如上这些缺点,所以,YMODEM在此基础上,优化解决了以上这些缺点,并且尽可能地使得协议变得更简单。

2017-02-17 10:02:56 8797 1

原创 操作系统实战之从裸机到内核(x86-64)

裸机与引导程序  裸机是什么?     裸机其实就是不包含操作系统的计算机,若是定义的更严格一点,那可以说是不包含任何应用程序的计算机。但对PC来讲,PC出厂时都是被厂商烧入了BIOS的,所以裸机的叫法一般就指只包含BIOS的计算机了。   x86平台的引导     x86平台的引导对于很多有心人应该在网络上很多地方了解过了,但要说操作系统却总是避免不了说的这些,所以这儿就以尽量简单易懂的方式

2017-02-13 19:56:37 6770

原创 linux的那些事儿之链接脚本(link script)

基础概念object file——ld链接器的输入文件executable——ld链接器的输出文件section——每个节都有名字和大小,大部分节以一块数据区相联系,一个节包含可加载,可分配等属性,如果及不可加载,也不可分配,可能包含的是调试信息VMA——虚拟内存地址LMA——线性内存地址,一般与VMA值相同symbol table——符号表,包含程序中所有的符号定义,如果未定义某符号,

2017-02-05 16:43:11 4708

原创 操作系统实战之操作系统不是一天造成的

说起操作系统,大家脑海中最先闪现的可能是windows,linux等现在流行的操作系统,并且很多初学者与外行人也只是局限在那精美的图形界面上,而对于更多深层次的东西却知之甚少。今天我们就来讲讲关于操作系统的那些事儿。

2017-02-05 15:20:44 448

原创 C语言进阶:glibc学习之错误处理

glibc学习之错误处理本文为glibc参考手册的学习笔记,其中有遗漏或描述不清晰的地方,仅供个人学习记录之用。错误检查错误代码错误相关函数*相关例子错误检查 Most library functions return a special value to indicate that they have failed. The special value is typically -1

2015-08-04 19:22:55 455

空空如也

空空如也

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

TA关注的人

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