阅读:1166回复:6
请问一个网络传输文件的问题
请问当在局域网上进行传输文件的时候,
例如A向B请求一个文件那么B会以什么方式来响应呢? 他会调用写什么驱动程序啊? 现在我的研究: 当A-》B请求文件的时候 A向B发送SMB的数据包 B接受了之后就开始向系统的一个服务SERVICES发送请求, 并且还会创建一个线程来专门为A的请求服务。 可是当这个线程把文件读出来了之后是怎么区分是那一台机器的请求呢? 这个请求的详细过程是什么啊?需要经过那些驱动程序和服务的处理呢? |
|
沙发#
发布于:2002-04-12 16:13
我从来没有想把这个问题搞清楚,东西太多。
我能想到的: 1,Spy++, 2.Filemon, 3,Ndis的passthru, 自己改写。 4,hook Api,自己写。 得费点劲。 good luck. 问一个,SMB是什么 ?是System Management Bus ? |
|
板凳#
发布于:2002-04-12 16:49
我从来没有想把这个问题搞清楚,东西太多。
我能想到的: 1,Spy++, Spy++只能检测到,但是当网上邻居向本机请求文件的时候有可能是很快的,当你可以检测到存在这个请求的时候对方已经把文件拿走了 2.Filemon, Filemon不能区分出是什么用户什么机器请求了这个文件 3,Ndis的passthru, 自己改写。 用这个是可以得到数据包但是还要自己组合数据包,并且还要分析出到底是哪个文件那台机器,比较麻烦 4,hook Api,自己写。 和2有同样的道理 SMB就是 Server Message Block 3的方法是下策,不得已才用的,希望能够能够在上层拦住,也就是说在系统组合了数据包之后拦截,可是不知道是哪个驱动程序,并且现在已经知道是由系统的服务向文件系统发出的请求,可是不知道在系统服务之前是什么驱动程序,并且还不知道怎么拦截系统服务呢! 提供这个服务的是SERVICES,可是在它之前的就不知道了!可能是驱动程序NPFS,可是跟踪了,却不是 |
|
地板#
发布于:2002-04-15 21:29
怎么没有人回答我的这个问题啊?就是说怎么拦截其他机器对我的共享目录的访问啊?难道真的没有人知道吗?还是分太少啊?
|
|
地下室#
发布于:2002-04-16 15:00
你也许应该把这个问题转移到网络板块中去
|
|
|
5楼#
发布于:2002-04-17 10:11
Windows下的网络文件共享使用的是LanmanRedirector,它与server使用CIFS(common internet file system)协议进行通信,具体可以查看相关RFC
|
|
6楼#
发布于:2002-04-18 15:39
你说的LanmanRedirector是负责本机请求其他机器文件的时候进行负责重定向的!而Lanmanserver就不知道干什么用的了!好象是负责系统服务的
其中Lanmanserver是有驱动程序SRV来创建的 而LanmanRedirector是用MrxSmb来创建的, 在RFC上面说的是协议方面的东西,在有可能的情况下都不愿意做协议驱动程序! 我现在想知道的是到底那个驱动程序负责响应其他机器对本机的文件请求CIFS |
|