DAN Blog

代码界的女王,Bug 的克星.

openwrt中打补丁方法

前言 这两年的都是基于openwrt系统进行开发,用到了上边很多的开源软件,但是有时候又不太符合自己的需要,所以就需要做一些定制化开发,这时候就采取给源码打补丁的方式。 打补丁步骤 以netifd(netifd/patches/006-check-before-add-device.patch)模块为例, 要给 netifd/device.c文件打补丁,进入编译目录(build_dir/t...

DBUS shell cmd

获取所有接口 dbus-send --system --print-reply --dest=com.ctc.igd1 /com/gwtt/igd1/config/IpPortFilter org.freedesktop.DBus.Introspectable.Introspect 查询所有实体获取所有配置 dbus-send --system --type=method_call --p...

select poll epoll区别整理

select poll epoll 区别 不管是面试还是平时开发工作都会遇到select poll epoll之间区别的问题,今天大概给总结一下: 特性 select poll epoll 底层数据结构 数组存储文件描述符 链表存储文件描述符 红...

C代码自我编程规范

前言 发现C程序没有一个标准的规范,就像if else后的{如果跟在if当前行或者单独起行都可,但是如果一个文件中有的{在单独行,有的在上边那一行,这样就看着很乱,或者一个人写的代码有的在同一行有的在下边,还是不一致,虽然无大碍,但还是别扭, 没办法, 哈哈, 有点代码洁癖,看不得不一致的东西。所以给自我做一个约束。 命名 变量的命名 对所有的宏、全局变量都要有详细的注释 :功能、取值...

Cmake简介

前言 最开始学习C肯定是从最初的gcc编译一个可执行文件学起,那时候我们知道编译的主要工作流程是:源码–》预处理(.i)–》编译(.s)–》汇编(.o)–》链接(exe)–》可执行程序。当源文件较多时,就不适合使用gcc编译代码,就用到了makefile,通过编译顺序等使用Make就可以自动完成编译工作,效率极大提升。 做了sdwan项目,发现openwrt等集成了很多的源码包都是通过cma...

makefile复习

前言 这段时间所有的开发都是在openwrt的框架之内,openwrt的集成度非常高,所开发的功能要引用的库、头文件基本上都差不多,所以开发的工具编译都是写的cmake进行编译的。最近要用别的系统软件包做开发,发现上边已有的功能基本上都是手写makefile,我觉得cmake功能还是挺强大的,就依旧“我行我素”用起了cmake。 后来做完了进行移交给别的组,其他人接着搞,然而他们不知道cma...

wireshark解析器lua脚本

lua脚本解析报文

前言 工作中经常会自定义协议,wireshark抓包用已有的协议去解析已不可用。为调试时或者方便测试同事测试时就需要看看报文中的协议数据是否正确,或者记录报文中的数据以验证功能可用性,此时就需要自解析抓到的报文—lua脚本。 Wireshark 中的 Lua 脚本是一种强大的自定义工具,它允许你扩展 Wireshark 的功能,执行特定任务或分析网络数据包时编写自定义过滤器和协议解析器。以下...

netflow协议介绍

前言 netflow有多个版本,而且分华为和思科,目前国内而言 思科的 V5、V9 应用比较广泛。我开发的功能只需要采集IPV4数据,用到的是V5。 介绍 Netflow v5版本的数据包,是由多个pdu组成。每个PDU包中包含源目的ip,下一跳,数据流输入输出接口的索引号、pdu包数、pdu字节数、PDU流中看见第一个数据包的时间和看见最后一个数据包的时间、源目的端口号,填充、tcp的标...

netflow采集器源码解析

softflowd源码简解读以及适配

前言 前段时间在忙流量采集的功能,用到了netflow。遇到了一系列的问题,今儿给做个总结。 源码解读 简介 先整理一下用到的工具吧,具体netflow计划放到下一篇。用到的采集工具是softflowd。 softflowd 是一个网络流量监测工具,用于捕获和导出网络流量的流信息。它通常用于网络性能分析、安全审计和流量监视等用途。softflowd 主要针对流量分析,并将收集到的数据以 N...

vscode和ssh结合使用

前言 我开发一直习惯用sourceinsight,后来发现身边人几乎都在用vscode。我一直认为vscode没有sourceinsight方便,例如选择、添加工作区、跳转、布局等等。但是vscode也有很多优点,集成很多插件,功能齐全,主题多样。其中了解到vscode+ssh这个功能,好像很好使,尤其对于虚拟机的开发。之前我都是sourceinsight上编辑代码,然后ssh到远程服务器编...