从流量分析看linux内核与容器关系

运维安全岗笔试全攻略:Linux、K8s、容器安全与高频考点解析 在云原生与安全合规并重的今天,运维工程师的职责边界正从传统的服务器维护,扩展至容器编排、安全防护与应急响应等综合领域。理解Linux系统的核心命令与排查思路,掌握Kubernetes调用containerd运行容器的工作机制,是进阶云原生运维的基础能力。与此同时,镜像安全、容器逃逸防护、Web漏洞原理与主机加固等知识,已成为保障业务连续性的关键环节。无论是应对日常故障定位,还是准备运维安全类岗位的笔试,具备从系统、网络到应用层的结构化排查逻辑,配合Shell脚本与常用安全工具的实际操作经验,都至关重要。本文 阅读详情

一、网络关键路径性能传导视图

在NetInside可观测性模块中,我们基于k8s集群的业务逻辑结构,自定义的建立了以用户体验为中心的网络性能模型,如下图:

在这个流量模型中,浅绿色为体验传递与消减情况,因为用户的一个服务请求,在内部有多个处理逻辑,前一个逻辑的体验时间,依赖后一个逻辑的处理时间,所以其体验时间,会在多个处理逻辑进行传导,我们称之为性能传导视图,浅蓝色部分为处理逻辑向外请求的数据,浅红色则为处理逻辑中影响性能的关键指标。

二、发现问题

视图构建完成之后,竟然出现了橙色体验告警色块,这与我们的想象中的预期不符。在此之前,k8s集群一直是稳定运行,服务器接入也是全千M,基于我们对比业务和流量的了解,纯千的接入完全够用,且传统意义上的监控,也没有出现任何异常,所以出现个近40MS的服务器响应延迟,让我们有点惊讶。

继续看视图,我们发现这个橙色体验告警色块到数据库集时就没有了,可以初步判断问题的关键在于k8s集群。而k8s存在SDN网络,所以是SDN网络问题,还是物理网络问题,我们得区分出来,所以我们把k8s物理网络的性能指标也构建出来做为比较,结果问题还是指向k8s的SDN网络上,结合k8s集群SDN网络里面的关键性能指标,发现TCP的连接失败率还挺高的,由此其实已经可以判断,问题点,应该还是在k8s集群里面。

基于现有分析,我们决定先解决连接失败问题,因为这个问题与响应延迟是同一类型的问题,只是问题表现的程度不同。但面对这个问题的时候,让我们不得不面对一个让我们有点无语的问题。我们知道,TCP连接的建立是由linux内核完成的,而无论是容器也好,k8s的SDN也好,服务器的物理网络也好,对于k8s集群而言,其实都是在同一个内核上!也就是说,同一个人,干的同样的活,为什么表现的情况是不一样的?

三、分析问题

按下疑问,我们先对问题本身进行一些分析。

TCP连接的建立与维护是由linux内核完成的,所以,影响TCP连接失败的,通常有三种情况:

1,半连接及全连接队列溢出;

2,因时间戳而丢弃的;

3,程序异常;

程序异常暂时本次不考虑,因为这种情况多半都是百分百连接失败,也比较好识别,我们将把这种情况单独抽出来做另案处理。  

而第一种情况的也有三种可能:

1,并发连接太多;

2,队列太小;

3,程序处理太慢;

基于本次问题的实际情况,处理起来比较快的,还是队列大小问题,经过核查,队列确实太小,都是默认值没有做优化。队列太小只要优化一下内核参数就可以,但怎么处理就又回到了刚才的问题:优化linux内核对容器里面的应用有效吗?

四、深入linux内核分析

我们知道,容器里进程本身也是宿主机上的一个进程,只是通过namesapce(命名空间)进行隔离了,本质上也使用的是同一个内核,与宿主上的进程没有什么区别。那么对宿主机的内核化是否就会影响到容器里面?为回答这个问题,我们需要了解namespace在内核中是如何实现的。

既然都是进程 ,我们就从进程开始。在linux内核里面,对进程的处理及调度,都是通过task_struct这个结构体,所有与进程相关的信息,都在这个结构体里面,我们在这个里面找找关于namespace相关的内容:

与namespaces相关的结构体是nsproxy,我们接着看这个结构体面有什么:

namespaces命名空间有5个,都在这个结构体里面,我们主要是看关于网络的,所以接着找net:

到这里我们看到了一个关键目录:proc_net,其实就是proc目录,我们可以看下他初始化的代码:

可以确认,proc_net初始化的时候,就是加载的proc根目录, 而proc这个目录是一个虚拟的文件系统, 它不存在于磁盘上, 而是存在于系统内存中。proc以文件系统的方式为访问系统内核的操作提供接口,且内核及进程运行时候的所有信息,都放在这里面。换句话说,我们对内核的优化,其实就是操作这个目录里面的文件。那么宿主上的proc目录与容器里面的proc目录是不是同一个呢?可惜,不是同一个,因为这个目录是动态从系统内核读出所需信息的,而namespaces又在内核及进程上命名隔离,所以信息不一样。

五、验证

无论理论研究的怎么样,都要实际验证一下我们的理解对不对。我们先在宿主上拿一个全连接队列优化的参数somaxconn来验证,如下图:

可以看到,此参数优化后,开启一个nginx进程,其队列最大值已经成256。现在我们启动一个nginx容器,看值变化了没有,如下图:

可以看到,容器里面的nginx的值,还是默认的128.也就是说,优化宿主内核,对容器内是无效的。

那么如果优化容器里面的参数,对TCP连接有没有实际的影响呢?我们也压测一下,为了方便比对,我们在同一台主机上开两台nginx容器,一台有优化的,端口是9001,一台没有优化的,端口9002,如下:

请注意,docker与k8s在内核优化的位置不太一样,此处简单验证。

确认是否优化情况:

通过ab 反复多次打连接流量:

查看队列溢出情况:

可以看到,经过优化的,没有出现队列溢出,而没有优化的,则发生了6000多次的队列溢出。

由此,我们通过验证,确认容器内是需要单独进行优化的,这与我们理论上的分析一致。

六、补充一个知识点

为什么SS -ltpn里面的Send-Q是全连接队列最大值?这不是发送队列吗?你的怀疑没有错,但SS这个有点不一样,SS命令利用到了 TCP 协议栈中tcp_diag,tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中第一手的信息,而这个模块通过区分状态来区分指标的含义,这种做法,我们也觉得好奇怪,看源码:

七、结语

通过NetInside自定义的视图,我们预见了容器网络优化的问题,接下来,将推进集群的整体优化。在本次的预见性运维中所发现的问题,与相关的k8s领域内专业的朋友沟通后,发现大部份情况下,大家对此问题是忽视的,一方面是传统运维监控系统下视觉的不足,另一方面也是大家想当然的认宿主机的内核优化会自然的与容器同步的,导致这个问题成了盲点。所以基于全流量的监测与分析,深入所有网络应用的“血液”进行诊断,可以消除我们的监测盲点,预见问题的存在,在问题发生前,解决问题,减少不必要的业务损失。

                                                                                                            jansen#FZ

                                                                                                            jingshne#outlook.com

                                                                                                           

无需CA证书:基于eBPF与NSS Hook捕获Firefox HTTPS明文流量 HTTPS流量分析是网络安全测试、应用调试和协议分析中的常见需求,其核心在于如何解密受TLS/SSL加密保护的通信数据。传统方法通常依赖中间人代理,要求安装自定义CA证书,这在权限受限或安全合规要求严格的Linux环境中往往难以实施。eBPF技术提供了一种创新的解决方案,它允许在内核态安全地运行观测程序,通过用户空间探针直接挂钩目标进程的加解密函数。这种技术无需修改应用配置或安装额外证书,即可从内存中读取明文数据,极大提升了在受限环境下的调试与取证能力。eCapture工具正是基于eBPF实现,其NSS模块 阅读详情

相关推荐

Android各个版本存储权限适配

虽然 Android10 上面提出了外部存储分区的概念,不过之前的版本中,我们只要为应用添加了。1、AndroidManifest添加权限设置。3、拒绝权限时跳转详细设置页面。就可以像之前的方式一样访问手机的外部存储空间。2、请求所有文件管理权限。

sig321的专栏 1847

想更好应对突发网络与业务问题?需要一款“全流量”工具

在数字化高压环境中,业务中断可能导致巨大损失。传统日志和采样监控可能遗漏关键线索,而全流量可视化则能提供无丢失的网络流量采集、分析和回溯,覆盖L2-L7层数据包,还原真实场景。全流量可视化在突发问题中尤为重要,能准确定位问题源头、绕开日志盲区、精准应对安全威胁。然而,实施全流量可视化也面临数据量大、隐私合规和网络架构部署等挑战。全流量可视化并非监控的全部,而是多维度运维体系的补充。在紧急复杂的网络与业务异常场景下,全流量可视化能提供还原一切的能力,是未来运维、安全和分析趋势中不可或缺的基石。

Johnstons的博客 1024

django安装mysqlclient (Windows下正确安装mysqlclient)

由于本人也是初学Python和django。本人使用的Python版本是3.7所以连接MySQL数据库需要安装数据驱动,对应Python3的数据驱动是mysqlclient。因此本人习惯性的使用命令pip install mysqlclient,结果安装失败 (venv) C:\Users\songlihui\PycharmProjects\autotest>pip install my...

songlh1234的博客 2万+

天眼全流量系统的详细说明

奇安信天眼新一代威胁感知系统(以下简称“天眼”) 汇集流量传感器、文件威胁鉴定 器、邮件告警、奇安信天堤防火墙、网神云锁等多种告警数据,基于奇安信自有的多维度 海量互联网数据,进行自动化挖掘与云端关联分析,提前洞悉各种安全威胁,并向客户推 送定制的专属威胁情报;同时结合部署在客户本地的软、硬件设备,奇安信天眼能够对未 知威胁的恶意行为实现早期的快速发现,并可对受害目标及攻击源头进行精准定位,最终 达到对入侵途径及攻击者背景的研判与溯源;

m0_73803866的博客 1万+

YOLOv8模型RKNN量化策略与RK3588部署实战解析

本文详细解析了YOLOv8模型在RK3588平台上的RKNN量化策略与部署实践。通过对比INT8和FP16量化方式的性能差异,结合实际测试数据,为开发者提供了从模型导出、转换到板端部署的完整解决方案,帮助实现高效的边缘AI应用部署。

oil88的博客 1103

VS2022下OSG+OSGEARTH开发环境一键配置指南(Win10 x64+CMake自动化构建)

本文详细介绍了在VS2022环境下配置OSG和OSGEARTH开发环境的完整指南,包括软件下载、CMake自动化构建、编译实战及环境验证。通过一键配置脚本和常见问题解决方案,帮助开发者快速搭建3D开发环境,提升开发效率。

weixin_28828243的博客 405

AnaTraf全流量分析系统:网络世界的“千里眼”,你真的了解吗?

AnaTraf 的设计理念很贴近一线运维和安全团队的实际需求,不是“炫技”,而是真正解决日常中遇到的“网络怎么又卡了?很多企业一听“全流量”,就想到“高成本”“高存储压力”“难部署”“看不懂”等问题。确实,传统的全流量分析系统要么是大型电信级方案,要么就是纯抓包工具,不仅造价高,使用门槛也高。全流量分析系统不再是“锦上添花”的工具,而是每个企业在数字化转型中“保驾护航”的必备武器。,一旦出现问题,比如延迟突然升高、服务掉线、异常访问、数据泄露等,它可以第一时间“翻录像”,找出问题源头。

networkexpert168的博客 867

【SWPUCTF 2021 新生赛】hardrce

对每个字符的ASCII值进行按位取反操作(这种要进行自增马进行绕过。

XiaoHei的博客 460

深度解析:全流量分析与IP会话回溯在IT运维中的应用

全流量分析是指对通过网络的所有数据包进行捕获、存储和分析的一种方法。与传统的采样或抽样技术不同,全流量分析能够提供最全面的网络视图,帮助工程师了解网络中发生的一切。全流量分析和IP会话回溯是现代IT运维中不可或缺的技术。通过全面的流量捕获和精确的会话回溯,网络工程师能够更好地监控网络状态,快速排除故障,优化网络性能。结合实际案例和实用技巧,这些技术将帮助您打造更加稳定、高效的网络环境。在未来,全流量分析和IP会话回溯将继续发展,成为网络安全和运维领域的重要支柱。

Johnstons的博客 1320

kubedns-coredns部署pod出现not ready问题

文章目录遇到的问题1、发现问题2、排查问题3、解决方法 coredns的实例health_check不通过的问题,排查和解决方法 遇到的问题 1、发现问题 pod启动但是未ready 查看是readiness失败 使用对应的URL进行curl,发现真的返回503 2、排查问题 查看错误日志,发现一堆这个错误"waiting on : kubernetes" 网上相关的问题解答 这个跟测试场景不一样,这个案例是开了防火墙,可以确认我这个案例的机器没有开防火墙,但它提醒了一点,coredns是需要访问ap

u012533481的博客 2844

钉钉宜搭低代码开发师高级认证考试题库113题

钉钉宜搭低代码开发师(高级)考试试题题库,多次考试收集整理,判断题,单选题,多选题,排版清晰,查找方便。希望能帮助到大家!!!

qq_40811920的博客 6409

NetInside可观测分析平台上线了

可观测性方案是网深科技NetInside全流量回溯分析解决方案中重要组成之一,用户通过创建或共享适合自身的观测视图,实时掌握全局

NetInside_的博客 1022

CANape a2l文件的编辑教程

编辑a2l文件

wsq119的博客 1万+

全流量分析发现问题解决问题案例

基于预见性运维,我们利用NetInside可观测性模块,自定义网络性能传导视图,对某k8s集群进行性能监测,意外的发现了linux内核与容器关系的特别处,并深入分析了namespace在linux内核里的实现机制,为推动潜在问题解决提供了理论基础。

NetInside_的博客 535

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SecGPT-14B效果展示:对Docker容器逃逸行为日志进行Linux内核级归因分析

本文介绍了如何在星图GPU平台上自动化部署SecGPT-14B镜像,实现Docker容器逃逸行为日志的Linux内核级归因分析。该网络安全大模型能够精准识别特权容器滥用、敏感目录挂载等逃逸技术,并提供深度系统调用追踪与修复建议,显著提升容器安全防护效率。

weixin_42298254的博客 869

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

如何快速上手pwru:10分钟学会Linux内核网络调试

pwru(Packet, where are you?)是一款基于eBPF技术的Linux内核网络调试工具,它能帮助开发者追踪网络数据包在内核中的流转路径,轻松定位复杂的网络连接问题。无论是排查丢包原因、分析转发逻辑还是调试防火墙规则,pwru都能提供精准的内核级视角,让网络调试不再盲人摸象。 ## 🌟 为什么选择pwru? 传统的网络调试工具往往停留在用户态,难以深入内核黑盒。而pwru通

gitblog_00075的博客 570

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux在云原生时代的再造:从容器虚拟化到轻量内核革命

摘要: Linux已完成从传统操作系统向云原生基础设施的华丽转身。作为容器技术的底层核心,Linux通过命名空间和Cgroups等机制成为云环境的通用语言。在云原生时代,轻量化Linux系统取代冗余发行版,专注容器优化与安全隔离。其角色从系统管理转向服务平台,通过API化内核功能支撑Kubernetes等分布式架构。新的安全机制如eBPF赋予其主动防御能力。未来,Linux将进一步融入Serverless、边缘计算和AI系统,成为无处不在的"云基因",完成从操作系统到分布式运行环境的升华

2501_94114771的博客 759

Linux下从零搭建无线AP与流量分析环境:hostapd实战指南

无线网络是现代网络通信的基础设施,其核心是802.11协议簇。理解无线网络的工作原理,需要从数据链路层和网络层两个维度切入:在链路层,无线网卡通过驱动模式切换(如托管模式、AP模式、监控模式)实现不同功能;在网络层,则需要通过DHCP、NAT、路由等机制实现客户端联网。掌握这些技术对于网络运维、安全测试和协议研究具有重要价值,特别是在需要构建可控测试环境的场景中。本文以hostapd和dnsmasq为核心工具,详细演示如何在Linux系统上搭建一个完整的无线接入点,并实现客户端连接管理与流量捕获分析,为无线

weixin_33912638的博客 375

一文带你系统学习Linux中的eBPF

eBPF(Extended Berkeley Packet Filter)是一个强大的 Linux 内核技术,它最初设计用于高效地过滤网络数据包,但随着功能的扩展,现在成为了内核性能调试、监控、安全审计以及网络流量管理等领域的核心工具。本文将详细介绍 eBPF 的工作原理、应用场景以及技术细节,帮助您深入理解其机制和应用潜力。

执剑人 2821

XDP-Firewall完全指南:基于Linux内核XDP技术的超高速DDoS防护方案

XDP-Firewall是一款基于Linux内核XDP(eXpress Data Path)技术的超高速防火墙解决方案,专门设计用于防御DDoS攻击。这个开源项目利用了Linux内核的网络数据包处理能力,能够在网络数据包到达操作系统网络栈之前就进行过滤,实现微秒级的响应速度,为网络工程师和系统管理员提供了一种革命性的DDoS防护方法。 ## 什么是XDP技术?为什么选择XDP-Firewall?

gitblog_00398的博客 779

Linux服务器安全进阶:内核防护与网络服务加固实战指南

在服务器安全领域,纵深防御体系是保障系统稳定运行的核心。其原理在于通过多层防护机制,从系统内核到应用服务,逐层拦截潜在威胁。这种架构的技术价值在于能显著缩小攻击面,提升系统整体韧性。在应用场景上,无论是应对网络扫描、漏洞利用还是配置不当引发的风险,一个经过加固的系统都至关重要。本文聚焦于Linux安全进阶,深入探讨如何利用SELinux、AppArmor等强制访问控制模块,以及通过内核参数调优和网络服务配置,构建主动防护能力,实现从基础可用到真正“抗揍”的转变。

weixin_34110749的博客 571

gibMacOS 一条命令拉取 macOS 官方镜像

如果你需要在 Windows 或 Linux 这类非 Mac 电脑上下载 macOS 安装文件,gibMacOS 一条命令就能把镜像组件直接从 Apple 官方服务器拉到本地。不靠 Mac 中转,不碰 App Store,整个工具就是一个纯 Python 脚本,装上就能用。 ## 30 秒跑通 🚀 前置条件只有 Python 3,免安装,跑得快。先把代码克隆到本地: ```bash git

gitblog_00620的博客 372

KubeHawkeyes完全指南:如何使用eBPF技术实现容器深度观测

前往项目官网免费下载:[https://ar.openeuler.org/ar/](https://ar.openeuler.org/ar/?utm_source=csdn_blog) KubeHawkeyes是openEuler社区推出的容器观测工具,专注于提供标准化、规范化的eBPF观测能力,为KubeHawk解决方案提供核心技术支撑。本文将带您全面了解如何利用这款强大工具实现容器的深度观测

gitblog_06896的博客 150

深入内核:利用 eBPF 技术开发高性能监控与隐匿工具

就像 JavaScript 允许开发者在不修改浏览器源码的情况下,动态地为网页添加交互逻辑一样,eBPF 允许开发者和运维人员在不修改操作系统内核的情况下,动态地为内核添加监控、网络和安全逻辑。(extended Berkeley Packet Filter) 作为一项革命性的内核技术,允许我们在不修改内核源码、不加载内核模块的情况下,安全、高效地在内核中运行沙箱化的“微程序”,为流量分析、性能监控、安全审计乃至高级攻击工具的开发,提供了一个前所未有的强大平台。旨在为您提供一个从理论到实践的完整学习路径。

Alfadi联盟 萧瑶的博客 570

Kubernetes网络可观测性挑战:Kubeshark eBPF全流量分析实战指南

如何快速定位微服务通信瓶颈?如何在不中断服务的情况下解密TLS流量?**Kubeshark**作为基于eBPF的Kubernetes网络可观测性平台,为SRE团队和AI代理提供了集群范围的全流量索引能力,支持L4/L7流量分析、无密钥TLS解密,并通过MCP协议实现AI驱动的网络根因分析。 ## 场景挑战:微服务网络黑盒化困境 现代云原生环境中,微服务架构的复杂性使得网络通信成为最难监控和调试

gitblog_00037的博客 758

2024年Kali Linux复现MS12-020漏洞:从原理到实战的深度解析

远程桌面协议(RDP)作为Windows系统远程管理的核心组件,其安全性直接关系到系统稳定。协议模糊测试是发现此类漏洞的关键技术,通过向目标发送畸形或非预期数据,探测其边界条件与异常处理机制,从而识别潜在的安全缺陷。CVE-2012-0002(MS12-020)正是一个经典的RDP协议解析漏洞,攻击者通过构造包含异常maxChannelIds字段的数据包,可触发Windows内核态内存访问违规,导致系统蓝屏崩溃,实现远程拒绝服务(DoS)攻击。该漏洞原理清晰,是学习协议分析、内核安全及DoS攻击机制的绝佳案

weixin_30268071的博客 477
上一篇: SAP性能监控分析解决方案
下一篇: NetInside可观测分析平台上线了
NetInside_
博客等级 码龄5年 69粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值