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

分享一个 HTTP 抓包工具 netgraph

  •  
  •   go2sleep · Jul 26, 2018 · 6888 views
    This topic created in 3021 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
    la0wei
    Jul 26, 2018❤️1
    1
    这么多点击和收藏,偏偏没有人回复,这不科学,送楼主上去
    go2sleep
    go2sleep
    OP
    Jul 26, 2018
    2
    @la0wei 感激涕零~
    batnss
    batnss
    Jul 26, 2018
    3
    收藏+up
    MuscleOf2016
    MuscleOf2016
    Jul 26, 2018
    4
    帮顶 up
    leopku
    leopku
    Jul 26, 2018❤️1
    5
    up
    bSty
    bSty
    Jul 26, 2018
    6
    up up
    Beebird
    Beebird
    Jul 26, 2018
    7
    收藏
    awolfly9
    awolfly9
    Jul 26, 2018
    8
    楼主可以了解下 mitmproxy
    awolfly9
    awolfly9
    Jul 26, 2018
    9
    另外如果 -> 缺点:不能处理 HTTPS
    这基本就不能抓包了吧
    go2sleep
    go2sleep
    OP
    Jul 26, 2018
    10
    @awolfly9 没记错的话,mitmproxy 需要你设置 client 的代理,这个不适应服务端 debug 的需求。

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

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

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