分享一款流量分析工具 [GO-FLOW] - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
oom
V2EX    Go 编程语言

分享一款流量分析工具 [GO-FLOW]

  •  
  •   oom 174 天前 2970 次点击
    这是一个创建于 174 天前的主题,其中的信息可能已经有所发展或是发生改变。

    go-flow 是一款基于滑动窗口实现的实时网络流量监控工具,专为网络调试、带宽分析和流量洞察设计。 它不仅能帮助你快速定位网络问题,还能通过 IP 流量分析实现 DDoS 预警。 基于 Go 开发,无外部依赖,部署简单,配有直观的 Web 界面,适合系统管理员、开发者与网络工程师。 欢迎大佬们体验并分享想法和建议

    https://github.com/xxddpac/go-flow

    22 条回复    2025-07-03 14:31:20 +08:00
    v2er119
        1
    v2er119  
       174 天前
    看上去不错,要是加个主流系统的二进制版本,用的人就方便多了。现在:No releases published 。当然也可以在 Readme 加上编译过程。
    oom
        2
    oom  
    OP
       174 天前
    @v2er119 谢谢大佬,晚点更新下 releases
    nasaboy
        3
    nasaboy  
       174 天前
    ./go-flow: error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
    bv
        4
    bv  
       174 天前
    @nasaboy 你这是缺少 libpcap 依赖,
    yum install libpcap-devel 或
    apt install libpcap-dev
    nasaboy
        5
    nasaboy  
       174 天前
    @bv 安装过了,还是一样
    oom
        6
    oom  
    OP
       174 天前
    @nasaboy 大佬啥系统,yum install -y libpcap 试试,这个报错是缺少 libpcap 库
    nasaboy
        7
    nasaboy  
       173 天前
    @oom 用的 Ubuntu24
    mengyx
        8
    mengyx  
       173 天前 via Android
    性能大概在什么级别?能超过 10Gbps / 1Mpps 吗?
    zzhirong
        9
    zzhirong  
       173 天前
    我能理解成, 抓包, 然后对包进行汇总, 我能想到的:
    1. 可能会对网络性能有影响, 如果数据量大的话, 程序本身可能还要占用很多资源。
    2. 如果不用精细化到单个 ip, 可以直接用内核暴露的统计数据,比如 /proc/net/dev 。
    FrankAdler
        10
    FrankAdler  
       173 天前
    443 的抓不到 sni 吗,只有 ip 不太直观啊
    oom
        11
    oom  
    OP
       171 天前
    @zzhirong 这个工具主要定位是将网络中核心节点或出口流量旁路镜像过来分析,所以对网络性能是无影响的,程序本身使用了协程池和环形队列,在给定的窗口期间内实时计算,如果不是超大规模的流量级别性能也是可观的
    oom
        12
    oom  
    OP
       171 天前
    @FrankAdler 目前只是抓了 TCP 五元组信息哦大佬
    oom
        13
    oom  
    OP
       171 天前
    @mengyx 达不到这个级别,我将 20Gbps 专线流量镜像过来测试,程序运行的服务器 64 核/256G ,发现有 15%的丢包,性能瓶颈估计还是在 libpacp 和锁竞争这块
    zzhirong
        14
    zzhirong  
       171 天前
    @oom 像这种只要统计包头, 不需处理包内数据的场景, 用 eBPF 很合适, 它在内核中直接生成统计数据, 用户态直接读取统计结果, 避免了大量了无用的拷贝, 可以看一下 https://github.com/cilium/ebpf
    oom
        15
    oom  
    OP
       170 天前
    @zzhirong 多谢大佬,研究研究
    zzhirong
        16
    zzhirong  
       170 天前
    @oom 昨晚用 AI 写了一个 https://github.com/zzhirong/traffic_aggregation , 可以参考一下。吐槽一下,本来想体验一下 vibe coding 的,结果还是花了 3 个多小时,有点像是在给 AI 当助理。
    oom
        17
    oom  
    OP
       170 天前
    @zzhirong 666 ,测试下
    newtonMiku
        18
    newtonMiku  
       126 天前
    @zzhirong 大佬 readme 中没预览图吗
    zzhirong
        19
    zzhirong  
       125 天前
    @newtonMiku 已经添加了界面预览。
    oom
        20
    oom  
    OP
       99 天前
    已通过 af-packet 重构啦,性能方面应该无限接近 eBPF 了
    150530
        21
    150530  
       98 天前
    老哥能封装成 docker 吗,有 docker 的话就挺方便的,不用下载解压配置 systemd 了
    oom
        22
    oom  
    OP
       98 天前
    @150530 大佬,现在是直接监听物理主机网卡来抓取流量的,如果用 Docker 部署的话需要加特殊权限,有一定安全风险,也不太推荐。目前二进制也很方便的,静态编译打包了所有依赖直接能放到主机上运行
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     868 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 20:28 PVG 04:28 LAX 13:28 JFK 16:28
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86