如何使用python监控从浏览器下载的文件

如何使用python监控从浏览器下载的文件,python,download,operating-system,interrupt,monitor,Python,Download,Operating System,Interrupt,Monitor,我有一个要求,我想监控是否有任何文件正在使用浏览器下载。我想用python编写一个可执行文件。如果试图下载一个文件,我的目标是中断文件系统的下载,并在下载到最终用户之前将其发送到服务器(局域网上)进行分析 我不确定如何实现上述目标,也不确定我需要在操作系统级别上进行何种级别的控制。对此问题的任何帮助都将不胜感激。这个问题太广泛,但一般来说,如果用户不信任您的根证书(并运行mitm代理),您就无法拦截https流量。您可以编写浏览器扩展,但用户必须再次加载它。这完全取决于你对用户计算机和配置的控制

我有一个要求,我想监控是否有任何文件正在使用浏览器下载。我想用python编写一个可执行文件。如果试图下载一个文件,我的目标是中断文件系统的下载,并在下载到最终用户之前将其发送到服务器(局域网上)进行分析


我不确定如何实现上述目标,也不确定我需要在操作系统级别上进行何种级别的控制。对此问题的任何帮助都将不胜感激。

这个问题太广泛,但一般来说,如果用户不信任您的根证书(并运行mitm代理),您就无法拦截https流量。您可以编写浏览器扩展,但用户必须再次加载它。这完全取决于你对用户计算机和配置的控制程度。我可以在用户计算机上运行一个可执行文件,这样我就有了控制权。我想用python编写脚本,然后将其转换为可执行文件。我也不想截获流量,只是像antiviruses一样操纵文件下载。antiviruses通常安装自己的https检查证书。为了检测文件“下载”,您必须拦截网络流量。如果您只是对任何新创建/修改的文件感兴趣,您的任务可能会更简单,但在这种情况下,您对下载的文件和用户创建的文件没有区别。是的,出于逻辑考虑,我已经实现了文件系统监视方法。但它并没有区分下载的文件和手动创建的文件。此外,它限制了我监视特定目录的下载,如果用户选择自定义位置,该方法将失败。那么,为了实现这一目标,你认为我应该采取什么方法?我应该为此创建一个自签名证书并使用包嗅探器检查流量吗?我意识到我问的问题非常笼统。但我没有从我的上司那里得到什么帮助。我非常感谢你的帮助。这不是一个需要解决的小问题。是的,您应该创建一个自签名根证书,然后使用一个类似但新的(使用CA签名)证书欺骗每个服务器证书。数据包嗅探器不足以实现这一点,因为您无法轻松重写伪造的http/s流量。您可以考虑购买Internet网关(或PFSENSE之类的开源工具),并强制用户通过网关访问Internet。这种方法也有局限性,但比在客户机上运行更简单、更健壮。