huangwenfa
驱动牛犊
驱动牛犊
  • 注册日期2003-05-05
  • 最后登录2003-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1428回复:2

高手请进:在Miniport driver上实现数据转发。高分奉上

楼主#
更多 发布于:2003-05-28 19:26
说明1:
   A机发送一个ICMP包给B机,该ICMP包的IP报头的源地址是A机的IP地址,目的地址是B机的IP地址。B机返回一个响应包给A机,
比如我们的PING程序就是这样的。

我的问题:
   如说明1,A机发送一个ICMP包给B机 。而现在要使B机不返回一个响应包给A机,而是将该ICMP包改装再发送给C机。改装如下:
将该ICMP包的目标地址该成C机的IP地址,再重新计算校验和。
   按理说,C机应该返回一个响应包给A机,但事实上A却未收到。
请问为什么???
 
说明2:
   对包的截获和改装,我是在NDIS Minport driver上实现的,经测试这两部分已经成功。发送我是调用MiniPortSendPacket发送的。
xingwendeng
驱动牛犊
驱动牛犊
  • 注册日期2003-04-20
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-28 21:37
如果该ICMP是差错报文,那是因为c机没有打开相应的端口。如果该icmp是带有源路由的ping,则转发给c机是没有意义的。
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-28 20:58
说明1:
   A机发送一个ICMP包给B机,该ICMP包的IP报头的源地址是A机的IP地址,目的地址是B机的IP地址。B机返回一个响应包给A机,
比如我们的PING程序就是这样的。

我的问题:
   如说明1,A机发送一个ICMP包给B机 。而现在要使B机不返回一个响应包给A机,而是将该ICMP包改装再发送给C机。改装如下:
将该ICMP包的目标地址该成C机的IP地址,再重新计算校验和。
   按理说,C机应该返回一个响应包给A机,但事实上A却未收到。
请问为什么???
 
说明2:
   对包的截获和改装,我是在NDIS Minport driver上实现的,经测试这两部分已经成功。发送我是调用MiniPortSendPacket发送的。
 

把代码贴上来看看把。找找毛病。
游客

返回顶部