阅读:1622回复:9
为什么arp可以,tcp/ip就不行?
做了个驱动
发现对arp request能发回arp response的包, 但是对于ping request,就没有反应。 为什么arp协议能绑定到我的miniport driver上, 而tcp ip就不行呢? |
|
沙发#
发布于:2002-08-08 19:25
说的太笼统了点吧?
:) |
|
板凳#
发布于:2002-08-08 19:30
做了个驱动 你在驱动里处理arp的包了吗? |
|
|
地板#
发布于:2002-08-08 21:05
就是做了一个虚拟的miniport driver,把上层给的包通过无线信道发到另一台机子。调试中用EtherPeek发现,A机对B机发的arp请求,B机能相应,但是紧接着ping B机,B机收到ping的包,但是没有反馈。ip层下面的一些相应的服务,比如name svc等也不行。所以我假设是arp协议绑定到了我的miniport driver,但是tcp/ip没有。是什么原因呢?
|
|
地下室#
发布于:2002-08-08 23:56
就是做了一个虚拟的miniport driver,把上层给的包通过无线信道发到另一台机子。调试中用EtherPeek发现,A机对B机发的arp请求,B机能相应,但是紧接着ping B机,B机收到ping的包,但是没有反馈。ip层下面的一些相应的服务,比如name svc等也不行。所以我假设是arp协议绑定到了我的miniport driver,但是tcp/ip没有。是什么原因呢? 你的miniport driver把arp传上去了没有? |
|
|
5楼#
发布于:2002-08-09 00:35
ft,没有把arp包送上去,
它怎么会回复arp请求? |
|
6楼#
发布于:2002-08-09 10:45
这里边细节很多,你要是做过的话,应该知道你说得太笼统了。没谁知道你的系统是怎么回事。
|
|
|
7楼#
发布于:2002-08-09 12:32
你的MAC地址怎么填的?
|
|
8楼#
发布于:2002-08-09 12:34
弄个抓包软件,抓住包分析一下很容易搞定的。
|
|
9楼#
发布于:2002-08-09 14:20
有几个问题不太清楚,
1、你的miniport是在NIC和协议驱动之间吗? 如果是这样,你没有通过象NdisRegisterProtocol这样的函数注册协议接口而只是调用象NdisIMRegisterLayeredMiniport这样函数注册Miniprot接口吗 2、如果是只Call NdisIMRegisterLayeredMiniport注册Miniport接口,数据接收和发送都由该Miniport来完成咯,那么是在什么接口中处理的呢? 3、你说ARP数据可以得到,那么得到的完整的以太网帧咯,Ping使用的是的ICPM协议,上面是IP协议然后在是以太网的帧,而ARP协议是封装在以太网的帧中,也就是说你的B机器是在IP层将数据抛弃的,你可从这方面考虑。 顺便说一下,如果你觉得需要大家或我的帮助,你可将你的Source帖出来或Mail给我,我很乐意帮你调试。 |
|
|