起因
最近使用fiddler
遇到每过几秒就会提示【the system proxy was changed】的问题,不胜其烦,决定好好探究什么问题导致的。弹出的异常信息是说系统代理发生了改变,是什么进程如此频繁的改变代理信息?这里先说结论,是最近安装的支付控件导致的,卸载之后一切都清净了。下面说说是怎么一步步发现问题和解决问题的。
系统代理
先介绍系统代理,一个软件如果要设置代理,会去自动设置:控制面板》Internet设置》局域网设置》为LAN使用代理服务器。详情看下图,图片是fiddler
自动设置的代理。
系统代理配置发生变化
通过观察发现,出现【the system proxy was changed】时,为 LAN 使用代理服务器
的勾选被自动去掉了。如下图。
排查问题
- 上一步发现是代理配置被改了,现在就要找到是哪个软件修改的。
- 首先,我们下载并安装好微软的进程监视器 processmonitor
- 打开软件,设置过滤,path指定为该配置的注册表地址(HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable),如下图。
- 此刻就会把所有查询、修改此配置的进程列出来,如下图。
可以看到,安装的支付控件每5s就会查询一次代理的配置,在使用fiddler开启代理后,图中红框的位置出现了RegSetValue
修改了此配置,调用的进程是svchost.exe
,svc
是service
,应该是服务的调度器,看不到调用的程序,不过可以确认大概率是这个支付控件导致的。
提示:排查可以关闭多余的软件,比如微信、钉钉、浏览器等,可以减少干扰。
解决问题
这个控件暂时没有用,直接删除了。这类的支付控件一般为了避免病毒修改代理,会默认定时关闭代理,导致出现了这种问题。如果不想删除,可以下载火绒限制控件修改这项配置。