(以编程方式)确定文件网络来源的最佳方法是什么?

时间:2010-08-05 16:46:05

标签: windows networking filesystems packet-sniffers

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

我是否需要监控网络事务,或者这些数据是否存储在Windows中?

3 个答案:

答案 0 :(得分:1)

将文件复制到本地系统时,Windows不会记录复制文件的位置。因此,除非创建它的应用程序在文件中保存了这些信息,否则它将丢失。

使用文件审核文件和目录操作可以被跟踪,但我认为不会包含带有文件副本的源路径(只是创建它的人以及何时创建)。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

在目标计算机或托管计算机上创建服务,这些计算机将记录添加到附加到每个文件的备用数据流,就像Windows处理从互联网下载的文件的ZoneInfo一样。

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

替代方案:创建一个要求,即必须通过Web门户(而不是网络拖放)完成所有文件传输。内置日志记录。或者其他类型的文件检索代理。您是否可以控制此类程序?