V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
crsmk01
V2EX  ›  程序员

有没有一些 Windows/macOS 可用的傻瓜化抓包工具?

  •  
  •   crsmk01 · 7 天前 · 1322 次点击

    部门有个公网的域名,外网用户从浏览器访问的时候,偶发性会出现域名解析到错误的 vip 或者解析的 vip 正确,但是用那个 vip 就有可能转发到错误的的服务器。

    从那个 vip 到后端服务节点的映射配置检查过很多遍了,都是正确的,我们自己在本地办公电脑的 hosts 文件里面强制域名解析到用户反馈有问题的 vip 也都是正常的,也就是我们在公司网络环境无法复现这个问题,客户那边也是偶发性,不能稳定复现。

    请教一下,遇到这个问题有没有什么简单可用的抓包工具可用 ?想让客户用 wireshark ,但是操作步骤有点儿多,担心客户折腾大半天,问题复现不出来,客户没有耐心排查。

    或者不抓包的话,有没有什么别的简单方式排查到是域名解析出的问题,还是网络链路出的问题 ?

    21 条回复    2024-06-21 15:48:37 +08:00
    looo
        1
    looo  
       7 天前
    LuckyLauncher
        2
    LuckyLauncher  
       6 天前
    @looo #1 这个只能抓 http 吧,op 都说了要抓 dns 和网络链路了
    w574495524
        3
    w574495524  
       6 天前
    ladypxy
        4
    ladypxy  
       6 天前 via iPhone
    楼上已经说了
    XIoYi
        5
    XIoYi  
       6 天前
    楼上+1
    chanwang
        6
    chanwang  
       6 天前 via Android
    科来网络分析系统(技术交流版)
    这个抓包更直观一点
    公司网络环境无法复现,你可以笔记本用手机流量测试访问能不能复现。内部测试不行你不会绕出去吗?
    gegewu0927
        7
    gegewu0927  
       6 天前
    gegewu0927
        8
    gegewu0927  
       6 天前
    Puteulanus
        9
    Puteulanus  
       6 天前
    我之前用游帮帮加速器有问题,找他们客服,他们客服联系技术的让我装了个远程桌面,然后远程过来自己装了个 wireshark
    crsmk01
        10
    crsmk01  
    OP
       6 天前
    @chanwang 试过手机共享热点给电脑,也测不出来。用云拨测也测不出来,当然只是手工点了几下,没有一直调。
    crsmk01
        11
    crsmk01  
    OP
       6 天前
    @Puteulanus 也是个思路,回头我也尝试一下,多谢
    kuanat
        12
    kuanat  
       6 天前
    虽说标题里是找傻瓜工具,看正文这事解决起来可不是提供傻瓜工具就可以的。

    我之前做过的项目里有过类似的需求,不清楚你这是什么情况,我就随便一说。

    如果是客户端应用,最好开发自诊断模块,可以通过比较复杂的方式开启,也可以编译成特定版本。如果是 web 应用,可以考虑把诊断模块单独做,遇到问题的时候就发给客户运行。

    这个诊断模块可以是自动上报的,如果客户有合规需求也可以生成诊断输出。记得做好鉴权,这种接口也要和线上生产接口一样对待,二进制程序发出去就控制不了了。不开玩笑,我见过异常的诊断程序一天刷了存储后端八万多个文件的事情……

    当然这并不是说这个诊断应用就要集成一个抓包模块,主要靠基于日志的推理。把你自己代入到客户的位置上,你会做哪些排查,比如先采集系统环境,之后 ping 看网络通不通,再看 dns 解析是否正确,接着看 tcp 是否能连接,http 是否有反馈等等。所以我这边之前做的诊断程序就是一个执行脚本的工具,用户执行的时候会输入一个技术支持代码,其实就是拉取预设好的诊断脚本。

    抓包这个事情除非有技术支持上门,我是不推荐的。一般来说,只有非常非常小概率才必须依赖抓包解决问题。
    crsmk01
        13
    crsmk01  
    OP
       6 天前
    @kuanat 因为业务是 https 请求,找了一下( Chrome )浏览器插件,但是普遍都是像 Chrome 自带的开发工具,顶多能看到请求的域名解析的 vip 地址,然后请求这个 vip 往下怎么走,浏览器插件估计就很难抓到了。

    确实如你所说,要是有那么一个小工具/一键脚本就能抓到这些内容(域名解析到什么 vip 去了,请求 vip 之后下面网络链路怎么走)就 OK 了。

    btw. 好多客户在遇到问题时,基本都不能快速用快捷键打开 Chrome/Firefox 的开发者工具查看请求(域名解析到哪个 vip 去了),甚至配置本地 hosts 强制解析域名到指定 ip ,抓包这些也都不清楚了
    kuanat
        14
    kuanat  
       6 天前
    @crsmk01 #13

    教育用户的成本比起开发一个诊断程序高太多太多了,这还不算技术跟客户沟通。这里的傻瓜化就是真把客户当傻瓜,我们甚至连压缩包都不发,就是直接发可执行程序下载链接。客户双击运行看完提示就万事。但是后来发现浏览器报可执行文件警告(包括国产魔改浏览器的非安全文件),还有 windows 自己的一个什么解锁。后来被迫买证书签名完事。

    实际上吧,很多时候搞完这么一套,客户那边就没什么反馈了。因为多数网络问题都是临时性的,说不定什么时候就好了。
    killva4624
        15
    killva4624  
       6 天前
    先确认解析是否正常,因为解析正常但访问不通和解析不正常是完全不同的排查链路。
    - 抓 DNS 解析的包,然后从包里看是哪个 DNS server 返回了不正确的解析;如果抓到了那就查 DNS Server.
    - 如果 DNS 一直解析正常,那就持续抓该 VIP 的包。

    另外,外网用户的浏览器环境也要排除干扰,禁用所有插件(去广告类、CSS 类、重写请求类)
    sampeng
        16
    sampeng  
       6 天前
    wireshark 还不够傻瓜化么。。。
    sampeng
        17
    sampeng  
       6 天前
    但我觉得。。你要的不是抓包而是 dns+路由啊亲。。。。
    mtr+nslookup 或者 dig 。

    但是你是浏览器应用,wireshark 没用的。写个 windows 的 bat 。让客户执行,把结果返回过来完事。
    sampeng
        18
    sampeng  
       6 天前
    以我的经验,之前是碰到过,这个 ip 。。。某些网络下他就是不通= =!都是让他在自己电脑上 mtr 执行一下。最后写了文档,有问题自己先 mtr 一下
    xdm1957
        19
    xdm1957  
       6 天前
    科来网络分析? 国内的软件
    Richared
        20
    Richared  
       6 天前
    小鲨鱼,wireshark 。之前做网关,全靠这玩意抓包解析协议了。
    vangjing
        21
    vangjing  
       5 天前
    不知道这个能不能满足你的需求: https://github.com/Archeb/opentrace

    输入 IP 的话可以直接看到跳转的 IP ,输入域名的话要手动选择一个解析到的 IP
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5155 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:52 · PVG 14:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.