急求windows NT, 2000系统下的共享文件夹中限制IP访问的思路

figurine 2005-08-18 09:31:44
小弟现在接到一个任务,用C语言写一个小的软件,监视服务器上的共享文件夹被访问的情况。当某台客户机访问某个文件夹下的某个文件时,要求能判别出客户机的来源,即其IP地址。共享文件夹被访问的权限已经设置好。比如该文件夹下有100个文件,我只希望其中某20个文件只被某几个或者某一些IP访问,请问各位大侠有没有什么比较好的思路,或者说小弟应该去看什么资料才能解决这个问题,我现在找不到切入点。我在网上看了一些文档,都是介绍如何编程实现对共享文件夹进行权限设置,但是我没有找到如何针对某些文件,限制其被某些IP访问的方法,请各位大侠赐教思路,急啊!100分送上!
...全文
333 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason176374 2005-10-12
  • 打赏
  • 举报
回复
想了一下,认为绝对不象楼主说的"用C语言写一个小的软件"那样.
说几个路吧:
1 网络截包. 可以方便得到IP等. 但是不好分析其操作.
2 文件系统过滤. 可以方便得到文件操作的类型. 但是在这个层面去取IP或者得到用户信息不容易. 但是写文件过滤驱动不是一天两天的事情.
3 将上述2种结合有可能可以实现. 但是要找到共同的东西然后同步起来.

最后我给你的建议: 要不就是你对这个有兴趣,可以去钻一下.否则告诉你老板, 短时间实现是不可能的.
jzl_13 2005-10-11
  • 打赏
  • 举报
回复
mark
借宝地小弟有个问题要问,怎么访问共享文件夹,请大侠赐教!!!
df8327 2005-08-19
  • 打赏
  • 举报
回复
其实我觉得监听139端口可行,可以使用winpcap监听(比SOCKET更低的层面,直接在链路成抓包)
但是这样只能分析出有多少人连接你的共享文件夹,具体那个文件夹,什么操作,可能需要具体分析报的内容,我估计这个比较麻烦。至于具体限制哪个用户可以访问,我有个比较BT的想法,如果有用户访问了不希望他访问的东西,可以使用winpcap构造一个假的ARP数据包,进行ARP欺骗,从而强行中止你们之间的连接,不知你觉得如何:)
figurine 2005-08-19
  • 打赏
  • 举报
回复
legendhui(秋天的叶子) ,请问用socket该怎么做呢?监听本机的139端口么?这种方法可行么?即使可行,又如何判断哪一次文件操作和我程序中的哪一个socket之间关联呢?
通过IPC的方式进行访问,最终还是要反映到ip层的socket传输上吧,系统应该本身已经有这个socket了,只是不知道怎么去获取它,如何能获取到该次文件操作和哪一个socket有关,那就好办了
teli_eurydice 2005-08-18
  • 打赏
  • 举报
回复
hook 截获所有的文件操作,判断操作来自哪里
dirdirdir3 2005-08-18
  • 打赏
  • 举报
回复
可以用钩子拦截网络的API函数来实现,不过想想都觉得比较复杂。
legendhui 2005-08-18
  • 打赏
  • 举报
回复
用套接字SOCKET就能得到访问者的IP地址
figurine 2005-08-18
  • 打赏
  • 举报
回复
钩子技术不能对函数调用进行控制啊,只能监视,不能控制。
另外,即使采用钩子,响应了自定义的函数,那么如何知道该次文件操作是哪台IP地址的主机发起的呢?小弟还是不太明白。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧