looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
阅读:2648回复:19

Lanman文件,缓存在哪边,如何得到NOCACHE的IO

楼主#
更多 发布于:2007-05-29 19:58
A机通过 Lanman 访问远程B计算机的共享 文件夹,那么Cache在哪一边

我测试发现很乱,特别是从 A 机修改 B 机的文件,很多情况下在A机只能看到CACHE的Write,而看不到NOCACHE的Write,我用 FileSpy.exe 做的测试,并没有加载其他任何驱动程序。在B机可以看到对应的NOCACHE的Write,但 B 机不在我们的可控范围内啊

谢谢指导
提问归提问,还是只能靠自己
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2007-05-29 22:03
这个,理论上不可能在A机有nocache写呀,因为文件也不写在A机.hehe
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-05-29 22:51
对于 B 机共享的 文件,

我在 A 机有时是可以得到Nocache Write 的,有时又得不到Nocache Write
提问归提问,还是只能靠自己
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
地板#
发布于:2007-05-30 01:52
Re:******** Lanman文件,缓存在哪边,如何得到NOCACHE的IO****
It's pretty common to see both Cached and Non-Cached IO for RDR. Even a Non-Cached IO for RDR maybe actually a Cached IO on server side. This is related to network FS caching mechanism. If a file is opened by A only, the cache can be located either on A or B. If a file is opened by A and C, most likely only B has cache. As I know there's no way to know where does cache located from FSFD layer.
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-30 09:45
谢谢二位,那 有没有什么办法从 A 机强制得到在 B 机上的所有的A机产生的NOCACHE操作啊 ?
提问归提问,还是只能靠自己
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-06-01 12:52
 痛苦一顶
提问归提问,还是只能靠自己
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-06-02 23:56
在本地文件系统上没有问题的事情,到了Lanman上所有的问题都来了,特别是缓存的问题,哪位能给些指导性的意见
提问归提问,还是只能靠自己
liuyan1
驱动老牛
驱动老牛
  • 注册日期2001-08-27
  • 最后登录2023-04-18
  • 粉丝0
  • 关注0
  • 积分1031分
  • 威望477点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2007-06-03 00:16
Re:******** Lanman文件,缓存在哪边,如何得到NOCACHE的IO****
网络文件系统是走的CC-MDL 接口的。
楼上的客,楼下的客,听我老坎说明白,要苛屎有草纸,不要扯我的麦席子,要苛尿有夜壶,不要在床上划地图。
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
8楼#
发布于:2007-06-03 17:25
Re:******** Lanman文件,缓存在哪边,如何得到NOCACHE的IO****
1. 得考虑权限问题;
2. 客户机可以看到Irp->Flags=0x43的请求;
人总在矛盾中徘徊。。。
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-06-03 20:14
0x43的请求在某些时候是不会出现的,我在继续研究

Lanman 上 Excel 反倒比 Word 复杂的多,缓存乱的一塌糊涂,唉
提问归提问,还是只能靠自己
fazwh
驱动牛犊
驱动牛犊
  • 注册日期2005-09-11
  • 最后登录2020-11-18
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望303点
  • 贡献值0点
  • 好评度48点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2007-06-03 22:17
Excel是很怪的。跟一般软件都不一样。
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
11楼#
发布于:2007-06-04 09:47
引用第9楼looksail于2007-06-03 20:14发表的  :
0x43的请求在某些时候是不会出现的,我在继续研究

还发现一个很有趣的事情,Excel 打开文件的时候竟然向文件里面写东西!我仅仅打开什么都没有做呢。Lanman 上 Excel 反倒比 Word 复杂的多,缓存乱的一塌糊涂,唉


你是不是过滤条件设置的有问题,而只看到问题的一面呢?
Excel和Word差别个人认为倒不大
人总在矛盾中徘徊。。。
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-06-12 13:11
我只是把文件整个异或一下,放到B机只读共享

在A机如何测试都不行,所以我可以肯定有些IO直接通过网络走了

现在的问题是如何捕获到所有的 IO
提问归提问,还是只能靠自己
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-06-14 16:35
看来又是无解的问题,再顶一下,沉下去就算了
提问归提问,还是只能靠自己
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
14楼#
发布于:2007-06-15 03:02
引用第12楼looksail于2007-06-12 13:11发表的  :
我可以肯定有些IO直接通过网络走了


All file IO must go through RDR unless you have your own SMB client. There's no hidden channel between two machines.

For network shared file, since its cache can be located on either local machine or remote machine,  your local FS filtering mechanism won't work for remote files. You can check CIFS or NFS documents on network file system caching mechanism.

One possible solution may be that to have a driver installed on remote machine, monitor file cache and op locks.
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-06-15 09:09
引用第14楼michaelgz于2007-06-15 03:02发表的  :


All file IO must go through RDR unless you have your own SMB client. There's no hidden channel between two machines.

For network shared file, since its cache can be located on either local machine or remote machine,  your local FS filtering mechanism won't work for remote files. You can check CIFS or NFS documents on network file system caching mechanism.
.......

谢谢,有没有什么好办法把RDR的操作强制都在本地文件系统里面可控呢
提问归提问,还是只能靠自己
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
16楼#
发布于:2007-06-15 09:34
引用第15楼looksail于2007-06-15 09:09发表的  :

有没有什么好办法把RDR的操作强制都在本地文件系统里面可控呢


I don't think so. RDR is simply a client side component of a network file system. Remote file operation must be controled by server.
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-06-15 10:47
引用第16楼michaelgz于2007-06-15 09:34发表的  :


I don't think so. RDR is simply a client side component of a network file system. Remote file operation must be controled by server.


非常感谢 ! 在文件驱动这块,你是国内少见的愿意说真话的人了,有机会一定请你吃饭

都不知道怎么办,只有想别的办法了
提问归提问,还是只能靠自己
liyunch
驱动小牛
驱动小牛
  • 注册日期2001-06-28
  • 最后登录2014-09-05
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望134点
  • 贡献值0点
  • 好评度94点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-06-15 13:47
实际观测发现通过网络访问数据确实在客户端产生了大量cached io,特别是对可执行文件如dll, exe。所以若要加密可能不太好办.
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-06-17 01:58
可怜啊,人们都休息了,群里没人,坛里没人,窗外漆黑,咱这傻鸟还在这里,顶一下吧
提问归提问,还是只能靠自己
游客

返回顶部