You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测系统中文件上传下载活动及对应文件名?

检测系统上传/下载文件名的有效方法

以下是几个比单纯查看网络流量更精准的方案,覆盖系统、文件、应用多个层面:

1. 系统级审计日志监控

Windows系统

利用Windows事件日志追踪文件操作,重点关注事件ID 4663(文件被访问)和事件ID 5145(网络共享访问),通过过滤进程名(如chrome.exe、firefox.exe、ftp.exe)和操作类型(写入/上传、读取/下载),提取事件中的Object Name字段获取文件名。可以用PowerShell批量筛选:

Get-WinEvent -FilterHashtable @{LogName='Security';ID=4663} | Where-Object {$_.Properties[10].Value -match 'Write|Upload'} | Select-Object TimeCreated, @{Name='Process';Expression={$_.Properties[1].Value}}, @{Name='FileName';Expression={$_.Properties[6].Value}}

Linux系统

配置auditd审计规则,监控与网络进程关联的文件读写操作。比如添加规则追踪所有进程的文件上传/下载行为:

auditctl -a exit,always -F arch=b64 -S open -S write -F pid=$(pgrep -d ',' chrome firefox ftp) -k file_transfer

之后通过ausearch -k file_transfer查看审计日志,从中提取文件名和进程信息。

2. 文件系统变化监控

直接追踪下载目录、临时目录的文件创建/修改事件,适合捕捉本地生成的下载文件或准备上传的文件:

Linux

使用inotify-tools实时监控指定目录:

inotifywait -m -e create,move,modify /home/user/Downloads /tmp

该命令会输出目录内的文件变动,包括新创建的下载文件。

Windows

用PowerShell的FileSystemWatcher脚本监控目标目录:

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Users\user\Downloads"
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true
Register-ObjectEvent $watcher "Created" -Action { Write-Host "下载文件: $($Event.SourceEventArgs.Name)" }

3. 应用层钩子与进程拦截

针对特定应用(浏览器、FTP客户端、云同步工具),通过钩子技术直接获取上传/下载的文件名:

  • 浏览器:开发浏览器扩展,监听XMLHttpRequest或Fetch请求中的Content-Disposition响应头(下载),或表单提交中的filename参数(上传)。
  • 桌面客户端:用Frida等动态插桩工具,hook进程的文件操作函数(如fopen、WriteFile)或网络请求函数,提取文件名。例如hook Chrome的文件上传逻辑:
// Frida脚本示例
Interceptor.attach(Module.findExportByName("chrome.exe", "WriteFile"), {
    onEnter: function(args) {
        var filePath = args[1].readUtf16String();
        if (filePath.includes("Uploads")) {
            console.log("上传文件: " + filePath);
        }
    }
});

4. 解密网络流量并解析

如果之前看网络流量无效,大概率是HTTPS加密导致无法读取文件名。可以用本地代理工具(如mitmproxy)解密HTTPS流量,解析请求/响应中的文件名:

  • 下载场景:查看响应头的Content-Disposition字段,通常包含filename参数。
  • 上传场景:查看请求体中的表单字段(如file参数的文件名)或Multipart请求的边界内容。
    注意:此方法需要配置信任代理证书,仅可用于合法合规的场景。

内容的提问来源于stack exchange,提问作者Janani Veeramanikandan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:35:15