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

关于安卓抓包

  •  
  •   fengleidongxi · 2017-09-11 22:21:55 +08:00 · 6251 次点击
    这是一个创建于 2630 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好多方法抓包只能看到共享 UID,看不到数据包来自哪个程序,有什么办法可以看到?

    tcpdump、wireshark 连 UID 都看不到?

    30 条回复    2017-09-14 12:36:11 +08:00
    xanthuiop
        1
    xanthuiop  
       2017-09-11 22:44:21 +08:00
    安卓直接在手机上用 packet capture(不需要 root)不就可以了,这软件可以看到是哪个程序的包
    ltux
        2
    ltux  
       2017-09-11 22:52:34 +08:00
    使用 vpn 模式的抓包软件呗。tcpdump 只管网络,才不管 UID。别说安卓嘞,你就是在 windows 上用 wireshark 也不支持查看包来自哪个程序。
    choury
        3
    choury  
       2017-09-11 22:59:48 +08:00
    我写的程序可以显示应用的数据流向,虽然可以抓包,但是我不是为了抓包,你懂的
    ila
        4
    ila  
       2017-09-11 23:03:42 +08:00 via Android
    @choury 学雷锋不留名
    NoAnyLove
        5
    NoAnyLove  
       2017-09-12 00:41:41 +08:00
    @xanthuiop 这个软件有点意思,用的什么技术实现的?
    CFM880
        6
    CFM880  
       2017-09-12 07:35:00 +08:00
    用 Charles/Fiddler 抓包,在手机上设置代理,人工看是属于哪个应用的,基本也能满足抓包要求
    HuangLibo
        7
    HuangLibo  
       2017-09-12 09:52:49 +08:00
    Charles +1
    xanthuiop
        8
    xanthuiop  
       2017-09-12 10:28:22 +08:00 via Android   ❤️ 1
    @NoAnyLove 没研究过....好像是用的这个 https://github.com/libuv/libuv
    fengleidongxi
        9
    fengleidongxi  
    OP
       2017-09-12 11:14:28 +08:00
    @xanthuiop 这个不行,共享 UID 的程序,仍然看不到具体是哪个程序在发送数据包
    fengleidongxi
        10
    fengleidongxi  
    OP
       2017-09-12 11:15:38 +08:00
    @ltux VPN 模式的我都尝试好几个了,共享 UID 的程序,看到不具体是哪个程序
    fengleidongxi
        11
    fengleidongxi  
    OP
       2017-09-12 11:18:15 +08:00
    @choury 你的可以看到共享 UID 中具体是哪个程序在发送数据包吗?比如 UID1000,有十几个程序,只能看到是 UID1000 这十几个程序在发送,但具体无法捕捉到是这十几个程序中的哪个程序
    fengleidongxi
        12
    fengleidongxi  
    OP
       2017-09-12 11:19:31 +08:00   ❤️ 1
    @NoAnyLove 基本 VPN 代理,创建一个虚拟的 VPN 连接
    fengleidongxi
        13
    fengleidongxi  
    OP
       2017-09-12 11:22:33 +08:00
    @CFM880 谢谢,我研究一下这个
    fengleidongxi
        14
    fengleidongxi  
    OP
       2017-09-12 11:22:44 +08:00
    @HuangLibo 谢谢
    choury
        15
    choury  
       2017-09-12 11:42:07 +08:00
    @fengleidongxi #11 你要是没 root 当然只能看到 uid,root 了就能知道 pid 了,就知道程序了
    NoAnyLove
        16
    NoAnyLove  
       2017-09-12 11:50:16 +08:00
    @xanthuiop Orz,点错了。。。。。。那是用来做消息循环的异步库啊
    NoAnyLove
        17
    NoAnyLove  
       2017-09-12 11:52:52 +08:00
    @fengleidongxi 如果我没记错的话,$$好像也是用的这个技术来实现为指定 APP 提供服务的吧。除了系统自带的程序以外,安装的 APP 应该每一个都有独立的 UID 吧?为什么会有共享的 UID 情况?
    choury
        18
    choury  
       2017-09-12 12:59:18 +08:00
    @NoAnyLove #17 你自己搜 shared uid
    fengleidongxi
        19
    fengleidongxi  
    OP
       2017-09-12 13:19:57 +08:00
    @choury 你指的哪种方法 ROOT 后可以看到 PID ?设置已 ROOT,我试过多种方法只能看到 UID,或者程序名,共享 UID 看到的是几十个程序名
    fengleidongxi
        20
    fengleidongxi  
    OP
       2017-09-12 13:22:32 +08:00
    @NoAnyLove 为什么会有共享 UID 呢?因为可以共享数据,因为可以。。。。。。哎~~~哎~~~
    choury
        21
    choury  
       2017-09-12 13:30:49 +08:00
    @fengleidongxi #19 读取 proc 目录,解析 /proc/pid/fd 目录下面的文件就可以了
    jisibencom
        22
    jisibencom  
       2017-09-12 13:51:58 +08:00
    Fiddler 不知道为什么,一开搞得我网都不能上,代理也设置了
    agostop
        23
    agostop  
       2017-09-12 17:04:34 +08:00
    感觉这些问题,基本都跟 android 没啥大关系,都还是 Linux 那一套。
    fengleidongxi
        24
    fengleidongxi  
    OP
       2017-09-12 19:57:26 +08:00
    @CFM880 研究了半天,还是看不到是哪个应用请求的
    fengleidongxi
        25
    fengleidongxi  
    OP
       2017-09-12 20:03:53 +08:00
    @choury 可以留个邮箱,咱们详谈吗?详谈
    fengleidongxi
        26
    fengleidongxi  
    OP
       2017-09-12 20:04:50 +08:00
    @agostop android and linux 是什么关系
    NoAnyLove
        27
    NoAnyLove  
       2017-09-12 22:15:47 +08:00
    @fengleidongxi 我看了一下一下自己手机上的进程,感觉每一个不同的 App 都是用的不同的 UID 在运行,而且 /data/data 下的目录也是不同 App 用的不同 UID 和 GID 进行创建。什么情况下会出现共享 UID ?
    agostop
        28
    agostop  
       2017-09-13 08:42:11 +08:00
    随便百度一下 linux 流量 pid,应该就能解决这个问题吧?
    shawlib
        29
    shawlib  
       2017-09-13 09:29:18 +08:00
    @xanthuiop 我试了试,很多 app 屏蔽了这个抓不到,有什么解决办法吗?
    xanthuiop
        30
    xanthuiop  
       2017-09-14 12:36:11 +08:00 via Android
    @shawlib 你可以 root 以后试试 bitshark(比特鲨)应该能抓到,这是手机版的 wireshark,我是码畜,平常也就是抓包玩玩,对这也没什么研究...我也不是很清楚...凭我玩 linux 经验来看,怕是应用权限不够啊...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1032 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:16 · PVG 07:16 · LAX 15:16 · JFK 18:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.