0

对于我正在编写的应用程序,我想以编程方式找出文件来自网络上的哪台计算机。我怎样才能最好地做到这一点?

我是否需要监控网络事务或者这些数据是否存储在 Windows 中的某个位置?

4

3 回答 3

1

当一个文件被复制到本地系统时,Windows 不会保留它被复制到哪里的任何记录。因此,除非创建它的应用程序将此类信息保存在文件中,否则它将丢失。

使用文件审计可以跟踪文件和目录操作,但我认为这不会包括带有文件副本的源路径(只是创建者和时间)。

于 2010-08-05T16:54:14.603 回答
1

是的,您似乎需要根据网络流量的拦截来检测文件传输,或者如果您有能力以某种方式更改文件,请使用公钥加密技术在文件之前使用特定于机器的密钥对文件进行签名被转移。

于 2010-08-15T18:13:54.830 回答
0

在目标计算机或文件托管计算机上创建服务,将记录添加到附加到每个文件的备用数据流中,这与 Windows 处理从 Internet 下载的文件的 ZoneInfo 的方式非常相似。

您可以在机器 A 上拥有一个后台进程,该进程将每个文件“标记”为机器 A 在某日期和某时标记为该文件。然后当机器 B 下载文件时,假设我们使用的是 NTFS 文件系统,它可以看到来自 A 的标签。或者,如果您在服务器上没有进程,您可以通过数据包在“客户端”端使用 NTFS 流其他人描述的嗅探方法。这里的好处是,只要数据在 NTFS 系统之间,未来的文件副本就会保留数据。

替代方案:创建所有文件传输必须通过 Web 门户完成的要求(与网络拖放相反)。内置日志记录。或其他类型的文件检索代理。你能控制这样的程序吗?

于 2010-08-16T15:56:53.027 回答