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

为什么arp可以,tcp/ip就不行?

楼主#
更多 发布于:2002-08-08 18:10
做了个驱动
发现对arp request能发回arp response的包,
但是对于ping request,就没有反应。
为什么arp协议能绑定到我的miniport driver上,
而tcp ip就不行呢?
drivering
驱动牛犊
驱动牛犊
  • 注册日期2002-04-06
  • 最后登录2009-12-11
  • 粉丝0
  • 关注0
  • 积分134分
  • 威望53点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-08 19:25
说的太笼统了点吧?


 :)
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-08 19:30
做了个驱动
发现对arp request能发回arp response的包,
但是对于ping request,就没有反应。
为什么arp协议能绑定到我的miniport driver上,
而tcp ip就不行呢?

你在驱动里处理arp的包了吗?
按第一贴的“给分”键,给分。
sandwhy
驱动牛犊
驱动牛犊
  • 注册日期2002-04-29
  • 最后登录2002-08-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-08 21:05
就是做了一个虚拟的miniport driver,把上层给的包通过无线信道发到另一台机子。调试中用EtherPeek发现,A机对B机发的arp请求,B机能相应,但是紧接着ping B机,B机收到ping的包,但是没有反馈。ip层下面的一些相应的服务,比如name svc等也不行。所以我假设是arp协议绑定到了我的miniport driver,但是tcp/ip没有。是什么原因呢?
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地下室#
发布于: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传上去了没有?
按第一贴的“给分”键,给分。
sandwhy
驱动牛犊
驱动牛犊
  • 注册日期2002-04-29
  • 最后登录2002-08-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-09 00:35
ft,没有把arp包送上去,
它怎么会回复arp请求?
moqingsong
论坛版主
论坛版主
  • 注册日期2002-04-07
  • 最后登录2011-02-03
  • 粉丝0
  • 关注0
  • 积分74分
  • 威望71点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-09 10:45
这里边细节很多,你要是做过的话,应该知道你说得太笼统了。没谁知道你的系统是怎么回事。
按第一贴的“给分”键,给分。
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
7楼#
发布于:2002-08-09 12:32
你的MAC地址怎么填的?
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
8楼#
发布于:2002-08-09 12:34
弄个抓包软件,抓住包分析一下很容易搞定的。
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
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给我,我很乐意帮你调试。
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
游客

返回顶部