分享一个 HTTP 抓包工具 netgraph - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
go2sleep

分享一个 HTTP 抓包工具 netgraph

  •  
  •   go2sleep Jul 26, 2018 6404 views
    This topic created in 2835 days ago, the information mentioned may be changed or developed.

    netgraph 源码地址

    netgraph 可执行文件下载地址(macos, centos)

    主要解决的问题:

    1. 调试 Linux 服务器程序时,由于部署环境往往没有桌面环境,无法提供图形化的展示,只能通过 tcpdump 抓包然后传到开发电脑,再用 wireshark/charles 打开,很麻烦。有了 Netgraph 你可以在服务器上直接运行该工具,在服务器网卡上抓包,开发人员可以通过浏览器打开服务器上的 netgraph 页面查看抓包情况。

    2. Mac 上的 HTTP 抓包工具都收费,这个免费工具应该可以帮到你。

    缺点:不能处理 HTTPS

    项目由 golang 编写,喜欢 golang 的同学欢迎一起交流!

    3 年前我就在 V2EX 上分享过了,最近有时间,把代码全面优化了一遍,修改了 bug,加了新功能,所以再次推广一下。

    希望能帮到有类似需求的 V2EXer,也希望小伙伴们多多提需求提 Bug !

    Supplement 1    Jul 26, 2018
    对你有帮助的话,求 Star !
    Supplement    Aug 6, 2018
    新版本 v1.1 发布了,修复了上一个版本中潜在的内存问题和竞态条件问题,这些问题可能导致超大的 request/response 数据错误。

    使用旧版程序的亲们请更新新版本。
    22 replies    2018-07-31 10:22:20 +08:00
    la0wei
        1
    la0wei  
       Jul 26, 2018   1
    这么多点击和收藏,偏偏没有人回复,这不科学,送楼主上去
    go2sleep
        2
    go2sleep  
    OP
       Jul 26, 2018
    @la0wei 感激涕零~
    batnss
        3
    batnss  
       Jul 26, 2018
    收藏+up
    MuscleOf2016
        4
    MuscleOf2016  
       Jul 26, 2018
    帮顶 up
    leopku
        5
    leopku  
       Jul 26, 2018   1
    up
    bSty
        6
    bSty  
       Jul 26, 2018
    up up
    Beebird
        7
    Beebird  
       Jul 26, 2018
    收藏
    awolfly9
        8
    awolfly9  
       Jul 26, 2018
    楼主可以了解下 mitmproxy
    awolfly9
        9
    awolfly9  
       Jul 26, 2018
    另外如果 -> 缺点:不能处理 HTTPS
    这基本就不能抓包了吧
    go2sleep
        10
    go2sleep  
    OP
       Jul 26, 2018
    @awolfly9 没记错的话,mitmproxy 需要你设置 client 的代理,这个不适应服务端 debug 的需求。

    我做这个项目最早也是为了服务器端 debug 用的。通常服务器收到的请求都是来自网关,属于内网环境,一般不会用 HTTPS 了。

    所以 mitmproxy 和 netgraph 适用的场景不同。
    swcat
        11
    swcat  
       Jul 26, 2018 via iPhone
    收藏
    beyondsoft
        12
    beyondsoft  
       Jul 26, 2018
    Star +1 收藏了,感谢楼主复出
    blanu
        13
    blanu  
       Jul 26, 2018
    666 啊,我以为需要手动设置代理,结果只需要 root 权限就行了。关于 web 界面,可以参考 https://github.com/avwo/whistle 的抓包界面,或者我看看能不能把这俩项目结合一下哈哈。
    go2sleep
        14
    go2sleep  
    OP
       Jul 26, 2018 via iPhone
    @blanu 你发的这个界面确实好很多,我前端水平比较差,欢迎你提 pull request
    des
        15
    des  
       Jul 26, 2018 via Android
    所以 wireshark + ssh + tcpdump 不行么?
    毕竟这么强大的工具
    des
        16
    des  
       Jul 26, 2018 via Android   2
    ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -
    go2sleep
        17
    go2sleep  
    OP
       Jul 26, 2018 via iPhone
    @des 多谢,没想到这一招!学习了!

    不过我还是觉得 wireshark 对 http 的展示不如 charles 之类的直观
    awolfly9
        18
    awolfly9  
       Jul 27, 2018   1
    @go2sleep 在服务器单独 debug 用,确实没什么接触
    Rcnaec
        19
    Rcnaec  
       Jul 27, 2018
    up
    aice114
        20
    aice114  
       Jul 27, 2018
    顶一下
    ggmood
        21
    ggmood  
       Jul 30, 2018
    顶起来
    yaxin
        22
    yaxin  
       Jul 31, 2018 via iPhone
    ngrep 命令
    About     Help     Advertise     Blog     API     FAQ     Solana     1173 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 456ms UTC 17:43 PVG 01:43 LAX 10:43 JFK 13:43
    Do have faith in what you're doing.
    ubao msn 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