未分类

GO 编程:GORM

模型定义模型一般都是普通的 Golang 的结构体,Go的基本数据类型,或者指针。sql.Scanner 和 driver.Valuer,同时也支持接口。例子:type User struct {gorm.ModelName stringAgesql.NullInt64Birthday *time.TimeEmailstring`gorm:"type …

开发ko内核模块,无依赖实现监控DNS请求进程

监控Linux主机发起DNS请求的进程是应急响应中经常遇到的一个问题。虽然可以通过systemtap或者ebpf的方式实现,但是在实战场景下两者的安装都非常麻烦。ebpf不支持低版本的内核,升级内核又需要重启,真实场景下不太可能实现。并且大部分内核只支持源码编译安装ebpf,过程非常繁琐。systemtap必须安装当前指定内核版本的debuginfo,依赖多 …

Linux Security Module逆向分析实战

Linux Security Module逆向分析实战本文记录了对某发行版Linux中一个安全模块(LSM)的逆向过程,该LSM对系统中待运行的程序进行安全校验,数据流穿越内核态与用户态,涉及系统内核及系统服务。此LSM对系统安全性的增强效果明显,其设计思路值得防守方研究学习,可于个人终端或服务器安全防护中应用。特此对逆向内容记录,希望能为读者在终端防护方面 …

Linux内核中一个数据包的完整流转过程

第一阶段:网卡接收数据包1:通过DMA把数据包从网卡拷贝到内存的Ring buffer缓冲区中,Ring buffer这里不再详细展开,它是网卡暂存和处理数据包的一种通用数据结构,分为RX Ring和TX Ring。2:网卡触发硬中断通知CPU收包3:CPU调用网卡驱动注册的硬中断处理函数记录一下硬件中断频率将驱动napi_struct传过来的poll_li …

谈谈Linux网络协议以及网络栈结构

网络协议——TCPIP协议简介: TCP(传输控制协议)和 IP(网际协议)是两个独立且紧密结合的协议,负责管理和引导数据报文在 Internet上的传输。二者使用专门的报文头定义每个报文的内容。TCP 负责和远程主机的连接,IP负责寻址,使报文被送到其该去的地方。 TCPIP协议模型如下图所示:1.网络接口层 有时也称为数据链路层或网络接口层,通常包括操作 …

实现Linux ptrace

本文介绍这些工具的底层 ptrace 是如何实现的。这里选用了 1.2.13 的早期版本,原理是类似的,新版内核代码过多,没必要陷入过多细节中。ptrace 是 Linux 内核提供的非常强大的系统调用,通过 ptrace 可以实现进程的单步调试和收集系统调用情况。比如 strace 和 gdb 都是基于 ptrace 实现的,strace 可以显示进程调用 …

Linux系统挂载本地镜像

此文章包含Suse与Almalinux系统挂载本地镜像1、SuseOS挂载镜像创建本地安装源1.前提环境SUSE Linux安装完毕zypper命令无法找到本地安装源2.查看安装源1>查看默认安装源zypper lr2>删除默认安装源## zypper rr 镜像源别名## rr ==> remove repozypper rr SUSE- …

【系统配置】信创终端高效挂载NFS共享的实用指南

原文链接:【系统配置】信创终端高效挂载NFS共享的实用指南|统信|麒麟|方德Hello,大家好啊!今天给大家带来一篇关于在信创终端操作系统上挂载NAS的文章。之前我们已经介绍了如何搭建飞牛NAS以及挂载SMB服务提供的共享文件夹,今天我们将重点讲解如何挂载NFS服务提供的共享文件夹,实现更加高效的文件访问和管理。欢迎大家分享点赞,点个在看和关注吧!什么是 N …