sun博客

记录点滴!

之前只知道在电脑上抓https,但一直不知道怎么在安卓手机上弄,直接看到这篇文章后,测试真的可以抓到https包。简直太棒了。

https://bbs.kanxue.com/thread-260965.htm

电脑抓https的链接如下:

手机端抓包,注意先要使用tcpdump抓包后再使用frida hook打开目标app,要使用su权限。

adb shell
su
tcpdump -w /sdcard/dumpx.pcap

此后再frida hook

frida -U -f "com.tingwen.ddsz" -l sslLogger.js -o C:\\Users\\86153\\Desktop\\keylogfile.txt
//sslLogger.js
function startTLSKeyLogger(SSL_CTX_new, SSL_CTX_set_keylog_callback) {
    function keyLogger(ssl, line) {
        console.log(new NativePointer(line).readCString());
    }
    const keyLogCallback = new NativeCallback(keyLogger, 'void', ['pointer', 'pointer']);

    Interceptor.attach(SSL_CTX_new, {
        onLeave: function(retval) {
            const ssl = new NativePointer(retval);
            const SSL_CTX_set_keylog_callbackFn = new NativeFunction(SSL_CTX_set_keylog_callback, 'void', ['pointer', 'pointer']);
            SSL_CTX_set_keylog_callbackFn(ssl, keyLogCallback);
        }
    });
}
startTLSKeyLogger(
    Module.findExportByName('libssl.so', 'SSL_CTX_new'),
    Module.findExportByName('libssl.so', 'SSL_CTX_set_keylog_callback')
)
//frida -U -f "com.xs.fm" -l sslLogger.js --no-pause -o sslkeylogger
//frida -U -f "com.ximalaya.ting.android" -l sslLogger.js --no-pause -o C:\\Users\\86153\\Desktop\\keylogfile.txt
//frida -U -f "com.tingwen.ddsz" -l sslLogger.js --no-pause -o C:\\Users\\86153\\Desktop\\keylogfile.txt

注意keylogfile.txt文件的写入要退出frida窗口之后,不然keylogfile.txt中没有内容。如下图:

之后在wireshark中“编辑”–“首选项”—“协议(Protocols)”,找tls。

adb pull /sdcard/dumpx.pcap

再打开 dumpx.pcap ,就可以找到目标协议了,输入以下命令:

http.request.uri contains "time"

而把keylogfile.txt清空之后,关闭wireshark,重新找开dumpx.pcap包,如下:,再次说明这是一个https包被抓到。

这肯定是一个https://www.ximalaya.com/revision/time,点击https测试专用测试https的。

太好了,终于安卓上抓包又多了一种方式。

wireshark按主机名(域名)搜索。可以不用加引号。

http.host contains “ximalaya”

https://www.cnblogs.com/eleven24/p/8243099.html

另外我通过手机直接连接电脑的热点wifi,测试好像抓不到包。。。。有点奇怪。wifi包。

发表评论

邮箱地址不会被公开。 必填项已用*标注