- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 反汇编ebpf目标文件实例sockex2_kern.c
程序总体还是比较好懂,有一些比较有意思的东西比如ETH_P_8021AD(vlan in vlan), IPPROTO_IPIP (ip in ip), 分析汇编能立刻明白他们就是个封装。本文按照普通的ipv4 以太网报文逻辑走查了一遍sockex2_kern汇编,进行了响应的注释,并在最后简单总结了一下。此示例的作用是以协议中的目的ip地址统计报文的个数和累计长度;如果不内联,函数调用汇编是什么样子的?末端还没跳转,则继续执行下一个LBB0_
2024-01-27 15:17:19
326
1
原创 反汇编ebpf目标文件实例sockex1_kern.c
/home/cl/source/stable/linux/samples/bpf# cat sockex1_kern.c网上汇编的基本解释如,就不多的解释寄存器和编码的用法:https://blog.youkuaiyun.com/weixin_49393427/article/details/124057792https://zhuanlan.zhihu.com/p/487995137这个指令为特殊的指令(non-generic instructions),不能按照编码进行解读,按照编码解读则src 和 dst
2024-01-21 20:40:39
419
原创 rsync 文件夹备份与同步
从远端备份文件到本地,注意src的目录需要加上/, 否则会把目录拷贝过来, dst目录不需要加/ps:如果文件目录本身很大,可以先打包scp到对端,解压后再进行rsync同步操作。示例:同步当前与远端服务器上的dot_linux文件夹下的所有文件。如果目录文件夹下有git信息,加了-a后git信息也会同步。从本地备份文件到远端,也需要注意/
2023-12-30 09:45:07
457
1
原创 实战之 arm64 刷 cache
clean: 将cache里面的新内容写入到ddrinvalidate: 将cache里面的内容无效掉,即丢掉虽然都说刷cache,实际可能是上面两类动作的一种或者组合例如:如果刷指令cache,因为指令是只读的,直接invalidate即可。如果刷数据cache,如果明确可以直接丢掉数据则可以直接使用invalidate;通常的刷数据cache需要先clean再invalidate;当然数据cache也可以只clean不invalidate。
2023-11-25 14:08:31
2222
原创 linux 串口输出的那些事儿
同样是输出到console,为什么用户态printf打印会产生串口中断而内核printk打印不产生中断?答案在末尾。
2023-11-21 18:51:16
1172
1
armv7 datasheet DDI0406C_C_arm_architecture_reference_manual.pdf
2019-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人