V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
binhb
V2EX  ›  分享创造

可以统计网络流量的命令行终端 UI

  •  1
     
  •   binhb ·
    ZingerLittleBee · 2022-06-06 02:42:37 +08:00 · 2907 次点击
    这是一个创建于 908 天前的主题,其中的信息可能已经有所发展或是发生改变。

    界面是这个样子 netop

    特点

    • 使用 bpf 规则过滤
    • 多规则切换
    • 实时速率
    • 总流量
    • 响应式 UI
    • 资源占用小,Rust 编写
    • docker 部署

    Github 地址

    https://github.com/ZingerLittleBee/netop GitHub Repo stars

    如何使用

    docker run -it --rm --net=host zingerbee/netop
    

    e 输入新 bpf 规则 , 回车确认

    使用方向键 <- 和 -> 在不同规则间切换

    q 就可以退出了

    题外话

    想通过编码的方式获得流量等参数, 可以看下我封装的 pcap 的库 https://github.com/ZingerLittleBee/netraffic

    18 条回复    2022-06-28 15:11:07 +08:00
    Zinzin
        1
    Zinzin  
       2022-06-06 03:56:28 +08:00   ❤️ 1
    好 cool 啊
    nmap
        2
    nmap  
       2022-06-06 10:28:31 +08:00
    docker 对 linux 发行版有要求吗
    binhb
        3
    binhb  
    OP
       2022-06-06 10:50:28 +08:00
    @nmap #2 docker 底层是依赖了 libpcap, 按理说有 libpcap 的发行版都可以, 不过 alpine 打包遇到了些问题, 就暂且搁置了
    ragnaroks
        4
    ragnaroks  
       2022-06-06 11:31:50 +08:00
    docker run -it --rm --net=host zingerbee/netop => memory allocation of 18446744073709551612 bytes failed
    ragnaroks
        5
    ragnaroks  
       2022-06-06 11:33:34 +08:00
    宿主机是洋垃圾 64 线程 256 内存,debian 11
    654656413245
        6
    654656413245  
       2022-06-06 13:27:52 +08:00
    牛批了大佬,学习 ebpf 有什么推荐路线或学习资料吗
    binhb
        7
    binhb  
    OP
       2022-06-06 14:51:55 +08:00 via iPhone
    @ragnaroks 你是 arm 吗,目前仅打包了 amd64
    binhb
        8
    binhb  
    OP
       2022-06-06 14:54:40 +08:00 via iPhone
    @654656413245 误会啦,我对 bpf 只有浅显的了解,解析这一块是底层库做的
    henbf
        9
    henbf  
       2022-06-06 16:13:38 +08:00   ❤️ 1
    看到你这个,让我想起了 zenith
    https://github.com/bvaisvil/zenith
    ragnaroks
        10
    ragnaroks  
       2022-06-06 16:56:08 +08:00
    @binhb 不是,霄龙
    binhb
        11
    binhb  
    OP
       2022-06-06 18:41:44 +08:00 via iPhone
    @henbf 收藏了,同样的技术栈,有空去偷师,给自己的加点料
    binhb
        12
    binhb  
    OP
       2022-06-06 18:46:31 +08:00 via iPhone
    @ragnaroks 这就不清楚了,我开发机也是 debian11
    Andydufresneguoh
        13
    Andydufresneguoh  
       2022-06-08 11:01:01 +08:00
    还要用 host 模式吗,不太安全,不用行不行
    binhb
        14
    binhb  
    OP
       2022-06-08 13:18:22 +08:00 via iPhone
    @Andydufresneguoh 不用 host ,捕获的是 docker 容器的流量
    m9rco
        15
    m9rco  
       2022-06-10 19:24:28 +08:00
    网络这块楼主好擅长
    binhb
        16
    binhb  
    OP
       2022-06-11 00:12:57 +08:00
    @m9rco #15 见笑了,一点皮毛而已
    buxiang
        17
    buxiang  
       2022-06-28 14:52:59 +08:00
    是否有办法监听统计 host 模式运行的 docker 的流量呢,因为没有命名空间,所以网上得到的办法最后取到的都是宿主机的网卡流量
    binhb
        18
    binhb  
    OP
       2022-06-28 15:11:07 +08:00
    @buxiang 可以监听 docker 内服务的端口流量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2558 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:57 · PVG 12:57 · LAX 20:57 · JFK 23:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.