(快速掌握)网络流讲解

Wireshark实战:从网络流量中快速定位SQL注入与Webshell攻击痕迹 网络流量分析是网络安全领域的核心技能,它通过解析数据包来监控和诊断网络行为。其原理在于捕获并解码网络通信中的原始数据,从而洞察潜在的安全威胁。这项技术的价值在于能够还原攻击现场、提取数字证据,是安全应急响应和渗透测试的关键环节。在应用场景上,它广泛用于入侵检测、CTF竞赛解题以及日常安全运维。本文将聚焦于使用Wireshark这一主流工具,针对常见的SQL注入和Webshell攻击,分享一套高效的流量分析实战方法,帮助安全从业者从海量数据中精准定位攻击痕迹。 阅读详情

刷了23道网络题后,想写一个博客记录

概述:

        网络是一个特殊的有向图(V,E),与一般的有向图特殊在于 边有容量,以及有源汇点的设计

        E中每条边(u,v)有一个称为容量的权值,称为c(u,v)

        V中有两个特殊点 :源点和汇点

        网络中还有个概念叫流,存在于边集之中,满足以下性质

                源点可以流出的流量无限大,汇点可以流入的流量无限大

                容量限制: 边的流不能超过边的容量

                流量守恒:对于非源点和汇点的每个顶点,流入的流量和流出的流量相同

                               更形式化的表示是:

                                \sum_{x \in V} f(u, x) = \sum_{x \in V} f(x, u)

网络流的建模:

        和DAG(有向无环图)类似但是在建图时要连一条反向边(容量为0)用于构建残余网络

        且这并不是环,是解题的一部分

关于网络流有三个经典问题

最大流问题

最小割问题

最小费用最大流问题(费用流)

最大流问题:

        从模型上来说就是找到流入汇点最多的流量为多少

        

ps:这里1号节点流入的流量实际为2,写成5是为了更好感受这种流的概念

解决此类问题有两种算法:EK算法和Dinic算法,这里笔者认为Dinic效率更高,仅展示Dinic算法

.因为讲解Dinic的视频和文章很多,故不进行讲解

bool bfs() {
    memset(d,0,sizeof(d));
    queue<int> q;
    q.push(s);
    d[s]=1;
    while(!q.empty()) {
        int u=q.front();
        q.pop();
        for (int i=head[u];i;i=e[i].ne) {
            int v=e[i].v;
            if (e[i].c &&!d[v]) {
                d[v]=d[u]+1;
                q.push(v);
                if (v==t)return true;
            }
        }
    }
    return false;
}
int cur[N];
int dfs(int u,int mf) {
    if (u==t)return mf;
    int sum=0;
    for (int i=cur[u];i;i=e[i].ne) {
        int v=e[i].v;
        cur[u]=i;
        if (e[i].c && d[v]==d[u]+1) {
            int f= dfs(v,min(mf,e[i].c));
            sum+=f;
            mf-=f;
            e[i].c-=f;
            e[i^1].c+=f;
        }
        if (mf==0)break;
    }
    if (sum==0)d[u]=0;
    return sum;
}
int Dinic() {
    int flow=0;
    while (bfs()) {
        memcpy(cur,head,sizeof(cur));
        flow+=dfs(s,INF);
    }
    return flow;
}

最大应用和建模

P3254 圆桌问题 - 洛谷

  

公司连向餐桌容量为1,是因为一个公司的代表不能同时去一个餐桌

最小割问题:

概述:

        将V分为两个集合S,T 其中s∈S,t∈T。S∩T=\O\O空,S∪T=V

        S流向T的容量之和为割

        最小割就是所有划分中割最小的

最小割的性质

         最小割等于最大流

         最小割等于s到t不相交的路径数

求最小割等于求最大流,也是利用Dinic算法(上面已展示)

最小割应用及建模

P2762 太空飞行计划问题 - 洛谷

因为实验和仪器之间的容量为INF,所以INF必然不能成为最小割,即不存在选了实验却没选对应的仪器(这样会使割无限大)

首先将我们选择的实验和选择的仪器划分进集合S,未被选入的划分进T,那么我们的割就是未被选入S的实验的奖金之和 加上选入S的仪器成本之和 

而收益等于 奖金-成本 = 所有的奖金 - 未被选入的实验奖金 - 选入仪器的成本 = 所有奖金-最小割

费用流问题:

在网络的基础上,给边集的每条边加上权值,若存在多种实现最大流的方案,求出权值之和最小的方案

这里使用EK算法

bool bfs() {//SPFA
    memset(mf,0,sizeof(mf));
    memset(dis,0x3f,sizeof(dis));
    memset(vis,0,sizeof(vis));
    queue<int> q;
    q.push(s);
    dis[s]=0;
    mf[s]=INF;
    while(!q.empty()) {
        int u=q.front();
        q.pop();
        vis[u]=false;
        for (int i=head[u];i;i=e[i].ne) {
            if (e[i].c && dis[e[i].v]>dis[u]+e[i].w) {
                int v=e[i].v,w=e[i].w;
                dis[v]=dis[u]+w;
                pre[v]=i;
                mf[v]=min(mf[u],e[i].c);
                if (!vis[v])vis[v]=true,q.push(v);
            }
        }
    }
    return mf[t]!=0;
}
int cost,flow;
void EK() {
    while (bfs()) {
        for(int v=t;v!=s;) {
            int i = pre[v];
            e[i].c-=mf[t];
            e[i^1].c+=mf[t];
            v = e[i^1].v;
        }
        flow+=mf[t];
        cost+=dis[t]*mf[t];
    }
}

其他有趣的网络流:

P2754 [CTSC1999] 家园 / 星际转移问题 - 洛谷

P2765 魔术球问题 - 洛谷

Linux实时流量监控实战:从iftop到tcpdump快速定位带宽占用 在Linux服务器运维中,网络带宽被占满、CPU飙升但无法定位来源,是常见的故障场景。实时流量监控是快速排查这类问题的核心手段。其原理是通过对网卡数据包进行实时采样与统计,从整体带宽、连接来源、进程占用和报文细节等多个维度还原流量全貌。掌握nload、iftop、nethogs、tcpdump等工具的组合用法,能够帮助运维人员在几分钟内定位异常IP、进程或端口,为应急止血与后续优化提供依据。典型的应用场景包括:服务器网卡流量突然打满、业务高峰期带宽持续居高、以及需要输出历史流量报表等。本文从工具选型、命令实 阅读详情

相关推荐

VINS-Fusion实战:从零搭建无人机视觉惯性导航系统(附ROS配置指南)

本文提供了一份详尽的VINS-Fusion实战指南,涵盖从硬件选型、传感器标定到ROS节点配置与参数调优的全过程。重点解析了如何将VINS-Fusion视觉惯性里程计系统与PX4飞控深度集成,并实现室外GPS融合,旨在帮助开发者从零搭建稳定、高精度的无人机视觉惯性导航系统。

lll78的博客 864

如何快速部署Malcolm网络流量分析平台:面向新手的终极指南

Malcolm是一个功能强大的开源网络流量分析工具套件,专门用于全包捕获工件(PCAP文件)、Zeek日志和Suricata警报的分析。无论你是网络安全新手还是需要快速搭建监控系统的管理员,本指南都将帮助你轻松掌握Malcolm的部署技巧。 ## 🎯 为什么选择Malcolm进行网络流量监控 Malcolm集成了业界领先的开源工具,为你提供完整的网络流量分析解决方案: | 核心优势 | 技

gitblog_00152的博客 1179

使用electron静默打印

使用electron静默打印 1.使用electron打印的理由 很多情况下程序中使用的打印都是用户无感知的。并且想要灵活的控制打印内容,往往需要借助打印机给我们提供的api再进行开发,这种开发方式非常繁琐,并且开发难度较大。 electron提供的打印api可以非常灵活的控制打印设置的显示,并且可以通过html来书写打印内容。 2.api ele...

w1366352655的博客 945

【网络流】解题报告:luogu P3376 【模板】网络最大流

题目链接: P3376 【模板】网络最大流 Dinic Dinic算法是网络流最大流的优化算法之一,每一步对原图进行分层,然后用DFS求增广路。时间复杂度是O(n^2*m),Dinic算法最多被分为n个阶段,每个阶段包括建层次网络和寻找增广路两部分。 Dinic算法的思想是分阶段地在层次网络中增广。它与最短增广路算法不同之处是:最短增广路每个阶段执行完一次BFS增广后,要重新启动BFS从源点Vs开始寻找另一条增广路;而在Dinic算法中,只需一次DFS过程就可以实现多次增广。 层次图: 层次图,就是把原图中

繁凡さん的博客 638

Comsol 弧形声学换能器声聚焦仿真

1. 弧度和曲率半径:弧形声学换能器的形状和曲率半径对声聚焦效果有重要影响。通常,较小的曲率半径和较大的弧度可以实现更强的声聚焦效果。弧形声学换能器声聚焦是指将声波能量集中在弧形声学换能器的特定区域内,以实现更强的声场强度和分辨率。4. 数值仿真和优化:使用声学仿真软件进行数值仿真可以帮助设计和优化弧形声学换能器的声聚焦效果。通过调整几何参数、材料特性和激励信号等参数,可以模拟和优化声聚焦效果。2. 激励信号:通过调整激励信号的频率和幅值,可以实现声波在弧形声学换能器中的聚焦效果。

声学黑洞仿真工作室 1616

VOWIFI--相关的协议文档

一、3GPP相关协议文档 3GPP 23.402 Architecture enhancements for non-3GPP accesse- //重要 整体框架结构和流程,3GPP和NON-3GPP切换 3GPP 36.304  User Equipment (UE) procedures in idle mode //重要,终端在空闲状态下3GPP与NON-3GPP之间的重选方法   3GP

时九博客 3578

资深黑客和运维都在用的Wireshark!手把手教你解密网络流量(超详细)

摘要 WireShark是一款流行的网络封包分析工具,用于截取和分析网络数据包。本文介绍了WireShark的安装、基本抓包操作及界面功能,包括数据包列表、详细信息和字节区。重点讲解了过滤器的使用,包括抓包过滤器和显示过滤器,帮助用户筛选特定协议、IP或端口的数据包。通过示例演示了如何抓取和分析ICMP协议数据包,并详细说明了过滤条件的语法规则,如比较操作符和逻辑运算符。文章还提供了颜色标识和协议字段解析功能,便于开发者快速定位网络问题。 (字数:149)

wholeliubei的博客 1374

面向网络攻击行为可视化分析系统实现【WebSocket + 可视化】

本系统主要应用于网站运维管理,它解决了网站运维人员排查网络攻击行为复杂且繁琐等问题,提高了运维人员网络安全分析的效率和准确性。

oNew_Lifeo的博客 1620

Dinic 最大流

我的博客地址: https://startcraft.cn 概述 dinic算法是网络流中的一种算法,这里拿来求最大流 所谓最大流就是一个网络中的最大流量,如下面这个图片 其中A称作源点,B称为汇点,边上的数字代表这条边最多能容纳多大的流量,所以上图的最大流量为12 dinic算法就是求最大流算法的一种 反向边概念 大部分网络流的算法都会在建边是建立一条反向边,初始权值为0,可以理解为给算法后...

lalala445566的博客 682

腾讯云CodeBuddy+微信小程序:5分钟开发番茄小闹钟

番茄钟是一种简单的时间管理方法。这个方法很简单:你专注工作25分钟,然后休息5分钟。这样可以让你更专心,不容易分心,还能防止过度疲劳。 很多人用番茄钟来提高工作效率,因为它能帮助你更好地管理时间。不过,市面上的一些免费番茄钟应用常常会有广告弹出来,影响使用体验。这就是为什么我们要开发一个没有广告的番茄钟小程序,让用户可以专心工作,不被打扰。

2201_75366661的博客 1689

AI漫剧全套万能提示词合集

今天给大家整理一套已经跑通爆款漫剧的万能提示词库!覆盖:豆包剧本人设词 + 分镜生成词 + 即梦绘图词 + 动态优化词 + 防翻车固定词直接复制粘贴,新手也能做出稳定、高清、统一、有质感的AI漫剧!你是资深短视频漫剧编剧,擅长制作60秒竖屏爆款AI漫剧,请为我创作一集完整漫剧内容。要求:开头3秒高能抓眼,中段有冲突转折,结尾留强悬念钩子,节奏紧凑、适合短视频流量。首先生成固定统一人物人设:包含脸型、五官、发色、发型、穿搭、身材、气质、画风、光影细节,要求足够精细,保证全程角色不变脸。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1871

网络流量分析指南:运维排障与带宽监控实战

在IT运维中,网络故障排查往往最依赖数据支撑。当业务系统变慢或连接异常时,如何快速定位是带宽瓶颈、链路质量问题还是应用层故障?网络流量分析技术正是解决这一难题的关键。通过旁路采集与集中解析,将原始数据包转化为吞吐量、TCP连接数、重传率、RTT等可量化指标,运维人员可以实时掌握全网流量分布,快速识别异常IP与端口。应用场景覆盖带宽占用排行、TCP质量检测、连接重置定位等高频排障需求。本文以AnaTraf网络流量分析免费版为例,梳理从部署到实战的完整路径,帮助中小团队低成本补齐监控盲区,让每一次故障排查都有据

weixin_30846347的博客 258

LSTM 双向 Bi-LSTM

LSTM 双向 Bi-LSTM

jacke121的专栏 1516

现在还缺乏的东西列表

1.pam 2.博弈论 3.FFT 4.莫比乌斯反演 5.分块 6.有上下界的网络流 7.BSGS

lcrtest的博客 616

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SoloPi性能测试实战:5个关键指标监控与分析方法

想要提升Android应用的用户体验?性能测试是关键!SoloPi作为一款开源免费的Android性能测试工具,能够帮助开发者快速监控和分析应用性能表现。本文将详细介绍SoloPi性能测试的5个核心指标监控方法,让你的应用性能优化更加高效。🎯 ## 🔍 什么是SoloPi性能测试工具? SoloPi是一款功能强大的Android端性能测试工具,支持实时监控应用的各项性能指标。通过悬浮窗展示

gitblog_01135的博客 996

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

有上下界的网路流学习笔记(×)

被大佬扯去学有上下界的网络流 拖了两个星期之后大佬终于在我的不懈催促下开始找论文 学了半个星期了但是至今仍未找到题可做…… 这是一篇好blog:https://www.cnblogs.com/liu-runda/p/6262832.html (超级无敌详细!就是在看的时候差一点不认识”流“字了……) caioj1186: 无源汇有上下界可行流(模板) http://caioj.cn/p...

kkkGIGi_qtt 238

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Cloud-PCAP 开源项目教程

Cloud-PCAP 开源项目教程 项目介绍 Cloud-PCAP 是一个用于在云端存储和进行轻量级数据包分析的开源项目。它是 cloudshark.org 的一个简单模仿版本,旨在提供一个易于使用的云端 PCAP 文件存储和分析解决方案。该项目完全免费且开源,使用 Apache 2.0 许可证,允许用户以任何方式自由使用。 项目快速启动 环境准备 在开始之前,请确保您的系统上已安装以下工具: ...

gitblog_00871的博客 633

dinic(邻接表)模板

<br />//用它做过一些题(hdu3046,poj3469等),正确性和效率都有待改进 //主要难题:如何在用邻接表表示余留网时迅速找到一条边的逆边? const int null = -1; const int VMAX = 40000; const int EMAX = 160000; struct Edge { int adj,next,re; //指向的点,下一边的下标,逆边的下标 int r; //余留网边的容量 }h[EMAX+10];

birdforever的专栏 1291

模板大全

AC自动机: #include &amp;amp;amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;amp;amp;gt; #include &amp;amp;amp;amp;amp;amp;lt;cstring&amp;amp;amp;amp;amp;amp;gt; #include &amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;gt; #in

wangyuda123456789的博客 338

个人用高级算法与分析笔记(待补充)

先根据长度进行升序排序,然后依次放入不重合的,可以得到答案为。先根据到达时间升序排序,相同到达时间的根据工作时间安排先后。eg2:对于朴素的冒泡排序,最好情况,最坏情况,平均情况为。eg3:对于朴素的归并排序,最好情况,最坏情况,平均情况为。次松弛就可以跑完全部的可能,但如果出现了负环的话,则说明。4.重复以上,直到找不到增广路为止,此时之前所有操作过的。,要矩阵内每个元素两两相加),如此递归。事实上,空间复杂度不是考虑的首选,因为。eg4:对于朴素的快速排序,最好情况为。,求背包能装满的最大的价值。

因为一无所有,所以拥有无限可能。 1187

链式前向星详解:从原理到网络流优化的静态邻接表

图论算法中,存图方式直接决定程序的性能上限。初学者常用邻接矩阵与动态邻接表,但稀疏图场景下,矩阵空间爆炸、vector链表内存碎片化严重。链式前向星作为静态数组实现的邻接表,以连续内存和极低常数成为算法竞赛与高性能图处理的首选。它用head、to、nxt三个数组模拟链表,支持O(1)加边、线性遍历出边,在百万级边图中表现优异,尤其适合网络流、最短路等对性能敏感的算法。本文从存图方式演进讲起,深入剖析链式前向星的原理、实现、空间复杂度与常见坑点,并给出无向图、重边、初始化等实战经验,助你彻底掌握这一经典数据结

weixin_34101914的博客 200

代码重建计划

代码重建计划 主要目标:将上古时期写的丑陋代码模板全部重写,将代码进行社会主义现代化! 基础 【模板】堆 (STL)Accept! 【模板】快速排序 【模板】并查集 【模板】快速幂||取余运算 【模板】线性筛素数 【模板】字符串哈希 【模板】最小生成树 【模板】单源最短路径(弱化版) 普及 【模板】树状数组 1 【模板】三分法 【模板】树状数组 2 【模板】ST表 【模板】矩阵快速幂 【模板】KMP字符串匹配 【模板】乘法逆元 【模板】线段树 1 【模板】矩阵加速(数列) 【模板】最近公共祖先(LCA)

hyf_juruo的博客 188

最小费用最大流

入门看这个博客 https://blog.youkuaiyun.com/txl199106/article/details/64441994 但是这个博客里的模板比较基础,常数有点大,但是浅显易懂 下面这个模板比较快 最小费用最大流模板 #include&lt;cstdio&gt; #include&lt;string.h&gt; #include&lt;queue&gt; #include&lt;...

Adolphrocs的博客 805

Wireshark零基础使用教程(超详细)

菜单栏:用于调试、配置工具栏:常用功能的快捷方式过滤栏:指定过滤条件,过滤数据包数据包列表:核心区域,每一行就是一个数据包数据包详情:数据包的详细数据数据包字节:数据包对应的字节流,二进制。

m0_59598029的博客 172

Dinic算法最大流入门

例题传送门 Dinic算法是网络流最大流的优化算法之一,每一步对原图进行分层,然后用DFS求增广路。时间复杂度是O(n^2*m),Dinic算法最多被分为n个阶段,每个阶段包括建层次网络和寻找增广路两部分。 Dinic算法的思想是分阶段地在层次网络中增广。它与最短增广路算法不同之处是:最短增广路每个阶段执行完一次BFS增广后,要重新启动BFS从源点Vs开始寻找...

a309773041的博客 90

四路 CAN 转 4G 网关

SG‑CAN‑4G‑410 为**四路隔离 CAN 转 4G 工业网关**,把 CAN2.0A/B 报文封装成 TCP/UDP 报文,通过 4G 无线网络实现 CAN 总线远程监控、远程控制。四路 CAN 相互独立;以太网仅用于本地配置,不做业务数据传输;支持移动 / 联通 / 电信 4G 网络。

S2003120416的博客 160
上一篇: 写了一些dp
Suroo
博客等级 码龄2年 6粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值