数据包捕获应用程序一旦启动就不再具有其他应用程序的互联网连接



我已经在我的android手机上安装了数据包捕获-运行android 8.0版本的三星Galaxy S7边缘。它不是根

我遵循了所有步骤,并安装了SSL证书。

这是应用程序链接

当我点击开始按钮捕捉流量时,应用程序的互联网连接不起作用。Chrome可以在手机上使用。

我尝试过的无法访问互联网的应用程序有亚马逊、猫头鹰摄像头、爱洛

知道我错过了什么背景或变化吗?

在stackoverflow上查找了类似的问题,但没有任何答案

1) 问题1

简短回答:

你的问题没有完全的解决办法。这个问题之所以会出现,是因为"证书钉扎"的存在。即使是简单的生根也不能解决你的问题。

仍然存在部分解决方案。CCD_ 1。然后所有应用程序都将开始工作。但是您将无法解密通过SSL连接发送的数据包的内容。但是您仍然可以看到数据包的源地址和目的地址。如果您的数据包嗅探器应用程序没有关闭SSL数据包嗅探的选项,在这种情况下,请卸载该应用程序,删除安装的任何自定义CA证书,然后重新安装该应用程序。

长答案:

一个普通的数据包嗅探器(不需要root)是如何在Android上工作的

安卓系统允许应用程序充当"VPN网关应用程序"。当应用程序告诉安卓它想提供VPN连接时,安卓会将所有其他应用程序发送到互联网的所有IP数据包转发到VPN应用程序。然后,VPN应用程序通常会对这些数据包进行加密,并将其发送到VPN服务器,数据包将从那里到达原始目的地。

分组嗅探器分组利用了上述特征。它们看起来就像安卓的VPN应用程序。因此,一旦打开,Android将向该应用程序发送所有IP流量。但为了将它们转发到VPN服务器,Packet Sniffer应用程序只需将它们发送到原始目的地。这样,数据包嗅探器应用程序的作用就像一个透明的代理。该应用程序能够处理所有传入和传出流量。这些应用程序本质上就像一个"中间人"。

TSL/SLL和证书颁发机构

SSL(和HTTPS)的构建几乎完全是为了防止任何类型的"中间人"攻击。SSL通过正常的TCP连接运行。它所做的是用一个只有客户端和服务器知道的秘密密钥加密客户端和服务器之间发送的所有流量。您可以在这里阅读有关SSL如何工作的更详细和准确的信息

在设置TLS/SSL连接时,客户端设备会要求服务器出示其数字签名证书(又名SSL证书),以证明服务器就是它所声称的服务器。也就是说,当亚马逊应用程序试图连接到亚马逊网站时,它会要求服务器生成一个数字签名证书,证明服务器实际上是亚马逊网站。当服务器发回证书时,应用程序会询问安卓操作系统该证书是否由安卓
信任的人进行了数字签名。如果证书实际上是由安卓操作系统信任的CA(证书颁发机构)签署的,则连接将继续。否则,应用程序将显示一个无法连接的错误。

数据包嗅探应用程序通常如何嗅探TLS/SSL数据包

数据包嗅探器应用程序将要求用户在安卓系统上安装自定义CA证书。该CA(证书颁发机构)证书将使数据包嗅探器应用程序在该设备上被视为合法和可信的TSL/SSL证书颁发机构。

现在,默认情况下,所有应用程序都将接受由Packet Sniffer应用程序签名的TSL/SSL证书。因此,如果像亚马逊应用程序这样的应用程序在数据包嗅探器应用程序运行时试图建立SSL/TLS/HTTPS连接,则数据包嗅探器应用程序将建立到TLS/SSL/HTTPS的连接——一个在亚马逊应用程序和数据包嗅探机之间,另一个在数据包侦听器应用程序和Amazon.com服务器之间。数据包嗅探器将显示一个伪造的SSL证书,声称它实际上是amazon.com服务器。由于Android现在信任任何由Packet Sniffer应用程序签名的SSL证书,因此连接会欺骗亚马逊应用程序。

这样,数据包嗅探器应用程序通常能够捕获和解密通过SSL连接发送的数据包。

证书固定

若像上面描述的数据包嗅探器应用程序可以解密通过SSL连接发送的信息,那个么恶意的人也可以做同样的事情。他所需要做的就是以某种方式说服用户在Android上安装他的CA证书。然后,他将能够读取所有WhatsApp消息、银行应用程序中的银行密码、亚马逊应用程序发送到Amazon.com的信用卡信息……等等。

因此,一些应用程序的制造商,特别是那些处理信用卡详细信息等高度机密数据的应用程序,决定他们不能再信任安卓操作系统(或iOS、Ubuntu和Windows)来确定应用程序是否真的连接到了合法服务器。

因此,他们开始遵循certificate pinning的做法。

这些应用程序的制造商所做的是,他们可以在应用程序中嵌入服务器SSL证书本身的副本,也可以嵌入他们使用的证书颁发机构的SSL证书副本。

然后,这些应用程序会将服务器生成的任何证书与应用程序中嵌入的证书进行比较。如果它们不匹配,应用程序将简单地拒绝连接。这些应用程序不信任操作系统。因此,数据包嗅探器应用程序安装的自定义CA证书对这些应用程序没有影响。

没有已知的方法可以轻松绕过证书固定(除了反编译每个应用程序并替换嵌入的证书,这也是在根设备上)。证书固定的存在只是为了防止你试图实现的目标。如果您在数据包嗅探器应用程序上启用SSL嗅探,则所有使用证书固定的应用程序都将停止工作。

解决方案

关闭SSL Capture。如果您的数据包嗅探器应用程序没有关闭SSL数据包嗅探的选项,在这种情况下,请卸载该应用程序,删除安装的任何自定义CA证书,然后重新安装该应用程序。

相关内容

最新更新