自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (16)
  • 收藏
  • 关注

原创 igb网卡的 link状态

在当前的环境中, 拔出SFP后,系统没有监测到media_type的变化, 中断未上报,只报了一些对i2c_read ERR的日志。这里对于copper,link状态在外部,由外部上报LSC中断,系统觉得是准确的,所以这里如果外部中断已经上报了,不需要再去读取link状态了。_dev_open则是在调用ifconfig up 的流程中调用的,所以 netif_running类似于管理状态的概念,这里有一个netif_carrier_ok(netdev): 这里最终是网卡link_up状态中设置的,见后面。

2024-04-15 17:24:47 492

原创 内核编译外部模块

hack_unlinkat.c是源文件,把Makefile放到源文件目录下,执行make.最后编 译出来的目标是hack_unlinkat.ko。-C $DIR kernel源码路径,编译过程中会改变该路径下内容,编译完成后回 退修改,还原到编译前。完全编译过的kernel,删掉其中的源文件(即.c文件),也可以编译外部模块。选项"M=<dir>"告诉kernel编译系统编译外部模块的源码路径。一、首先,编译外部模块,需要一个已经编译完成的内核。

2024-04-12 14:38:23 295

原创 linux的文件隐藏属性 专治手滑

有用户曾经在生产环境和 RHCE 考试题目中碰到过明明权限充足但却无法删除某个文件的情况,或者仅能在日志文件中追加内容而不能修改或删除内容,这在一定程度上阻止了黑客篡改系统日志的图谋,因此这种“奇怪”的文件也保障了 Linux 系统的安全性。linux系统开发人员几乎都通过后台操作文件,相信99%的同学都有过不小心删除文件之后无法找回的经历,今天介绍一下文件的隐藏属性,文件的隐藏属性可以让系统中的文件受保护,避免不小心被误操作。(+i参数)对于目录,只能修改子文件中的内容不能新建或删除文件。

2024-04-12 14:14:03 286

原创 文件操作 从VFS到设备驱动的流程

grab_cache_page_write_begin 根据pgoff_t index,在page_tree。file->f_op->write(ext4_file_operations..write_iter=ext4_file_write_iter ) 文件系统层。file->f_op->read(ext4_file_operations..read_iter=ext4_file_read_iter ) 文件系统层。copy_page_to_iter 会将内容从内核缓存页拷贝到用户内存空间。

2024-04-08 17:51:48 552 1

原创 LZ4格式及算法

B.Checksum 表示每个block 是否包含checksum。LZ4 就是直接利用lz77替换之后编码, 不使用huffman。EndMark后面的checksum。Data 压缩块由多个序列组成,序列快的压缩,解压过程参考。

2024-03-11 18:40:39 256 1

原创 windows 杂项

reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve 右键。3,对于分页内存来说,调用MmProbeAndLockPages以及MmGetSystemAddressForMdlSafe来锁定内存页,以防止被page out出去;第一,MDL的一个用法是提供驱动程序访问用户模式数据缓冲区的一种方式:直接I/O。1,分配一个buf,可能是分页或者非分页的;

2024-03-11 10:34:10 626

原创 中断 INTX 》MSI 》MSI-X

MSI 要求中断数是连续的,现在单个设备 32 个中断也不够用,所以引入了 MSI-X。MSI-X 不要求中断数是连续的,单个设备支持 2048 个中断。MSI-X 如何支持 2048 中断?配置空间如下:MSI-x 信息记录到BAR上面,每个中断会在BAR上有一条记录,中断信息在BAR上的记录的样子如下:每个中断都使用单独的“消息地址”字段和“消息数据”字段。

2024-03-08 14:05:17 874 1

原创 GZIP&Deflate 压缩格式

每一个压缩块都必须有一个块首部,但是每一个压缩块在最终输出的时候,下面三种编码格式(存储、静态、动态)只能用一种。45 2D F1 80 : 这四个字节是CRC32校验码,转换成正常读取的顺序“80 F1 2D 45”,),表示这是最后一个压缩块,如果没置上(该位是0),取模的结果(因为只能用四个字节存结果,所以只能对。:这四个字节是原始文件的大小,网络字节序,即。的文件体“基本”是一样的,因为它们都使用了。使用zip压缩,下面是压缩后的文件,的文件格式,这部分都是一样的,比如。

2024-03-07 15:55:48 696 1

原创 LZ77 与 Huffman

16”后面就是表示重复次数(注意区分“出现次数”)的数据,用2bit(两比特)记录,分别是“00,01,10,11”,对应的重复次数分别为“3,4,5,6”(重复次数不小于三次,所以这里从3开始,因为只用两位记录,所以最大的重复次数是6),如果6次之后紧跟着还有重复,那么就再来一个“16”并且后面跟着实际的重复次数即可;用一个数组来存放这个树,数组的每个元素存放二叉树中的层数,7,8的层数都是3,如何区分呢,那就是数值小的一定是左叶子节点,数值大的一定是右叶子节点。如果减小码字占用的bit位长度?

2024-03-07 15:28:21 753 1

原创 MSI MSIX

Message Address:存放MSI存储器写事务的目的地址,中断到来的时候,PCIE会向这个地址写message data数据。Msi-x table offset : 0-2bit表示table在第几个bar, 3-31表示在bar上的偏移量。0-7 是中断向量编号, 如果是MSI,则中断向量号连续,msi-x则不要求连续。1-3: 支持的中断数量,0b000=支持一个中断 0b001=支持4个中断。X86系统下,message address对应的LAPIC的地址。4-6: 使能的中断数量。

2024-03-05 16:43:01 293

原创 Windbg 常用命令

Windbg 常用命令 线程 内存 verify

2023-12-27 17:07:27 354 1

原创 RSA 原理

RSA 原理

2023-10-09 18:21:20 58 1

原创 ECDH 密钥交换

一张图 ECDH

2023-10-09 18:16:17 65 1

原创 ECDSA 签名 验签

ECDSA 签名 验签

2023-10-09 18:14:57 71 1

原创 TLS 笔记

TLS 过程介绍

2023-10-09 18:09:54 44 1

原创 git常用命令

git 常用命令

2023-02-23 08:46:45 103

原创 Linux 调度策略 SCHED_OTHER SCHED_FIFO SCHED_RR SCHED_BATCH SCHED_IDLE

Linux 调度策略的类型大致可以分为 TSS (分时系统)和实时系统这两种。一方面.一般的进程是通过分时运行的。也就是说.使用 CPU 的时间达到分配给进程的时间(时间片)时,就会切换到其他进程。这种分时运行的调度策略称为 TSS 。另一方面,在实时制约较严格且要求保证实时的处理中,就需要指定静态的执行优先级.并严格按照执行优先级进行调度。对这种对应答性有要求的进程,可以使用实时调度策略。另外,与 TSS 调度策略的进程相比. CPU将优先分配给使用用实时调度策略的进程。在 Linux中,进程..

2021-03-03 19:08:18 2600 1

原创 openssl RSA 编程

前面一篇讲到了密钥的格式,本文利用密钥进行加密,加密/解密都是类似的,本文只说加密。密钥加载有两个接口:PEM_read_RSA_PUBKEY加载PKCS#8文件头格式PEM_read_bio_RSAPublicKey加载PKCS#1文件头格式参数没仔细研究,第一个参数为文件句柄即可。加密接口:int RSA_public_encrypt(int flen, const unsigned char *from, unsigne...

2021-02-23 18:57:30 373

转载 37个最佳免费数据销毁软件程序

https://www.lifewire.com/free-data-destruction-software-programs-2626174

2021-02-23 18:24:27 1004

原创 RSA密钥格式解析 DER-PEM 转换代码

环境: ubuntu20.4 内核 5.10.10RSA是最常见的非对称加密算法,RSA的原理就不做介绍了,主要介绍一下密钥格式,linux 进行密钥转换编程。要学习RSA编码,首先需要理解RSA密钥的格式。RSA有公钥,私钥之分,公钥私钥都使用相同的语法格式。RSA的密钥有两种格式,PEM格式,DER格式PEM格式PEM格式包含几种报文头"-----BEGIN PUBLIC KEY-----": PKCS#8 格式公钥"-----BEGIN PRIVATE ...

2021-02-22 10:44:22 7753 6

原创 linux 常用磁盘操作搜集

查看UUIDls /dev/disk/by-uuid/* -l修改 UUIDtune2fs -U x /dev/sdaxmount命令参数mount /dev/sda1 /mnt-t:ext2linux目前常用的文件系统msdosMS-DOS的fat,就是fat16vfatwindows98常用的fat32nfs网络文件系统iso9660CD-ROM光盘标准文件系统ntfswindowsNT/2000/XP的文件系统...

2021-02-08 09:12:47 99

原创 linux启动流程1:实模式都干了啥

实模式是什么?实模式就是系统刚刚启动的时候,采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB的模式。在这个模式下,系统的资源还没有完全利用起来,主要是起过度作用。BIOS在主板上,有一个东西叫ROM(Read Only Memory,只读存储器)。ROM 是只读的,买到电脑时,上面就固化了一些初始化的程序,也就是BIOS(Basic Input and Output System,基本输入输出系统)。BIOS就是工作在实模式的(严重怀疑现在很多bios已经不是实模式

2021-02-05 19:54:06 337 1

原创 linux驱动加载 动态加载 静态加载 自动加载

概述在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载。静态加载就是把驱动程序直接编译进内核,系统启动后可以直接调用。动态加载利用了Linux的module特性,可以在系统启动后用insmod命令添加模块(.ko),在不需要的时候用rmmod命令卸载模块。驱动加载静态加载过程将模块的程序编译到Linux内核中,也就是咱们在编译内核时选择Y的模块,静态由do_initcall函数加载。先来看看initcall在哪里:核心进程(/init/main.c)...

2021-02-04 14:57:40 3327 1

原创 linux 5.10  x86 内核开发环境

linux 5.10 开发环境vmware虚拟机镜像基于最新ubuntu 20.4搭建源代码在/root 下面工具链完整链接:https://pan.baidu.com/s/1U7F6xu7OinrK7SGOHcLiVA提取码:9wrt复制这段内容后打开百度网盘手机App,操作更方便哦...

2021-01-26 16:43:36 162

原创 nwipe使用

nwipe --sync --rounds=3 --method=gutmann /dev/sdc-m, --method=METHOD The wiping method (default: dodshort). See man page for more details.dod522022m / dod - 7 pass DOD 5220.22-M methoddodshort / dod3pass - 3 pass DOD methodgutmann - Peter Gutman.

2021-01-20 12:30:32 399

libudev-241.tgz

libudev-241 源码

2021-07-21

nwipe_0.30.orig.tar.gz

linux 下磁盘擦除工具

2021-01-20

fapolicyd-1.0.2.tar.gz

fapolicyd linux 下黑白名单管理 黑名单禁止运行

2021-01-20

net-tools-1.60.tar.bz2

net-tools-1.60 源码

2021-01-06

i210-datasheet-v-3-5.pdf

The Intel® Ethernet Controller I210 (I210) is a single port, compact, low power component that supports GbE designs. The I210 offers a fully-integrated GbE Media Access Control (MAC), Physical Layer (PHY) port and a SGMII/SerDes port that can be connected to an external PHY. The I210 supports PCI Ex

2020-10-23

Linux version 3.10.0-514.el7.x86_64

Linux version 3.10.0-514.el7.x86_64 centos 内核源码 比较老版本的

2020-09-18

82599-datasheet-v3-4 (2).pdf

Intel® 82599 10 GbE Controller Datasheet 最最权威的资料 寄存器 EEprom的所有说明 一切的一切都在这里

2020-08-25

开源的AC算法 多模式匹配实现

开源的AC算法 多模式匹配实现 代码非常简单 清晰明了 适合新手学习,代码分析可以参照大神博文 一个开源AC算法源码分析

2017-12-07

dpdk-getting-started-guide.pdf

dpdk-getting-started-guide.pdf

2017-03-14

source insight 中文插件

source insight 中文插件,source insight 一直都无法显示utf-8的中文,安装这个插件以后就显示了,用法参见说明

2015-01-10

c++ STL 源码

CGI STL 源码阅读 结合STL 源码剖析解读

2012-05-14

gun c 与 ascii 的重要区别

gun c 与 ascii 的重要区别 初学linux必看

2010-05-16

opal-3.6.6.tar.gz

opal-3.6.6.tar.gz包括h323 sip 等协议

2010-05-15

ExtJS2·0入门级简明教程

ExtJS2.0实用简明教程 chm版教程包括ExtJS的新手入门、组件体系结构及使用、ExtJS中各控件的使用方法及示例应用等,是一个非常适合新手的ExtJS入门教程。本教程主要是针对ExtJS2.0进行介绍,全部代码、截图等都是基于ExtJS2.0。

2009-02-17

EclipseMe1.5.0 j2me开发工具.zip

EclipseMe1.5.0 j2me开发工具.zip 和Eclipse3.2 对应比较号

2008-11-20

libpng-1.2.14.tar.gz

以前的是tartar格式 我传个gz格式·

2008-10-22

空空如也

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

TA关注的人

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