阅读:2794回复:5
ndis修改ndis_packet的目的ip后的问题
我写了个修改目的ip地址的ndis驱动,使本机原本发往A地址的包发到B地址去。
加载驱动后从应用程序发给A一个包,A收不到,用抓包软件可以在B上看到发送的包,但在B的应用程序中却无法应用包。 比如在本机和B上装个简单的聊天程序,装上驱动后B的聊天程序显示不了本机发送的数据。 再比如我从本机ping A的地址则从B返回reply,但本机依旧显示超时。好像B返回的包没被上层程序使用,不晓得为什么,不知道大家有没有遇到过这样的问题。哪位大大知道的话还请解答一下。 |
|
沙发#
发布于:2009-11-19 21:03
回 楼主(forward813) 的帖子
如果是TCP协议的话,在本机发送packet给A之前,它会记住他的目的地址是A,但是如果返回的packet不是A为源地址,那它会认为是不安全的,所以不会接收。估计你要偷偷实现把给A的数据转给B的话,还要做一些额外的工作,才能真正实现这个的偷龙转凤的效果~ |
|
板凳#
发布于:2009-11-20 22:08
用抓包软件在B的底层能抓到包,但应用层不能处理。
|
|
地板#
发布于:2009-11-20 23:30
回 2楼(forward813) 的帖子
应该是B能收到,但是返回不到本机吧,所以ping的时候返回的是time out而不是destination unreachable吧。呵呵,个人意见~ |
|
地下室#
发布于:2010-09-07 11:43
回 楼主(forward813) 的帖子
你好,可以请教你点问题吗 我的qq359459720 |
|
5楼#
发布于:2010-09-08 20:57
checksum 不正确
|
|