当前位置:  技术问答>linux和unix

急,请教一个将TCP数据包修改为UDP包的问题,高手请进!

    来源: 互联网  发布时间:2015-10-23

    本文导语:  我利用netfilter实现了一个将TCP数据包重定向并修改为UDP数据包的程序: 说明如下: A : 192.168.225.233 B : 192.168.225.234 现从A发送TCP数据到B,PORT=8989,然后B加入钩子对此TCP数据进行判断处理,转换成UDP数据并返回给A的POR...

我利用netfilter实现了一个将TCP数据包重定向并修改为UDP数据包的程序:
说明如下:
A : 192.168.225.233
B : 192.168.225.234
现从A发送TCP数据到B,PORT=8989,然后B加入钩子对此TCP数据进行判断处理,转换成UDP数据并返回给A的PORT口:8988。
现在的问题是,如果在B中我的钩子函数只做包头的修改并转发此数据包到A,A可以收到一些UDP数据,然后就再也收不到数据了。很显然这是由于没对从A发进来的TCP数据进行ACK应答处理引起的。由于B没有对A的TCP数据进行应答和滑动窗口的更新处理,从而不能接受到新的数据。
现在的问题是,我在程序中加入了对TCP的应答处理,可是却没有任何作用,我发现我的应答数据根本就没有发送出去(用ethereal抓包查看),代码如下,还请高手帮忙解答:

|
如果在服务端和客户端加上校验(如包序号、长度等),TCP包可以转换为UDP包吗 ? 应该可以吧

|
如果是应用层程序,b上也应该是两个进程,各自完成TCP,UDP通信,共享数据缓冲区,就不用考虑这么多了。

但你写的是内核程序,为什么在内核实现?

|
从理论上就行不通:
A和B是用TCP协议方式通信,也就是说通信中有序列号,应答机制,不论你怎么将数据包换成UDP形式给A和B中的任意一方,由于A和B都需要对数据进行验证,发现数据包内根本就不是它要的数据,它就会认为是错误的,然后就丢弃,然后再要求远端重发数据,所以你这样做了,任何一方都认为没有收到任何数据的!!!!!!那么就相当于没有数据传输(在TCP层看来)

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 请教高手:如何用gnome/gtk编写托盘程序
  • 请教各位高手一个简单的问题:在JAVA 中如何才能取得一些系统信息?
  • 请教curses的高手
  • #######菜鸟问题,请教高手,一定给分########
  • 如何在Linux上使用LoadLibrary()?高手请教!
  • 请教:Java高手读书之路
  • 请教高手:cpu占用经常100%怎么解决?
  • linux起不来了,请教高手,谢谢
  • 关于courier邮件服务器的配置问题,请教高手
  • 我的REDHAT 9。0刚装好,显卡不能正常显示,请教各位高手
  • 请教高手,如何将磁盘阵列mount上去??
  • 请教高手,关于vmware中linux的鼠标的问题
  • 请教高手在QT下怎样收串口数据
  • 请教高手,如何在VMware下安装suse10.0??请指教,谢谢。
  • 高手请教!linux怎样通过pid获取进程信息,如:进程名、进程状态等?
  • 请教solaris高手一个solaris安装问题
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3