Android “浏览器发送”;“达尔维克”;作为用户代理

Android “浏览器发送”;“达尔维克”;作为用户代理,android,dalvik,mobile-browser,Android,Dalvik,Mobile Browser,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.

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)"
即使是一些奇怪的事情,我们也会重新设置或删除首字母为的cookies

有没有什么方法可以让我进一步调试它以获取更多信息并更好地了解这个问题

这个问题在旧的安卓手机、ios或windows手机中看不到

**使用KitKat/JellyBean操作系统的高端android手机中发现的问题


我刚刚注意到一种类似的背靠背请求的用户代理模式。在我的例子中,第一个请求(使用Mozilla用户代理)来自嵌入式webview。请求的URL用于下载PDF文件。我发现Android webview无法处理PDF内容类型,因此它通过intent启动PDF查看器。然而,在这个查看器启动之前,Android会再次请求相同的URL。在第二个请求中,介绍了Dalvik用户代理

这两个请求陌生度之前已经讨论过,请参见和

在我的第一个请求中,从webview,我看到用户代理:

Mozilla/5.0(Linux;U;Android 4.2.2;en-us;Galaxy Nexus Build/JDQ39)AppleWebKit/534.30(KHTML,类似Gecko)Version/4.0 Mobile Safari/534.30

第二个请求(我假设来自Android操作系统,而不是webview)显示用户代理:

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

  • Dalvik是安卓虚拟机,在其中运行单个应用程序
  • 您看到的是运行在Android(在Dalvik中运行)上的浏览器的请求头
  • 因此有两个UA(用户代理)字符串,一个用于浏览器,一个用于运行它的VM

在过去6个月里,我看到流式服务器上使用此配置文件的同步GET请求的发生率迅速增加,但几年前的数据量要小得多。一开始很容易忽视它们。客户机同时发送许多请求(我通常看到60-80),然后客户机的带宽似乎用完了;请求暂停、平息,然后重新出现。这会持续几分钟。如果从不同的IP在不同的眼球网络上发起多个此类攻击,在我的书中,它将开始被称为DDoS攻击

由于源位于具有不断变化的IP的眼球网络上(随着时间的推移,但不是在攻击期间),因此使用IP阻止的效果有限,并且需要对阻止进行老化,以便它们不会影响合法用户

您观察到cookies没有以任何方式被观察到,这似乎增加了这些是恶意请求的可能性

总之,简单地回答您的问题,是的,您可以阻止这些请求,特别是因为您有证据表明这些请求可能是恶意请求(根据我的经验,自您发表文章以来,这些请求一直在稳步上升)。当然,您可能正在阻止合法请求。那是你的电话。您还必须处理如何阻止它们,因为根据我的经验,它们主要来自眼球网络上的DHCP租用地址


另请参见:

听起来好像有什么东西正在将VM版本信息从
System.getProperty()中拉出。不知道为什么它会将其发送到web服务器,或者如果它运行KitKat,它会声称拥有Android 4.2.2。是的,这很奇怪,我们仍然没有找到任何解决方案???我还注意到一个奇怪的行为,当我在其上启用McAfee antivirus发送此标头时,但当我禁用它时,这难道不是一个假设,但不是完全正确的@Fadden非常奇怪,但当我们禁用McAfee时,它会工作,我不知道这是怎么发生的。。。。。!您确定这两个都是正常的web请求吗?如果一些调用是从javascript调用的,那么它们可能会使用与浏览器本身不同的http引擎(版本)。上面的Michael Levy正确地解释说,当应用程序将意图传递给另一个应用程序,并且需要下载文件时,会触发此UA。在Android上,一个浏览器请求不等于两个HTTP请求。