DeathWhispers

用户态 tcpdump 如何实现抓到内核网络包的?

用户态 tcpdump 如何实现抓到内核网络包的? 原创张彦飞allen开发内功修炼2021-09-08 08:28 收录于话题#开发内功修炼之网络篇30个 大家好,我是飞哥! 今天聊聊大家工作中经常用到的 tcpdump。 在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包的呢?有的...

组合模式 (Composite Pattern) 深度解析

🌳 组合模式 (Composite Pattern) 深度解析 1. 模式动机与定义 1.1. 模式动机:统一处理部分和整体 在许多场景中,我们需要处理树形结构或部分-整体 (Part-Whole) 的层次结构。例如,文件系统中的文件和文件夹、组织结构中的员工和部门、GUI 框架中的组件和容器。 问题:处理单个对象(叶子)和组合对象(树枝)的方式往往不同。如果客户端需要区分这两...

命令模式 (Command Pattern) 深度解析

命令模式 (Command Pattern) 深度解析 1. 模式动机与定义 1.1. 模式动机:解耦请求的发送者与接收者 在软件设计中,我们经常需要向某些对象发送请求,但并不清楚请求的接收者是谁,也不知道被请求的具体操作是哪个。我们只需要在运行时指定具体的请求接收者即可。 命令模式的引入,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。发送请求的对象只需...

迭代器模式 (Iterator Pattern) 深度解析

🔁 迭代器模式 (Iterator Pattern) 深度解析 1. 模式动机与定义 1.1. 模式动机:分离遍历行为与集合结构 在面向对象编程中,集合对象(如数组、列表、树等)通常包含一组元素。如果客户端需要访问这些元素,通常需要了解集合的底层数据结构(例如是数组索引、链表节点还是树的遍历算法)。 问题:将遍历操作放在集合类中会导致: 暴露集合的内部表示...

空对象模式 (Null Object Pattern) 深度解析

📜 设计模式:空对象模式 (Null Object Pattern) 概念与动机 定义 空对象模式 (Null Object Pattern) 是一种行为型设计模式,它用一个**不执行任何操作(no-op)**的对象来代替程序中的 null 引用。 这个“空对象”实现了与实际对象相同的接口或继承相同的抽象类,从而可以在客户端代码中透明地使用。 动机 在传统的编程中,为了防止访问空...

拦截过滤器模式 (Intercepting Filter Pattern) 深度解析

📝 拦截过滤器模式 (Intercepting Filter Pattern) 深度解析 🚀 1. 模式目的与动机 意图 拦截过滤器模式: 用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前或之后应用在请求上。 动机 在基于 Web 或分布式应用的架构中,客户端请求在到达核心处理逻辑之前,通常需要经过一系列的通用处理,如:身份验证...