阅读:1892回复:8
[求助]如何取得ndis截获的数据包的源mac地址?[40]
如何取得ndis截获的数据包的源mac地址?
http://www.ntkernel.com/products/winpkfilter.shtml上面的例子我试了试,是可以取得的,可不知如何取得? 网上找了一点资料,是使用NdisRequest,稍作加工如下: NDIS_STATUS st; NDIS_REQUEST req; req.RequestType = NdisRequestQueryInformation; req.DATA.QUERY_INFORMATION.Oid = OID_802_3_PERMANENT_ADDRESS; req.DATA.QUERY_INFORMATION.InformationBufferLength = 6; req.DATA.QUERY_INFORMATION.InformationBuffer = &pMacBuf; NdisRequest(&st,NdisBindingContext, &req); if(st == STATUS_SUCCESS) ......... 对于发送的包不知如何使用?? [编辑 - 3/25/03 by Ralfy] |
|
沙发#
发布于:2003-03-24 20:00
如何取得ndis截获的数据包的目的mac地址? 只要将网卡设置位混杂模式,收发的包你就都能收到的,到时你自己抓包来分析就可以了。 在仔细看ddk的文档~~~ |
|
|
板凳#
发布于:2003-03-25 08:23
看DDK文档,这等于没说。
DDK文档那么长,没有示例,谁都知道DDK文档里所有的资料都有,一有问题就说看DDK文档,这要论坛干什么,不如不回我。 我问一个问题也是自己找了许多资料没找到才问的。。 |
|
地板#
发布于:2003-03-25 09:07
在ndis里面截获的数据包都有mac头,源和目的的mac都在里面。
|
|
|
地下室#
发布于:2003-03-25 09:08
大家也都是看的ddk
|
|
|
5楼#
发布于:2003-03-25 11:15
在ndis里面截获的数据包都有mac头,源和目的的mac都在里面。 这个mac头是不正确的,我在网关机上捕获的工作站的数据包,SRC mac头中却是本机的mac,而不是工作站的mac,而且捕获的数据包是在nat转换前的. 大家也都是看的ddk DDK我也看,不过是以参考为主的,我学习主要是看书和代码. 当然,可能你们学习以DDK为主,不过我觉得好像太难了吧. |
|
6楼#
发布于:2003-03-25 11:39
这个mac头是不正确的,我在网关机上捕获的工作站的数据包,SRC mac头中却是本机的mac,而不是工作站的mac,而且捕获的数据包是在nat转换前的. 你不在网关那台机器上抓包,去别的机器抓包呢?mac头在传输的过程中应该是变的。 |
|
|
7楼#
发布于:2003-03-25 13:05
你不在网关那台机器上抓包,去别的机器抓包呢?mac头在传输的过程中应该是变的。 可,唉.. 我的程序就是网关版的 :( |
|
8楼#
发布于:2003-03-25 13:42
你能得到发送的包的源IP,这个在nat前是不会变的,然后发一个ARP,查询一下该IP对应的mac地址。
|
|
|