用户态 tcpdump 如何实现抓到内核网络包的?
用户态 tcpdump 如何实现抓到内核网络包的? 原创张彦飞allen开发内功修炼2021-09-08 08:28 收录于话题#开发内功修炼之网络篇30个 大家好,我是飞哥! 今天聊聊大家工作中经常用到的 tcpdump。 在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包的呢?有的...
用户态 tcpdump 如何实现抓到内核网络包的? 原创张彦飞allen开发内功修炼2021-09-08 08:28 收录于话题#开发内功修炼之网络篇30个 大家好,我是飞哥! 今天聊聊大家工作中经常用到的 tcpdump。 在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包的呢?有的...
📝 责任链模式 (Chain of Responsibility Pattern) 深度解析 🚀 1. 模式意图与动机 (Intention & Motivation) 意图 责任链模式 (Chain of Responsibility Pattern): 使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请...
🌳 组合模式 (Composite Pattern) 深度解析 1. 模式动机与定义 1.1. 模式动机:统一处理部分和整体 在许多场景中,我们需要处理树形结构或部分-整体 (Part-Whole) 的层次结构。例如,文件系统中的文件和文件夹、组织结构中的员工和部门、GUI 框架中的组件和容器。 问题:处理单个对象(叶子)和组合对象(树枝)的方式往往不同。如果客户端需要区分这两...
命令模式 (Command Pattern) 深度解析 1. 模式动机与定义 1.1. 模式动机:解耦请求的发送者与接收者 在软件设计中,我们经常需要向某些对象发送请求,但并不清楚请求的接收者是谁,也不知道被请求的具体操作是哪个。我们只需要在运行时指定具体的请求接收者即可。 命令模式的引入,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。发送请求的对象只需...
📝 业务代表模式 (Business Delegate Pattern) 深度解析 🚀 1. 模式目的与动机 业务代表模式(Business Delegate Pattern)是一种J2EE 核心设计模式,其主要目的是: 解耦 (Decoupling): 对表示层(如 Web 页面、UI 客户端)和业务层(实际处理逻辑)进行解耦。 简化 (Simplification): 隐...
线程间的通信 使用wait/notify方法实现线程间的通信 (注意这两个方法都是object的类的方法,也就是java为所有的对象都提供了这两个方法) 1.wait和notify必须配合synchronized关键字一起使用 2.wait方法释放锁,notify方法不释放锁。 java.util.concurrent包下 countDownLatch工具类,可以实时通讯 co...
聊聊 Linux 上软件实现的“交换机” - Bridge! 原创张彦飞allen开发内功修炼2021-10-14 09:08 收录于话题 #开发内功修炼之网络篇30个 #Docker网络2个 #linux3个 #局域网1个 大家好,我是飞哥! Linux 中的 veth 是一对儿能互相连接、互相通信的虚拟网卡。通过使用它,我们可以让 Docker 容器和母机通信,或者是在两...
🔁 迭代器模式 (Iterator Pattern) 深度解析 1. 模式动机与定义 1.1. 模式动机:分离遍历行为与集合结构 在面向对象编程中,集合对象(如数组、列表、树等)通常包含一组元素。如果客户端需要访问这些元素,通常需要了解集合的底层数据结构(例如是数组索引、链表节点还是树的遍历算法)。 问题:将遍历操作放在集合类中会导致: 暴露集合的内部表示...
📜 设计模式:空对象模式 (Null Object Pattern) 概念与动机 定义 空对象模式 (Null Object Pattern) 是一种行为型设计模式,它用一个**不执行任何操作(no-op)**的对象来代替程序中的 null 引用。 这个“空对象”实现了与实际对象相同的接口或继承相同的抽象类,从而可以在客户端代码中透明地使用。 动机 在传统的编程中,为了防止访问空...
📝 拦截过滤器模式 (Intercepting Filter Pattern) 深度解析 🚀 1. 模式目的与动机 意图 拦截过滤器模式: 用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前或之后应用在请求上。 动机 在基于 Web 或分布式应用的架构中,客户端请求在到达核心处理逻辑之前,通常需要经过一系列的通用处理,如:身份验证...