我想监视本地机器上的某个目录,如果有用户对他进行操作(增加 删除一个文件、建立 删除一个子目录)则记录该用户的IP 登陆的用户名 操作时间等信息
现在 本地登陆的用户操作可以记录下来,但是局域网内的其他用户对该目录的操作不知怎么记录,局域网内的其他用户是通过文件共享进行操作的,也就是将该目录共享并授权,使得局域网内的其他用户可以对该目录进行操作。
如何获得局域网内的 非本地登陆的用户的操作信息呢?(如 用户名 该用户的IP 登陆时间 对文件的操作等!)
最好给点代码!!!
多谢了!!!

解决方案 »

  1.   

    用FindFirstChangeNotification()进行监示不可以吗?
      

  2.   

    要想获得用户信息,估计要用文件驱动了
    参考filemon
      

  3.   

    HANDLE FindFirstChangeNotification(
      LPCTSTR lpPathName,    // directory name
      BOOL bWatchSubtree,    // monitoring option
      DWORD dwNotifyFilter   // filter conditions
    );
      

  4.   

    提供一点思路:可否在得到文件被访问的时候判断都有那些ip连到你的机器呢?
    不过这样是无论如何也得不到人家的登陆信息的
    个人感觉得到ip容易,得到别人机器的当前信息不好搞
    期待高手
      

  5.   

    网络计算机的用户信息得到比较困难,日志信息又无法直接取得
    IP可以取得,但不一定正确,别人也可以通过隐藏IP或者转嫁IP让你无法追踪
    文件操作信息可以通过FileMon得到
      

  6.   

    我觉得这个和协议有关系,你还是不要用文件共享了吧,
    用Ftp然后查找日志就可以知道哪些用户对哪些地方作了修改。
      

  7.   

    WINDOWS应该记录这些信息的,要不然98关机的时候为什么总说有一用户正与你联系呢,不过不知道用什么方法可以获得,,,顶..
      

  8.   

    思路:
    自己用两台电脑测试:截取该操作的数据包,分析该数据包的特征(未知是否容易,应该不难)
    写网络监视程序(容易完成),利用该特征信息容易立即得到该操作是从何IP来,利用ARP获
    得当时使用该IP的主机的MAC地址(容易完成),如果该主机隐藏得不是太好还可以获得其
    机器名
    我没有这个需求,如果有我想按这个思路一定能完成.