当前位置: 首页 > news >正文

深入解读tcpdump:原理、数据结构与操作手册

一、tcpdump 核心原理

tcpdump 是基于 libpcap 库实现的网络数据包捕获与分析工具,其工作原理可分解为以下层次:

  1. 数据包捕获机制

    • 底层依赖:通过操作系统的 数据链路层接口(如 Linux 的 PF_PACKET 套接字或 AF_PACKET 类型)直接访问网卡原始数据,无需钩子函数。
    • libpcap 角色:提供跨平台抽象层,封装不同操作系统的底层捕获接口(如 Linux 的 libpcap、Windows 的 WinPcap),实现数据包过滤与缓存。
  2. 工作流

    • 初始化:调用 libpcap 初始化会话,指定网络接口、过滤规则及缓冲区大小。
    • 数据包传递:操作系统内核将接收到的数据包副本传递给 libpcap,后者根据 BPF(Berkeley Packet Filter)规则过滤数据包。
    • 解析与输出:tcpdump 解析数据包的链路层、网络层、传输层协议头(如 Ethernet、IP、TCP/UDP),并以可读格式输出。
  3. 协议解析逻辑

    • 分层解析:从数据链路层帧头开始,逐层剥离并解析协议字段(如 MAC 地址、IP 地址、端口号)。
    • 过滤优化:通过 BPF 编译器将用户输入的过滤表达式(如 host 192.168.1.1)编译为高效的内核级过滤代码,减少无关数据包传递到用户态的开销。
二、关键数据结构

tcpdump 内部使用以下核心数据结构实现功能:

  1. 网络接口描述结构 (pcap_if_t)

    • 存储网络接口信息(如接口名、IP 地址、MAC 地址),通过 pcap_findalldevs() 函数获取。
  2. 数据包捕获结构 (pcap_t)

    • 封装捕获会话状态,包括:
      • 缓冲区指针(存储原始数据包)
      • 过滤规则(BPF 程序)
      • 快照长度(snaplen,控制捕获的字节数)
      • 超时与缓冲区策略(如 -B 参数设置缓冲区大小)
  3. 协议解析结构 (struct ether_header, struct ip, struct tcphdr 等)

    • 定义各层协议头部的字段偏移与类型,用于逐层解析数据包内容。
  4. 过滤表达式树 (struct bpf_program)

    • 将用户输入的过滤表达式(如 tcp port 80 and host 10.0.0.2)编译为 BPF 指令树,供内核过滤数据包。
三、操作手册详解
1. 安装与基础命令
  • 安装(需 libpcap 支持):

    # 示例(基于源码编译)
    wget http://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz
    tar -xzvf tcpdump-4.9.3.tar.gz
    cd tcpdump-4.9.3
    ./configure --with-libpcap=/path/to/libpcap
    make && make install
    
  • 基础命令格式

    tcpdump [选项] [过滤表达式]
    
2. 常用选项
选项说明示例
-i <接口>指定网络接口tcpdump -i eth0
-c <数量>捕获指定包数后退出tcpdump -c 100
-w <文件>保存到文件(PCAP 格式)tcpdump -w capture.pcap
-r <文件>读取文件分析tcpdump -r capture.pcap
-e显示链路层头部(MAC 地址)tcpdump -e
-n禁用域名解析(显示 IP)tcpdump -n
-v/-vv/-vvv增加详细输出tcpdump -vv
3. 过滤表达式语法
  • 基础语法

    # 协议过滤
    tcpdump icmp# 主机/网络过滤
    tcpdump host 192.168.1.1
    tcpdump net 10.0.0.0/24# 端口过滤
    tcpdump port 80
    tcpdump portrange 8080-9000
    
  • 逻辑组合

    # 逻辑运算符:and/or/not
    tcpdump "host 192.168.1.1 and port 80"
    tcpdump "not icmp and src net 10.0.0.0/8"
    
  • 方向控制

    # 源/目的过滤
    tcpdump src host 10.0.0.2
    tcpdump dst port 53
    
4. 高级功能
  • 时间戳控制

    # 输出格式化时间戳
    tcpdump -tttt  # 完整日期时间
    tcpdump -ttt   # 相对时间差
    
  • 数据包截断

    # 限制捕获长度(默认 68 字节)
    tcpdump -s 128  # 捕获前 128 字节
    
  • BPF 过滤器

    # 直接使用 BPF 代码(需 -d 参数生成)
    tcpdump -d "host 192.168.1.1"
    
5. 典型应用场景
  1. 故障排查

    # 捕获 TCP 三次握手失败
    tcpdump -i eth0 "tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack = 0"
    
  2. 安全分析

    # 检测 SYN Flood 攻击
    tcpdump -n -r capture.pcap 'tcp[tcpflags] & tcp-syn != 0' | awk '{print $3}' | sort | uniq -c
    
  3. 性能优化

    # 统计 HTTP 响应时间
    tcpdump -i eth0 -nn -A 'tcp port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
    
四、与 kernel-3.10.0 的兼容性
  • 内核模块交互
    tcpdump 通过 libpcap 与内核的 AF_PACKET 接口交互,kernel-3.10.0 已内置该接口,无需额外模块。

  • 过滤性能
    BPF 编译器在 kernel-3.10.0 中支持 JIT 编译,可显著提升复杂过滤规则的执行效率。

五、总结

tcpdump 通过 libpcap 库实现高效的数据包捕获与解析,其核心优势在于:

  1. 分层解析能力:覆盖数据链路层至应用层协议。
  2. 灵活过滤:支持 BPF 表达式与逻辑组合,精准定位目标流量。
  3. 跨平台支持:适配 Linux、BSD、macOS 等系统,是网络诊断与安全分析的必备工具。

建议结合 Wireshark 进行离线分析(通过 -w 保存 PCAP 文件),以利用其图形化界面深度解析协议细节。

相关文章:

深入解读tcpdump:原理、数据结构与操作手册

一、tcpdump 核心原理 tcpdump 是基于 libpcap 库实现的网络数据包捕获与分析工具&#xff0c;其工作原理可分解为以下层次&#xff1a; 数据包捕获机制 底层依赖&#xff1a;通过操作系统的 数据链路层接口&#xff08;如 Linux 的 PF_PACKET 套接字或 AF_PACKET 类型&#x…...

HTML5 中实现盒子水平垂直居中的方法

在 HTML5 中&#xff0c;有几种方法可以让一个定位的盒子在父容器中水平垂直居中。以下是几种常用的方法&#xff1a; 使用 Flexbox 布局 <div class"parent"><div class"child">居中内容</div> </div><style>.parent {di…...

个人博客系统测试报告

目录 1 项目背景 2 项目功能 3 项目测试 3.1 测试用例 3.2 登录页面测试 3.3 博客列表页面测试 3.4 博客详情页面测试 3.5 自动化测试 3.5.1 Utils类 3.5.2 登录测试页面类 3.5.3 博客列表页测试类 3.5.4 博客详情页测试类 3.5.5 博客修改页测试类 3.5.6 未登录…...

适配WIN7的最高版本Chrome谷歌浏览器109版本下载

本仓库提供了一个适用于Windows 操作系统的谷歌浏览器109版本的离线安装包。 点击下面链接下载 WIN7的最高版本Chrome谷歌浏览器109版本下载...

从规划到完善,原型标注图全流程设计

一、原型标注图&#xff1a;设计到开发的精准翻译器 1. 设计意图的精准传递 消除模糊性&#xff1a;将设计师的视觉、交互逻辑转化为可量化的数据&#xff08;尺寸、颜色、动效参数&#xff09;&#xff0c;避免开发“凭感觉还原”。 统一理解标准&#xff1a;通过标注建立团…...

极狐GitLab 通用软件包存储库功能介绍

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 极狐GitLab 通用软件包存储库 (BASIC ALL) 在项目的软件包库中发布通用文件&#xff0c;如发布二进制文件。然后&#xff0c;…...

系统架构-嵌入式系统架构

原理与特征 嵌入式系统的典型架构可概括为两种模式&#xff0c;即层次化模式架构和递归模式架构 层次化模式架构&#xff0c;位于高层的抽象概念与低层的更加具体的概念之间存在着依赖关系&#xff0c;封闭型层次架构指的是&#xff0c;高层的对象只能调用同一层或下一层对象…...

hive两个表不同数据类型字段关联引发的数据倾斜

不同数据类型引发的Hive数据倾斜解决方案 #### 一、‌原因分析‌ 当两个表的关联字段存在数据类型不一致时&#xff08;如int vs string、bigint vs decimal&#xff09;&#xff0c;Hive会触发隐式类型转换引发以下问题&#xff1a; ‌Key值的精度损失‌&#xff1a;若关联字…...

制作一款打飞机游戏45:简单攻击

粒子系统修复 首先&#xff0c;我们要加载cow&#xff08;可能是某个项目或资源&#xff09;&#xff0c;然后直接处理粒子系统。你们看到在粒子系统中&#xff0c;我们仍然有X滚动。这现在已经没什么意义了&#xff0c;因为我们正在使用一个奇怪的新系统。所以我们实际上不再…...

《Vuejs设计与实现》第 5 章(非原始值响应式方案) 中

目录 5.4 合理触发响应 5.5 浅响应与深响应 5.6 只读和浅只读 5.4 合理触发响应 为了合理触发响应,我们需要处理一些问题。 首先,当值没有变化时,我们不应该触发响应: const obj = { foo: 1 } const p = new Proxy(obj, { /* ... */ })effect(() => {console.log(p…...

深入理解 Webpack 核心机制与编译流程

&#x1f916; 作者简介&#xff1a;水煮白菜王&#xff0c;一位前端劝退师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 前端专栏 &#xff0c;记录一下平时在博客写作中&#xff0c;总结出的一些开发技巧和知识归纳总结✍。 感谢支持&#x1f495;&#x1f495;&#…...

okhttp3.Interceptor简介-笔记

1. Interceptor 简介 okhttp3.Interceptor 是 OkHttp 提供的一个核心接口&#xff0c;用于拦截 HTTP 请求和响应&#xff0c;允许开发者在请求发送前和响应接收后插入自定义逻辑。它在构建灵活、可扩展的网络请求逻辑中扮演着重要角色。常见的用途包括&#xff1a; 添加请求头…...

交易流水表的分库分表设计

交易流水表的分库分表设计需要结合业务特点、数据增长趋势和查询模式&#xff0c;以下是常见的分库分表策略及实施建议&#xff1a; 一、分库分表核心目标 解决性能瓶颈&#xff1a;应对高并发写入和查询压力。数据均衡分布&#xff1a;避免单库/单表数据倾斜。简化运维&#…...

《AI大模型应知应会100篇》第59篇:Flowise:无代码搭建大模型应用

第59篇&#xff1a;Flowise&#xff1a;无代码搭建大模型应用 摘要&#xff1a;本文将详细探讨 Flowise 无代码平台的核心特性、使用方法和最佳实践&#xff0c;提供从安装到部署的全流程指南&#xff0c;帮助开发者和非技术用户快速构建复杂的大模型应用。文章结合实战案例与配…...

开发环境(Development Environment)

在软件开发与部署过程中&#xff0c;通常会划分 开发环境&#xff08;Development&#xff09;、测试环境&#xff08;Testing&#xff09;、生产环境&#xff08;Production&#xff09; 这三个核心环境&#xff0c;以确保代码在不同阶段的质量和稳定性。以下是它们的详细介绍…...

MySQL的sql_mode详解:从优雅草分发平台故障谈数据库模式配置-优雅草卓伊凡

MySQL的sql_mode详解&#xff1a;从优雅草分发平台故障谈数据库模式配置-优雅草卓伊凡 引言&#xff1a;优雅草分发平台的故障与解决 近日&#xff0c;优雅草分发平台&#xff08;youyacaocn&#xff09;在运行过程中遭遇了一次数据库访问故障。在排查过程中&#xff0c;技术…...

PyCharm 快捷键指南

PyCharm 快捷键指南 常用编辑快捷键 代码完成&#xff1a;Ctrl Space 提供基本的代码完成选项&#xff08;类、方法、属性&#xff09;导入类&#xff1a;Ctrl Alt Space 快速导入所需类语句完成&#xff1a;Ctrl Shift Enter 自动结束代码&#xff08;如添加分号&#…...

【数据结构】map_set前传:二叉搜索树(C++)

目录 二叉搜索树K模型的模拟实现 二叉搜索树的结构&#xff1a; Insert()插入&#xff1a; InOrder()中序遍历&#xff1a; Find()查找&#xff1a; Erase()删除&#xff1a; 参考代码&#xff1a; 二叉搜索树K/V模型的模拟实现&#xff1a; K/V模型的简单应用举例&…...

ZYNQ处理器在发热后功耗增加的原因分析及解决方案

Zynq处理器&#xff08;结合ARM Cortex-A系列CPU和FPGA可编程逻辑&#xff09;在发热后功耗增大的现象&#xff0c;通常由以下原因导致。以下是系统性分析及解决方案&#xff1a; 1. 根本原因分析 现象物理机制漏电流&#xff08;Leakage Current&#xff09;增加温度升高导致…...

Vue学习百日计划-Deepseek版

阶段1&#xff1a;基础夯实&#xff08;Day 1-30&#xff09; 目标&#xff1a;掌握HTML/CSS/JavaScript基础&#xff0c;理解Vue核心概念和基础语法。 每日学习内容&#xff08;2小时&#xff09;&#xff1a; HTML/CSS&#xff08;Day 1-10&#xff09; 学习HTML标签语义化…...

DeepSeek-R1-Distill-Qwen-1.5B代表什么含义?

DeepSeek‑R1‑Distill‑Qwen‑1.5B 完整释义与合规须知 一句话先行 这是 DeepSeek‑AI 把自家 R1 大模型 的知识&#xff0c;通过蒸馏压缩进一套 Qwen‑1.5B 架构 的轻量学生网络&#xff0c;并以宽松开源许可证发布的模型权重。 1 | 名字逐段拆解 片段意义备注DeepSee…...

内网服务器之间传输单个大文件最佳解决方案

内网服务器之间传输单个大文件&#xff0c;采用python的http.server模块&#xff0c;结合wget下载文件是最快的传输方案。 笔者在ubuntu与debian之间传输单个单文件进行文件&#xff0c;尝试了scp、sftp、rsync等方案&#xff0c;但传输速度都只有1-3MB/秒&#xff1b;采用pyt…...

Linux常用命令详解(上):目录与文件操作及拷贝移动命令

Linux系统以其强大的命令行工具著称&#xff0c;无论是日常文件管理还是自动化运维&#xff0c;都离不开基础命令的灵活运用。本文将通过功能说明、语法格式、常用选项和实例演示&#xff0c;系统讲解Linux中目录操作、文件操作及拷贝移动的核心命令。 一、目录操作命令 1. c…...

可灵 AI:开启 AI 视频创作新时代

在当今数字化浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度渗透到各个领域&#xff0c;尤其是在内容创作领域&#xff0c;AI 的应用正引发一场革命性的变革。可灵 AI 作为快手团队精心打造的一款前沿 AI 视频生成工具&#xff0c;宛如一颗璀璨的…...

动态域名解析(DDNS)实战指南,原理、配置与远程访问,附无公网ip方案

本文从实际场景出发&#xff0c;详解如何通过动态域名&#xff08;DDNS&#xff09;解决动态IP访问难题&#xff0c;覆盖家庭、企业及IoT场景&#xff0c;并提供动态域名解析、内网端口映射外网远程访问等方案。 一、动态域名&#xff08;DDNS&#xff09;是什么&#xff1f;它…...

基于STM32、HAL库的BMP388 气压传感器 驱动程序设计

一、简介: BMP388是Bosch Sensortec推出的一款高精度、低功耗的数字气压传感器,具有以下特点: 压力测量范围:300hPa至1250hPa 相对精度:0.08hPa(相当于0.5米) 温度测量范围:-40C至+85C 工作电压:1.65V至3.6V 低功耗:2μA @1Hz采样率 支持I2C和SPI接口(最高10MHz) …...

window 显示驱动开发-指定 DMA 缓冲区的段

显示微型端口驱动程序可以指定可从中分配 DMA 缓冲区的光圈段。 DMA 缓冲区也可以分配为连续锁定的系统内存。 当应用程序需要 DMA 缓冲区时&#xff0c;视频内存管理器会分配和销毁这些缓冲区。 因此&#xff0c;视频内存管理器需要一组可以分配 DMA 缓冲区的段。 请注意&…...

AnaTraf:深度解析网络性能分析(NPM)

目录 一、为什么网络性能分析比你想象的重要&#xff1f; 二、网络性能分析的核心构成 1. 数据采集层 2. 数据分析层 3. 可视化与告警层 三、网络性能分析中关注的关键指标 四、NPM部署策略&#xff1a;选对位置&#xff0c;才能看清全局 1. 边缘部署 2. 核心网络部署…...

安装Python和配置开发环境

用ChatGPT做软件测试 “工欲善其事&#xff0c;必先利其器。” 学习编程&#xff0c;不只是下载安装一个解释器&#xff0c;更是打开一个技术世界的大门。配置开发环境不仅关乎效率&#xff0c;更关乎思维方式、习惯培养与未来技术路线的选择。 一、为什么安装Python不仅仅是“…...

n8n 修改或者智能体用文档知识库创建pdf

以下是对 Nextcloud、OnlyOffice、Seafile、Etherpad、BookStack 和 Confluence 等本地部署文档协作工具的综合评测、对比分析和使用推荐&#xff0c;帮助您根据不同需求选择合适的解决方案。 &#x1f9f0; 工具功能对比 工具名称核心功能本地部署支持适用场景优势与劣势Next…...

Python | Dashboard制作 【待续】

运行环境&#xff1a;jupyter notebook (python 3.12.7)...

Linux 详解inode

目录 一、inode是什么&#xff1f; ‌inode包含的主要信息‌&#xff08;inode是一个结构体&#xff09;&#xff1a; ‌硬链接计数‌&#xff08;有多少个文件名指向这个inode&#xff09; inode的特点‌&#xff1a; inode编号 二、block区‌ ‌定义与作用‌ ‌特点‌…...

Milvus 2.4 使用详解:从零构建向量数据库并实现搜索功能(Python 实战)

文章目录 &#x1f31f; 引言&#x1f9f0; 环境准备依赖安装 &#x1f4c1; 整体代码结构概览&#x1f6e0;️ 核心函数详解1️⃣ 初始化 Milvus 客户端2️⃣ 创建集合 Schema3️⃣ 准备索引参数4️⃣ 删除已存在的集合&#xff08;可选&#xff09;5️⃣ 创建集合并建立索引6…...

NY115NY121美光科技芯片NY122NY130

NY115NY121美光科技芯片NY122NY130 美光科技&#xff1a;存储芯片领域的领航者 在全球半导体产业竞争日益激烈的背景下&#xff0c;美光科技&#xff08;Micron&#xff09;作为存储技术领域的领先企业&#xff0c;不仅展现了其强大的科技研发力量&#xff0c;更在战略布局上…...

【类拷贝文件的运用】

常用示例 当我们面临将文本文件分成最大大小块的时&#xff0c;我们可能会尝试编写如下代码: public class TestSplit {private static final long maxFileSizeBytes 10 * 1024 * 1024; // 默认10MBpublic void split(Path inputFile, Path outputDir) throws IOException {…...

python标准库--heapq - 堆队列算法(优先队列)在算法比赛的应用

目录 一、基本操作 1.构造堆 2.访问堆顶元素&#xff08;返回堆顶元素&#xff09; 3.删除堆顶元素&#xff08;返回堆顶元素&#xff09; 4.插入新元素&#xff0c;时间复杂度为 O (log n) 5. 插入并删除元素&#xff08;高效操作&#xff09; 6. 高级操作- 合并多个有…...

5.12第四次作业

实验要求&#xff1a;完成上图内容&#xff0c;要求五台路由器的环回地址均可以相互访问 AR1 AR2 AR3 AR4 AR5 AS 200 ospf配置 AR2 AR3 AR4 BGP配置 AR1&#xff08;AS100&#xff09; AR2&#xff08;AS200&#xff09; AR4 AR5&#xff08;AS300&#xff09; 结果...

一文读懂如何使用MCP创建服务器

如果你对MCP&#xff08;模型上下文协议&#xff09;一窍不通&#xff0c;在阅读本篇文章之前&#xff08;在获得对MCP深度认识之前&#xff09;&#xff0c;你可以理解为学习MCP就是在学习一个python工具库mcp&#xff0c;类似于其它python工具库一样&#xff0c;如numpy、sys…...

telnetlib源码深入解析

telnetlib 是 Python 标准库中实现 Telnet 客户端协议的模块&#xff0c;其核心是 Telnet 类。以下从 协议实现、核心代码逻辑 和 关键设计思想 三个维度深入解析其源码。 一、Telnet 协议基础 Telnet 协议基于 明文传输&#xff0c;通过 IAC&#xff08;Interpret As Command…...

PID与模糊PID系统设计——基于模糊PID的水下航行器运动控制研究Simulink仿真(包含设计报告)

1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2016Rb&#xff09;软件。建议采用matlab2016 Rb及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff09; 针对水下航行器控制系统参数变化和海洋环境干扰等影响&#xff0c;研究水下航行器运…...

GPU SIMT架构的极限压榨:PTX汇编指令级并行优化实践

点击 “AladdinEdu&#xff0c;同学们用得起的【H卡】算力平台”&#xff0c;H卡级别算力&#xff0c;按量计费&#xff0c;灵活弹性&#xff0c;顶级配置&#xff0c;学生专属优惠。 一、SIMT架构的调度哲学与寄存器平衡艺术 1.1 Warp Scheduler的调度策略解构 在NVIDIA GPU…...

spark的处理过程-转换算子和行动算子

&#xff08;一&#xff09;RDD的处理过程 【老师讲授&#xff0c;画图】 Spark使用Scala语言实现了RDD的API,程序开发者可以通过调用API对RDD进行操作处理。RDD的处理过程如图所示&#xff1b; RDD经过一系列的“转换”操作&#xff0c;每一次转换都会产生不同的RDD&#xf…...

设计杂谈-工厂模式

“工厂”模式在各种框架中非常常见&#xff0c;包括 MyBatis&#xff0c;它是一种创建对象的设计模式。使用工厂模式有很多好处&#xff0c;尤其是在复杂的框架中&#xff0c;它可以带来更好的灵活性、可维护性和可配置性。 让我们以 MyBatis 为例&#xff0c;来理解工厂模式及…...

职坐标IT培训:互联网行业核心技能精讲

在互联网行业高速迭代的今天&#xff0c;掌握全链路核心技能已成为职业发展的关键突破口。职坐标IT培训聚焦行业需求&#xff0c;系统拆解从需求分析到系统部署的完整能力模型&#xff0c;助力从业者构建多维竞争力。无论是产品岗的用户调研与原型设计&#xff0c;还是技术岗的…...

IBM BAW(原BPM升级版)使用教程第十二讲

续前篇&#xff01; 一、用户界面&#xff1a;Process Portal和Workplace Process Portal 和 Workplace 都是 IBM Business Automation Workflow (BAW) 中提供的 Web 界面&#xff0c;供用户查看和处理流程任务、监控流程状态等&#xff0c;但它们之间有着不同的历史背景和功…...

2025 年福建省职业院校技能大赛网络建设与运维赛项Linux赛题解析

​ 准备环境&#xff1a;系统安装及网络配置 [!TIP] 接下来将完全按照国赛评分标准进行&#xff0c;过程中需要掌握基础的Linux命令以及理解Linux系统&#xff0c;建议大家在做题前将Linux基础命令熟练运用 网络建设与运维赛项详细教程请联系主页一、X86架构计算机操作系统安装…...

Netty在Java网络编程中的应用:实现高性能的异步通信

Netty在Java网络编程中的应用&#xff1a;实现高性能的异步通信 在当今的分布式系统中&#xff0c;高效、稳定的网络通信是保障系统运行的关键。Java作为一门广泛使用的编程语言&#xff0c;提供了多种网络编程方式&#xff0c;但传统的Socket编程在面对高并发场景时往往显得力…...

[高阶数据结构]二叉树经典面试题

二叉树经典面试题&#xff1a;&#xff1a; 目录 二叉树经典面试题&#xff1a;&#xff1a; 1.根据二叉树创建字符串 2.二叉树的层序遍历 3.二叉树的层序遍历II 4.二叉树的最近公共祖先 5.二叉树与双向链表 6.从前序与中序序列构造二叉树 7.从中序与后序序列构造二叉…...

第一章 应急响应-webshell查杀

远程连接一下 我们先查找一下网站的目录&#xff0c;到网站页面&#xff0c;可以看到有很多php文件&#xff0c;这样我们可以大致确定黑客上传的应该是php木马 通过ls -a 查看一下隐藏文件 现在我们查看一下各个php文件的内容 可以看到shell.php是一句话木马&#xff0c;但没…...

残差网络(ResNet)

残差网络&#xff08;Residual Network, ResNet&#xff09;介绍 残差网络&#xff08;ResNet&#xff09;是由微软研究院的何恺明&#xff08;Kai Ming He&#xff09;等人于2015年提出的深度卷积神经网络架构&#xff0c;其核心思想是通过残差连接&#xff08;Skip Connectio…...