2509|2

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

伪IP如何实现与客户机TCP通信 [复制链接]

-----------
* 软件环境:

WinXP sp2

截取数据包的Ndis5.0驱动已经写好。

在用户层,能够修改驱动发来的数据包的IP地址,客户机也能接收到该数据包。

我这个软件是用于模拟多客户机与服务器连接实现数据传输的测试软件。

-----------
* 硬件环境:

(33.33.33.33(假定是这个))                              |------ 客户机2 (192.168.1.105)
    客户机1                --- 路由 (192.168.1.1) ------
                                                        |------ 发送机 (192.168.1.100) (伪装 99.99.99.99)

现在需要发送机伪装IP 99.99.99.99 与两客户机进行TCP通信

在客户机2安装的Ethereal 检测到发送机发来的IP为 99.99.99.99 数据包,物理地址(MAC)也为发送机的物理地址。

但问题是,当客户机2接收到第一次TCP握手包后,它返回的响应包虽然目的IP地址仍然是99.99.99.99,但物理地址却是网关192.168.1.1的物理地址!我再查看客户机2的数据包,发现在它接收到发送机发送的握手包时,它先发送ARP数据包查询了网关(192.168.1.1)的物理地址再发到网关。也就是说,当客户机发现接收的数据包IP与自己不在同一子域则自动把数据包发往网关,但现在问题是由于发送的物理地址改变了,网关只能查询正确的99.99.99.99的物理地址,那这时候,数据包也就不能再返回伪装的发送机上了。于是TCP连接被逼中断。

而且,两客户机均开启了防火墙,不能使用ICMP实现数据包路径转移。

请问各位,有何方法可以实现发送机与两客户机用伪IP通信?

我尝试发送ARP包去修改客户机2的ARP缓冲,但没用,不同一子域的IP地址不会受到缓冲,结果IP包依然发往网关。

最新回复

已解決。  详情 回复 发表于 2008-4-5 17:34
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
关注
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
已解決。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表