爱意满满的作品展示区。
go2sleep

分享一个 HTTP 抓包工具 netgraph

  •  
  •   go2sleep · Jul 26, 2018 · 6515 views
    This topic created in 2877 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 2  ·  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   ·   5056 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 03:54 · PVG 11:54 · LAX 20:54 · JFK 23:54
    ♥ Do have faith in what you're doing.