QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1921回复:16

怎样让我的网卡接收到所有“流”过它的包?

楼主#
更多 发布于:2003-07-21 09:38
在没有安装一个网络应用程序的时候,我的网卡只能收到包头部目的物理地址为FF-FF-FF-FF-FF-FF和我的物理地址的包,
而在安装那个程序以后,就能收到其它一些物理地址的包,请问:我怎样才能设置我的网卡可以接收所有“流”过的包,不把其它的物理地址过滤掉?
谢谢!
在线等待。。。

最新喜欢:

chilichili
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-21 10:13
将网卡设为混杂模式
放弃瘟草,现吃李草
QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-21 10:24
怎样设呢?
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-21 10:32
请问你是用什么走.如果是SOCKET RAW的话,很简单
如果NDIS的话,发OID,论坛里有很多这样的帖子 :)
放弃瘟草,现吃李草
QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-21 10:38
可以二种都简单介绍一下吗?谢谢了
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-21 10:55
第一种方法.网上到处时,.
第二种方法:
设置混杂模式,只需要向miniport发送一个ndisrequest。
可以在核心态符合irql的任何地方发送这个request.
OidData = NDIS_PACKET_TYPE_PROMISCUOUS;

pRequest->RequestType=NdisRequestSetInformation;
pRequest->DATA.SET_INFORMATION.Oid=OID_GEN_CURRENT_PACKET_FILTER;
pRequest->DATA.SET_INFORMATION.InformationBuffer=OidData;
pRequest->DATA.SET_INFORMATION.InformationBufferLength=sizeof(ULONG);

NdisRequest(&Sts,pAdapt->BindingHandle,pRequest);

//记得释放内存
放弃瘟草,现吃李草
QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-22 09:50
我试了,不行啊,机器非法重启了,
要分配空间给pRequset吗?怎样分配?
能给我帖一些完整的代码吗?
谢谢了!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-22 10:04
我试了,不行啊,机器非法重启了,
要分配空间给pRequset吗?怎样分配?
能给我帖一些完整的代码吗?
谢谢了!

要分配空间给pRequset吗?怎样分配?
//用exallocatepool申请
能给我帖一些完整的代码吗?
完整的代码我现在手头没有.你随便找找,到处都有
放弃瘟草,现吃李草
QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-22 10:09
我用exallocatepool申请,也包含了<ntddk.h>但编译说exallocatepool没定义,怎么回事呢?
QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-22 10:19
我在文章搜索里找到了有关文章,谢谢了!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-22 10:21
这偶就不明白了
你去参考一下DDK下packet下的哪个“李子”吧
放弃瘟草,现吃李草
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-07-22 10:21
这偶就不明白了
你去参考一下DDK下packet下的哪个“李子”吧
 :D :D
放弃瘟草,现吃李草
QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-07-23 10:06
我把下面一段代码分别加在了MPInitialize()和PtBindAdapter()后面,编译后没有错误,但在添加了这个SYS后,就非法重启,然后蓝屏,我只得进安全模式停止设备,然后在重启,现在没办法了,好欲闷!不知道是哪里错了,请高人指教,谢谢了!

oiddata=NDIS_PACKET_TYPE_PROMISCUOUS;
pRequest=ExAllocatePool(NonPagedPool,sizeof(NDIS_REQUEST));
if(NULL==pRequest)
{
DBGPRINT(\"Can not allocate buffer for requestn\");
}
pRequest->RequestType=NdisRequestSetInformation;
pRequest->DATA.SET_INFORMATION.Oid=OID_GEN_CURRENT_PACKET_FILTER;
pRequest->DATA.SET_INFORMATION.InformationBuffer=&oiddata;
pRequest->DATA.SET_INFORMATION.InformationBufferLength=sizeof(NDIS_OID);

NdisRequest(&st,pAdapt->BindingHandle,pRequest);
if(st!=NDIS_STATUS_PENDING)
{
if(pRequest){

DBGPRINT(\"Free request\\n\");
ExFreePool(pRequest);
}
}
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-07-23 10:38
不要在那两个地方做这个工作,兰屏应该是一定的了。

换个地方。mpsetinformation里面。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
QinYuguang
驱动牛犊
驱动牛犊
  • 注册日期2003-07-08
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-07-23 11:12
谢谢
robman
驱动牛犊
驱动牛犊
  • 注册日期2004-07-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-07-27 11:22
我在mpsetinformation()下加入以下代码,编译可以通过,但是一安装系统就自己重启了,在重新启动后,显示驱动程序不正确
oiddata = 100;
pAdapt->Request.RequestType=NdisRequestSetInformation;
pAdapt->Request.DATA.SET_INFORMATION.Oid= OID_GEN_MAXIMUM_SEND_PACKETS;
pAdapt->Request.DATA.SET_INFORMATION.InformationBuffer = &oiddata;
pAdapt->Request.DATA.SET_INFORMATION.InformationBufferLength = sizeof(int);
pAdapt->BytesNeeded = BytesNeeded;
pAdapt->BytesReadOrWritten = BytesRead;
pAdapt->OutstandingRequests = TRUE;
NdisRequest(&Status,
pAdapt->BindingHandle,
&pAdapt->Request);
那位能告诉我这是怎么回事呀
robman
驱动牛犊
驱动牛犊
  • 注册日期2004-07-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-07-28 10:48
上面的问题已经解决了,但是返回的Status是NDIS_STATUS_PENDING,这是什么原因?
游客

返回顶部