我在 Charles 中看到奇怪的 URL 请求,其中似乎包含随机字符(见下文)。所有请求都失败,但看起来很像病毒。我如何知道哪个应用程序发送了它们?
答案1
让我猜猜,您使用的是 Chrome 对吗?
这不是病毒(请注意它们都是 10 个字母的“域名”),这是 Chrome 测试 DNS 服务器以检测故障重定向。
实际情况是,一些 ISP 更改了他们的 DNS 服务器,因此当您尝试导航到不存在的 URL 时,ISP 不会向您提供简单的错误页面,而是向您提供一个包含广告、搜索结果和其他垃圾内容的实际网页 — 可能与您尝试访问的 URL/搜索词相关。(Chrome 本身提供了此选项。)
Chrome 将搜索栏和地址栏合并到 Omnibar 中,并且默认隐藏协议(您不必专门输入http://
;这是假定的)。此外,URL 不会有如果要使用 TLD,则可能类似于http://svn/
。因此,当您在 Omnibar 中输入单词时,很难看出您是在输入 URL 还是搜索词。因此,Chrome 需要一种方法来检测您是在执行搜索还是尝试导航到网站。
因此,为了避免用户在 Omnibar 中输入此类术语时总是看到 ISP 错误/广告页面,Chrome 会尝试连接到一些随机的、无意义的 URL。如果它们都(神奇地)解析,并且指向同一个 IP,那么 Chrome 就知道 DNS 服务器正在重定向到错误页面,因此 Chrome 可以做出相应的反应(例如,将该术语视为搜索查询,要求您提供替代的相关术语;等等)。
此外,它还有助于避免 DNS 劫持,因为在这种情况下,大多数(如果不是全部)(取决于劫持实现)DNS 查询通常会被解析为相同的 IP 以进行监视,然后再传递(如果有的话)到真实 IP。
答案2
您可以尝试以下几件事:
Charles 本身可能正在记录发出这些请求的应用程序(如果它发送了用户代理字符串)。
您可以搜索用户代理在里面要求选项卡<默认>入口:
如果请求发生得足够频繁,您可以尝试使用如下连接监视器当前端口。
按远程主机排序并刷新,直到找到匹配的条目
randomletters
:randomletters
不是 FQDN,所以如果这些请求是故意发出的 - 而不是一些人为错误,例如指向绝对 URL 而不是相对 URL - 主机名必须以某种方式映射到 IP。尝试 ping 一个最近的主机名 (
ping randomletters
) 来查看是否可行。检查 hosts 文件(通常
C:\Windows\system32\drivers\etc\hosts
)中是否有 的条目randomletters
。如果包含,您可以使用进程监控找到修改 hosts 文件的应用程序。
启动它,按Ctrl+L打开筛选...对话并创建一个过滤器,排除所有不访问 hosts 文件的内容: