概述 Linux Netfilter技术(1)-概述已经介绍了Netfilter的基本概念和框架,主要是了解了Netfilter框架的Hook原理,这篇主要介绍如何基于Netfiter框架实现自己的hook函数。如果google或者百度大部分都是基于老接口的示例nf_register_hook,在kernel 4.13.x之后都是新接口nf_reg…
概述 gdb我们大家应该已经很熟悉了,在使用gdb的场景一种是attach在running的进程,但是这种可能会影响进程的运行甚至我们在生产环境导致环境出现意想不到的问题,所以一般不建议在生产环境直接使用gdb,那我们如何调试进程呢?下面浅述一下自己的方法。 回答上面的问题一般就是进程在发生一些错误导致panic时产生了一个coredump文件,我…
使用git send-mail的方法 我们工作过程中可能需要提patch到公司或者社区的mail list,但是如果使用一些邮件客户端可能存在patch格式错乱等问题,所以推荐使用git send-mail这个工具。 安装send-mail的工具 sudo apt install send-email 配置个人的git config(~/.gitc…
概念 Netfilter 是 Linux 内核中进行数据包过滤,连接跟踪(Connect Track),网络地址转换(NAT)等功能的主要实现框架;该框架在网络协议栈处理数据包的关键流程中定义了一系列钩子点(Hook 点),并在这些钩子点中注册一系列函数对数据包进行处理。这些注册在钩子点的函数即为设置在网络协议栈内的数据包通行策略,也就意味着,这些…
sudo 越权(CVE-2021-3156) [root@localhost ~]# rpm -qa | grep sudo sudo-debuginfo-1.8.6p7-21.el7_3.x86_64 sudo-1.8.6p7-21.el7_3.x86_64 sudo-devel-1.8.6p7-21.el7_3.x86_64 看一下执行一个命令…
背景 在k8s发现在net.bridge.bridge-nf-call-iptables=0和net.bridge.bridge-nf-call-iptables=1仍然是可以ping通不同的node节点的服务,按照我们的理解如果net.bridge.bridge-nf-call-iptables=0则在bridge就不会调用iptable的规则进…
问题描述 发现在node-1,2,3节点sar不定时出现较大的rx/tx的统计远远超出网卡的正常带宽。 排除思路 首先怀疑是sar工具导致的,所以将sar升级到centos8的最新版本,目前还没有复现问题; 通过EMS的监控可以发现ovs的统计也出现较大的流量,所以也怀疑是不是底层驱动出现问题,不一定是sar的问题; 分析/proc/net/dev…
内存分页机制 Linux的分页机制用来实现以页(Page)为单位的虚拟内存系统,而具体的寻址方法则是逻辑地址经过分页机制的处理转换为物理地址。 控制寄存器 CR0 Bit Name Full Name Description 0 PE Protected Mode Enable If 1, system is in protected mode, …
mm_struct 分析 上一节了解了linux(x86)的分页机制,其中有提PGD只要是来源于mm_struct,为了解进程内存相关信息,详细了解一下内存描述符的结构体--mm_struct。 mm_struct定义在include/linux/mm_types.h中,其中抽象出来的进程地址空间,如下图所示: linux的进程作为task_str…
mm和active_mm 用户态进程 tsk->mm = tsk->active_mm ---->指向内存地址; 内核态进程 tsk->mm = NULL tsk->active_mm = pre_tsk->active_mm; 具体可以参考这个链接: active_mm https://zhuanlan.zhi…