mochou
驱动牛犊
驱动牛犊
  • 注册日期2004-08-06
  • 最后登录2004-09-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2421回复:9

我要开发一个截包和转发的网络程序!

楼主#
更多 发布于:2004-08-06 18:50
我的课题就是做一个网络程序,有一个中心节点,和一些其他的节点,中心节点收到不是自己的数据包之后,转发出去,对于这种情况来说,我想问问大侠需要编写网卡驱动程序嘛?要不需要编写的网卡驱动程序的话,对于中心节点来说如何才能得到流经自己网卡的不是自己的数据包呢!我现在非常的着急,心急火了的,希望哪位好心的大侠能帮助我度过难关!
    我的思路就是希望能够接收到网卡的数据,同时不向上提交,自己处理之后,如果是自己的数据包的话,在向上提交,不是自己的数据包,转发出去,这样的话,我怎么才能达到数据包的截获和转发
希望好心的大侠帮帮我吧!
谢谢! :(
mochou
驱动牛犊
驱动牛犊
  • 注册日期2004-08-06
  • 最后登录2004-09-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-06 18:52
我现在真是手足无措了,一团乱了,希望能给我一个提示,让我展开下面的工作。我万分感谢您的帮助!如果您有这方面的资料或程序的话,请您给我传到邮箱:li_juan1979@163.com
谢谢您的帮忙!
zhangapache
驱动牛犊
驱动牛犊
  • 注册日期2003-07-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望26点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-06 20:04
winpcap可能可以完成你的目标。
1:设置为杂乱模式,把所有的包都抓上来
2:如果不是自己的,则向外转发


这个方案的问题就是效率,我的测算18%左右,在100M以太网上
mochou
驱动牛犊
驱动牛犊
  • 注册日期2004-08-06
  • 最后登录2004-09-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-07 10:30
谢谢您的回复
我的课题思路是这样的
我是想抓住流经我网卡的所有数据包了
但是那样的话,我就是做的是一个上层应用软件了
我希望做一个后台程序,同时我抓包不要影响上层应用,当我抓住包的时候,是自己的包,递交给上层应用,我现在想做的就是这个中间部分的工作,如果把网卡的数据截到我手中,不是自己的转发,是自己的递交上去。同时我希望把上层应用发的所有数据包,接收到我的手中,进行重组之后,通过自定义的方式发出去,这样的话,怎么才能让网卡发送我自己定义的数据,包含IP重组,MAC地址变化之类的。我统统不懂,请指教一下愚蠢的我吧
如果用wincap的话,做的就是一个上层应用了,我可能就接不到所有的包了,或者即使接收到所有的包,但是经过上层处理之后,延迟太大了
shiyonglin
驱动牛犊
驱动牛犊
  • 注册日期2004-08-04
  • 最后登录2012-06-13
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-09 16:55
用NDIS中间层程序可以捕获所有流经此网卡的数据,并且其是一个内核程序。可以从修改ddk中的passthru例子开始。
mochou
驱动牛犊
驱动牛犊
  • 注册日期2004-08-06
  • 最后登录2004-09-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-09 20:35
谢谢您的回复了
qianjuns
驱动牛犊
驱动牛犊
  • 注册日期2004-08-10
  • 最后登录2010-09-26
  • 粉丝0
  • 关注0
  • 积分62分
  • 威望26点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-10 18:13
请问各位大侠那里可以找到运用passthru.sys和sFilter.dll完整的应用层例子,就像winpcap中用到packet.sys和packet.dll一样.在此谢过了.
goodwkz
驱动牛犊
驱动牛犊
  • 注册日期2003-05-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-11 12:38
请问各位大侠那里可以找到运用passthru.sys和sFilter.dll完整的应用层例子,就像winpcap中用到packet.sys和packet.dll一样.在此谢过了.


DDK例子中有
qianjuns
驱动牛犊
驱动牛犊
  • 注册日期2004-08-10
  • 最后登录2010-09-26
  • 粉丝0
  • 关注0
  • 积分62分
  • 威望26点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-08-13 08:45
谢谢goodwkz,只是我希望找到更详尽的最好是VC的例子
zhaojiejie
驱动牛犊
驱动牛犊
  • 注册日期2007-01-09
  • 最后登录2009-06-06
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-02-28 10:46
passthru
游客

返回顶部