maxwellzcc
驱动牛犊
驱动牛犊
  • 注册日期2009-11-13
  • 最后登录2010-06-05
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2444回复:9

passthru分网卡获取数据问题

楼主#
更多 发布于:2010-03-30 19:50
各位大侠好,小弟有个问题请教!
我在一台机子上装了两个网卡,安装了自己改写的passthru程序。我知道passthru会自动绑定到两个网卡,问题是,当我收到包的时候,比如在ptreceive里面,怎么能判断这个包是哪个网卡收到的呢?

问题解决了。思路是获取底层网卡的mac,存在adpt结构体中。在收到包的时候,判断是哪个网卡。获取底层网卡的mac是使用ndisquest函数,并自己写个回调函数,用于在ndisquest返回时,处理。
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
沙发#
发布于:2010-03-31 12:48
理想的根据context,简单根据ip或者mac地址
走走看看开源好 Solaris vs Linux
maxwellzcc
驱动牛犊
驱动牛犊
  • 注册日期2009-11-13
  • 最后登录2010-06-05
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-04-11 13:06
能详细点吗?刚开始研究,不太清楚,谢啦!!
vipfengxiao
驱动牛犊
驱动牛犊
  • 注册日期2009-12-29
  • 最后登录2011-12-21
  • 粉丝1
  • 关注0
  • 积分79分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-04-11 15:58
可以判断网卡的MAC  你自己的机子网卡MAC肯定知道吧  然后比较   比如你要控制内网卡  那么用接收包里的MAC和你机子的内网卡比较 如果相同说明是内网卡接收数据然后就可以做你的处理了
maxwellzcc
驱动牛犊
驱动牛犊
  • 注册日期2009-11-13
  • 最后登录2010-06-05
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-04-11 21:26
我想解决的问题是这样:
我在passthru的基础上扩展代码,
在绑定的时候,PtBindAdapter函数中的参数是“DeviceName”,是这个网卡的名字,我想知道这个网卡的mac地址应该怎么获取呢?
能留个qq吗?想请教一下,我的qq是:531320472
yexin218
驱动牛犊
驱动牛犊
  • 注册日期2008-02-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分72分
  • 威望384点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-04-12 21:51
引用第4楼maxwellzcc于2010-04-11 21:26发表的  :
我想解决的问题是这样:
我在passthru的基础上扩展代码,
在绑定的时候,PtBindAdapter函数中的参数是“DeviceName”,是这个网卡的名字,我想知道这个网卡的mac地址应该怎么获取呢?
能留个qq吗?想请教一下,我的qq是:531320472

使用 OID request
Oid = OID_DOT11_CURRENT_ADDRESS;
 Status = filterDoInternalRequest(pFilter,
                                     NdisRequestQueryInformation,
                                     Oid,
                                     &MacAddress,
                                     sizeof(DOT11_MAC_ADDRESS),
                                     sizeof(DOT11_MAC_ADDRESS),
                                     MethodId,
                                     &BytesProcessed);
maxwellzcc
驱动牛犊
驱动牛犊
  • 注册日期2009-11-13
  • 最后登录2010-06-05
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-04-14 22:13
能留个qq不?请教一下啊
maxwellzcc
驱动牛犊
驱动牛犊
  • 注册日期2009-11-13
  • 最后登录2010-06-05
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2010-04-14 22:21
回 5楼(yexin218) 的帖子
还是不太清楚,filterDoInternalRequest是什么函数,查ddk文档,不是api啊
留个qq联系?请教一下啊
我的是531320472
vipfengxiao
驱动牛犊
驱动牛犊
  • 注册日期2009-12-29
  • 最后登录2011-12-21
  • 粉丝1
  • 关注0
  • 积分79分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2010-04-15 18:32
349949087
maxwellzcc
驱动牛犊
驱动牛犊
  • 注册日期2009-11-13
  • 最后登录2010-06-05
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2010-04-22 21:37
一直忙其他的任务了,这几天又仔细研究了一下,分网卡搞定了,有需要的联系我,可以大家讨论。
游客

返回顶部