浏览器以用户代理身份发送“ Dalvik”

问题描述 投票:11回答:3

[Android浏览器在请求标头中发送Dalvik作为用户代理。

我目前正在一个具有简单登录页面的移动网站上工作,该页面先验证用户名和密码,然后授权用户个人资料。

但是当我检查请求标头时,我看到了不寻常的情况,同一设备上有两个用户代理。

以下是来自同一设备的用户代理:

"Mozilla/5.0 (Linux; Android 4.1.2; C5303 Build/12.0.A.1.257) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"

"Dalvik/1.6.0 (Linux; U; Android 4.2.2; C2004 Build/15.2.A.2.5)"

即使有些奇怪的初始化Cookie,我们也会重置或丢弃。

有什么方法可以进一步调试此信息以获取更多信息,并更好地了解此问题?

[此问题在旧的android手机或ios或Windows手机中没有出现。

**在具有KitKat / JellyBean OS的高端android手机中发现的问题

android dalvik mobile-browser
3个回答
9
投票

我刚刚注意到类似的用户代理模式用于背对背请求。就我而言,第一个请求(使用Mozilla用户代理)来自嵌入式Web视图。要求的URL是下载PDF文件。我发现Android Webview无法处理PDF内容类型,因此它通过意图启动PDF查看器。但是,在启动此查看器之前,Android会再次请求相同的URL。在第二个请求中,显示了Dalvik用户代理。

之前已经讨论了两个请求的陌生性,请参见Is setDownloadListener onDownloadStart called after the webview already Gets the file?WebView - can't download file without requesting it twice?

在我的第一个请求中,从Web视图中,我看到了用户代理:

Mozilla / 5.0(Linux; U; Android 4.2.2; zh-CN; Galaxy NexusBuild / JDQ39)AppleWebKit / 534.30(KHTML,如Gecko)版本/4.0移动版Safari / 534.30

第二个请求(我认为是来自Android OS,而不是Webview)显示了用户代理:

Dalvik / 1.6.0(Linux; U; Android 4.2.2; Galaxy Nexus Build / JDQ39)


7
投票
  • Dalvik是运行单个应用程序的Android VM。
  • 您看到的是来自运行在Android中的浏览器(在Dalvik中运行)的请求标头。
  • 因此,有两个UA(用户代理)字符串,一个用于浏览器,一个用于运行它的VM。

0
投票

在过去的6个月中,我已经发现使用此配置文件在流服务器上同时进行GET请求的发生率正在迅速增加,但是回溯到几年前的数量却大大减少了。首先很容易忽略它们。客户端同时发出许多请求(我通常看到60-80),然后客户端似乎耗尽了带宽。请求停顿,平息,然后重新出现。这持续了几分钟。如果在不同的Eyeball网络上从不同的IP发起了多次此类攻击,那么在我的书中它将开始被视为DDoS攻击。

由于源位于IP不断变化的眼球网络上(随着时间的推移,但不是在攻击过程中),所以使用IP阻止的效果有限,并且阻止必须过期,以免影响合法用户。] >

您的观察结果表明,未以任何方式观察到cookie似乎使这些请求成为恶意请求的可能性更大。

总之,可以简单地回答您的问题,是的,您可以阻止这些请求,特别是因为您有证据表明这些请求可能是恶意请求(根据我的经验,自从您发表以来,这种请求一直在稳定增长)。当然,您可能阻止了合法请求。那是你的电话。您还必须处理how

来阻止它们,因为根据我的经验,它们主要源自眼球网络上DHCP租用的地址。

另请参见:Can I safely block Dalvik browser agent requests?

© www.soinside.com 2019 - 2024. All rights reserved.