
Linux
文章平均质量分 89
Linux Operating System
CodeStarr
Make good use of your time
展开
-
Zabbix学习笔记
文章目录1. 简介监控内容zabbix专有词汇组件2. 使用安装监控一个主机3. 参考资料官网:Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution文档:Zabbix ManualGit仓库:https://github.com/zabbix/zabbix1. 简介一个基于C/S架构的企业级分布式开源监控解决方案:支持主动轮询(polling)和被动捕获(trapping);Server端基于c,前端基于原创 2022-04-18 19:42:10 · 596 阅读 · 0 评论 -
Glibc编译及调试
文章目录1. 获取glibc源码2. 配置及编译安装结果3. 源码调试gdbvscode1. 获取glibc源码官网:https://www.gnu.org/software/libc/https://www.gnu.org/software/libc/sources.htmlFTP:https://ftp.gnu.org/gnu/glibc/编译教程:https://sourceware.org/glibc/wiki/Testing/Builds手册:https://www.gnu.or原创 2022-04-07 16:35:19 · 3467 阅读 · 0 评论 -
Linux静态库动态库的编译
文章目录0. 源码库主程序1. 静态库制作步骤Makefile优缺点2. 动态库制作步骤Makefile动态加载0. 源码目录:$ tree CTest/CTest/├── include│ └── foo.h├── lib├── main.c├── Makefile└── src ├── foo.c └── Makefile库foo.h:#include <stdio.h>int g_nShared;int g_nTmp;void fu原创 2022-04-07 14:56:33 · 843 阅读 · 0 评论 -
ASAN内存校验器
文章目录1. 简介ASAN原理2. DemoUAFHeapOutOfBoundsStackOutOfBoundsuseAfterReturnuseAfterScopec++静态初始化顺序问题内存泄露3. 其它参考文章1. 简介Windows wdk提供了verifier校验器,用于排查内存泄漏等不好发现和定位的问题。Linux上的校验器就比较多了,如:Dr.Memory, 检测未初始化的内存访问、double free、use after free 等错误;Mudflap, 检测指针的解引用,静原创 2022-04-03 16:55:36 · 5892 阅读 · 0 评论 -
GDB笔记
文章目录一. 环境vscode远程调试二. 文档目录2. Getting In and Out of GDB3. GDB commands4. Running Programs Under GDBAttachinferior快照5. Stopping and ContinuingGDB的4种断点5.2 Continuing and Stepping8. Examining the Stack10. Examining Data(!!!!!!)10.6 [Examining Memory](https://s原创 2022-03-17 19:52:38 · 997 阅读 · 0 评论 -
ELF链接原理
文章目录1. 示例代码2. 静态链接链接过程静态链接库3. 动态链接PICGOT与PLT延迟绑定Lazy Binding1. 示例代码// mainextern int g_nShared;extern void func(int *a, int *b) ;void main(void) { int n = 2; func(&n, &g_nShared);}// func.c#include<stdio.h>int g_nShared原创 2022-03-15 23:43:35 · 619 阅读 · 0 评论 -
Linux的5种IO模型
文章目录1. 阻塞IO模型2. 非阻塞IO模型3. 信号驱动IO模型4. IO复用模型5. 异步IO模型1. 阻塞IO模型这是最简单的 I/O 模型,一般表现为进程或线程等待某个条件,如果条件不满足,则一直等下去。直到内核完成数据报复制,应用进程才会退出阻塞状态。这种模型耗费时间,适合低并发,时效要求不高的情况。2. 非阻塞IO模型我们在等待的时候,完全可以做点别的事情,并通过轮询的...原创 2019-05-13 23:22:03 · 251 阅读 · 0 评论 -
CMake
文章目录1. gcc、make和cmake简介2. cmake语法2. cmake变量3. 常用指令4. 内外部构建5. 完整工程6. 安装7. 库主程序调用CMake官网Training Materials:https://cmake.org/cmake/help/latest/guide/tutorial/index.htmlhttps://cmake.org/cmake/help/book/mastering-cmake/CMake官网Reference:https://cmake.org原创 2022-02-11 17:09:01 · 154 阅读 · 0 评论 -
linux开发套件-gcc_makefile_ctags_cscope
文章目录gcc编译静态库制作步骤优缺点动态库制作步骤gcc编译gcc foobar.c会生成a.out可执行文件。windows环境变量中配好mingw/gcc.exe,则默认生成a.exe,-o a则生成a.exe。一个c项目的目录大概如下:srcmain.cincluderesbin(lib+so)debugreleasec编译成可执行文件有4步:预处理:宏定义...原创 2019-04-28 22:57:19 · 336 阅读 · 0 评论 -
ELF Format-4-Symbol_Reloc_String Table
文章目录4. Symbol Table4.1 数据结构st_info5. Reloc Tab5.1 结构体5.2 重定位类型6. String Table4. Symbol Tablereadelf -s查看符号表4.1 数据结构typedef struct{ Elf32_Word st_name; /* Symbol name (string tbl index) */ El...原创 2020-01-04 19:59:31 · 407 阅读 · 0 评论 -
ELF Format-3-Section Header Table
Section Header Table文章目录Section Header Table1. 数据结构1.1 sh_name1.2 sh_type1.3 sh_flags1.4 link1.4.1 SHT_SYMTAB举例1.4.2 SHT_REL举例1.5 other fields2. readelf源码readelf -S查看。1. 数据结构typedef struct{ Elf...原创 2020-01-02 21:31:02 · 511 阅读 · 0 评论 -
ELF Format-2-Program Header Table
Program Header Table文章目录Program Header Table1. segment和sectionsegmentsection联系2. 数据结构2.1 field p_type2.2 Other Fieldsreadelf源码程序头表与段表相互独立,由ELF文件头统一管理。下面将它们简称PH和SH。程序头表负责ELF文件从文件到加载后映像的映射关系,一般只有可执行...原创 2020-01-02 21:30:14 · 1532 阅读 · 0 评论 -
ELF Format-1-File Header
文章目录0. 获取readelf源码1. File Header1.1 基本信息1.2 程序头表1.3 段表1.4 readelf中的代码这个分析过程可以在windows中用010editor的elf模板打开一个elf文件对照分析。elf文件大致结构:| file header | readelf -h|---------------------||program hea...原创 2020-01-02 21:29:54 · 482 阅读 · 1 评论 -
linux基础笔记-18-openssl
文章目录1. 加密对称密码单向加密公钥加密CA应用2. ssl2.1 openssl2.2 实现私有CA2.2.1 生成一对密钥2.2.2 生成自签署证书2.2.3 实例1. 加密TCP/IP最初并没有考虑安全问题。Alice–>Bob,这个通信过程面临以下问题:机密性:明文传输完整性:篡改认证对称密码解决机密性问题,但通信对象多时,无法管理密钥。单向加密不可逆;...原创 2019-08-22 14:20:45 · 272 阅读 · 0 评论 -
linux基础笔记-8-系统启动流程
文章目录15.系统启动流程BootLoaderGrub内核内核的模块机制vmlinuz内核初始化过程initrdinit运行级别inittab15.系统启动流程POST(power on self testing)BIOS(boot sequence)MBR(bootloader,446B)kernel(ko)initrd/sbin/init(rootfs),执行/etc/ini...原创 2019-08-22 14:18:54 · 242 阅读 · 0 评论 -
linux基础笔记-1
文章目录1.os基础2.关于命令eg.时间管理帮助方式关于man3.根文件系统目录关于/etc关于文件种类关于根目录目录操作文件操作1.os基础计算机分层:硬件,os/kernel,库/api,应用。应用可以和库同层,即运行在内核上,也可以在库之上。也有hacker可以直接在硬件上编程。一些随系统启动而启动的叫做(后台)服务,手动启动的程序叫做交互程序。只有内核位于0环。应用位于3环...原创 2019-02-24 10:44:17 · 205 阅读 · 0 评论 -
linux基础笔记-2-文件管理及查看文本
文章目录4.文件管理命令cpmvinstall5.查看文本命令catmore/lesshead/tailcutsortuniqwctr目录管理:ls,cd,pwd,mkdir,rmdir,tree文件管理:touch,stat,file,rm,cp,mv,nano日期时间:date,clock,hwclock,cal查看文本:cat,tac,more,less,head,tail ...原创 2019-02-24 11:24:21 · 164 阅读 · 0 评论 -
linux基础笔记-3-bash特性及grep
文章目录6.bash特性命令行编辑命令历史别名关于三种引号通配符(Globbing)7.grepRegExpegrep6.bash特性GUI:gnome,KDE,xfaceCLI:sh,csh,ksh,bash,tcsh,zshbash:兼具各种功能,开源,所以各种发行版默认使用。如果两个用户同时登录,则有多个互不相干的进程。在每个进程看来,当前主机只存在内核和当前进程,即使是父子进程...原创 2019-02-24 16:05:49 · 153 阅读 · 0 评论 -
linux基础笔记-4-用户管理
文章目录8.用户管理8.1 用户8.2 权限umask8.3 passwd8.4 shadow加密8.5 管理命令用户管理组管理权限管理练习8.6 shell8.7 配置文件8.用户管理8.1 用户用户组,用于方便地指派权限。用户和用户组都可看作标识符。进程可看作用户的代理每个用户都有uid,每个组都有gid。uid存储在/etc/passwd,gid存储在/etc/group。计算...原创 2019-02-25 09:49:09 · 333 阅读 · 0 评论 -
linux基础笔记-5-重定向、vim及文件查找
文章目录9. io重定向pipetee命令练习10.vim模式快捷键翻屏复制、删除替换撤销查找11.文件查找命令locatefind9. io三个默认io(fd):stdin:0,键盘stdout:1,显示器stderr:2,显示器重定向重定向符:>覆盖输出,>>追加输出为避免误用>覆盖关键文件, 可以set -C禁用>,set +C启用强制...原创 2019-02-25 21:44:01 · 218 阅读 · 0 评论 -
linux基础笔记-6-磁盘及文件系统
文章目录12.磁盘及文件系统12.1 格式化块、位图、inode硬盘相关命令创建分区12.3 MBR12.4 文件链接文件12.5 文件系统vfsext系统mount创建文件系统相关命令12.6 swapbuffer和cache添加swap分区lookback/etc/fstab管理员需知:文件系统多大,超级块和GDT位置,备份是否足够,分了多少磁盘块,是否产生磁盘碎片,是否需要修复。in...原创 2019-03-02 10:46:42 · 337 阅读 · 0 评论 -
linux系统编程-信号-1
linux系统编程-信号捕捉文章目录linux系统编程-信号捕捉0x00 . 基本概念产生信号的方式信号处理0x01. 未决信号集和阻塞信号集阻塞信号集(信号屏蔽字)未决信号集0x02. kill()raise() & abort()0x03. alarm()setitimer()0x04. signal()0x05. 信号集操作函数0x06. 信号捕捉内核信号捕捉过程0x00 . 基...原创 2019-07-15 15:18:21 · 293 阅读 · 0 评论 -
linux系统编程-基础
linux系统编程-1-基础文章目录linux系统编程-1-基础1. 基础进程环境变量进程控制gdb2. exec函数族3. dup24. wait()waitpid()1. 基础进程0-3G用户空间需要映射到各自的物理内存;不同进程的3-4G内核空间映射到同一物理内存。每个进程在内核(3-4G)中都有一个PCB来维护进程相关的信息,Linux内核的进程控制块是task_struct结...原创 2019-07-12 15:04:57 · 549 阅读 · 0 评论 -
linux-shell编程
文章目录0x00.前言0x01.bash变量类型环境变量本地变量位置变量特殊变量返回值和返回结果shift变量操作0x02.条件测试整数测试linux的数学运算random文件测试字符测试条件判断式练习0x03 循环0x04 函数定义返回值参数0x05 交互basenameread颜色练习0x00.前言shell编程,即脚本编程,属于动态语言(即解释型),是命令的堆砌。脚本后缀为.sh,执行...原创 2019-08-22 14:15:52 · 534 阅读 · 0 评论 -
linux基础笔记-7-进程管理
文章目录13.进程管理/proc进程空间优先级前后台IPC相关命令ps(process state)pgreppidoftopkillrenicevmstatuptime13.进程管理开头说过,学习os,就是研究内核和内核上的众多进程。进程管理是内核的6大功能之一。以mkdir为例,创建目录需要访问磁盘,而内核才能访问磁盘。mkdir进程在cpu上运行并通过system call向内核发出操...原创 2019-08-22 14:17:08 · 202 阅读 · 0 评论 -
linux系统安全
1. 安全设置1. 安全设置禁用或删除无用账户userdel 用户名 删除账号passwd -l 用户名 锁定账号passwd -u 用户名 解锁账号useradd 用户名cat /etc/passwdcat /etc/shadow密码位两个叹号表示无密码且账户锁定两个叹号+加密密码表示有密码但锁定passwd 用户名 设密码passwd 默认给当...原创 2018-04-07 16:18:37 · 476 阅读 · 0 评论