免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach
打印 上一主题 下一主题

关于构造Http Response包的问题 [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
73 [报告]
发表于 2009-08-17 17:25 |只看该作者
原帖由 故哈 于 2009-8-17 17:20 发表

是不难 问题是不知道他们的计算规则。。。。。你知道吗?


我没研究过初始的那个seq怎么计算啊。 但是在数据包交换的过程中,当前报的seq和ack和上一个报的seq ,ack,len是有关联的。这个故哈兄应该知道

论坛徽章:
0
72 [报告]
发表于 2009-08-17 17:20 |只看该作者
原帖由 Godbach 于 2009-8-17 17:19 发表


应该得修改ack和seq啊。不过如果你明白seq和ack在传输过程中是如何变化的,修改他们的值应该不难的.

是不难 问题是不知道他们的计算规则。。。。。你知道吗?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
71 [报告]
发表于 2009-08-17 17:20 |只看该作者
skb_copy_expand出来的skb  带有源skb的mac头么?


我当时没有用这个函数,我的扩展没有超过已有skb的大小。

就算你调用了这个函数,你需要确保skb->data指针在调用dev_queue_xmit之前,指向MAC头部。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
70 [报告]
发表于 2009-08-17 17:19 |只看该作者
原帖由 故哈 于 2009-8-17 17:09 发表

那我只需要重新计算每层校验和  然后调用dev_queue_xmit发送就行了?

ack和seq不需要改了么?


应该得修改ack和seq啊。不过如果你明白seq和ack在传输过程中是如何变化的,修改他们的值应该不难的.

论坛徽章:
0
69 [报告]
发表于 2009-08-17 17:10 |只看该作者
原帖由 Godbach 于 2009-8-17 17:08 发表

二层的源和目的MAC也需要对调的。因为你这里会调用dev_queue_xmit,因此要修改一下data指针,使其指向MAC头。即调用skb_push函数调整一下。



skb_copy_expand出来的skb  带有源skb的mac头么?

论坛徽章:
0
68 [报告]
发表于 2009-08-17 17:09 |只看该作者
原帖由 Godbach 于 2009-8-17 17:06 发表
计算IP层校验和的函数:ip_fast_csum
计算传输层的校验和函数:csum_tcpudp_magic
这两个函数都是2.4中的,2.6中的有所变化,你对应找一下。

那我只需要重新计算每层校验和  然后调用dev_queue_xmit发送就行了?

ack和seq不需要改了么?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
67 [报告]
发表于 2009-08-17 17:08 |只看该作者
2            需要自己构建二层包头么?

二层的源和目的MAC也需要对调的。因为你这里会调用dev_queue_xmit,因此要修改一下data指针,使其指向MAC头。即调用skb_push函数调整一下。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
66 [报告]
发表于 2009-08-17 17:06 |只看该作者
计算IP层校验和的函数:ip_fast_csum
计算传输层的校验和函数:csum_tcpudp_magic
这两个函数都是2.4中的,2.6中的有所变化,你对应找一下。

论坛徽章:
0
65 [报告]
发表于 2009-08-17 17:06 |只看该作者
原帖由 Godbach 于 2009-8-17 17:05 发表
对于你的第1个问题,如果仅仅调换端口和IP的话是不需要重新计算校验和的。但是如果一旦你调整了报文的长度,那么IP层的,传输层的都需要重新计算。

有现成的函数么?

论坛徽章:
0
64 [报告]
发表于 2009-08-17 17:05 |只看该作者
原帖由 Godbach 于 2009-8-17 17:03 发表
故哈兄见谅啊,因为工作原因,不太适合把代码贴上来。我就根据你的代码,一起讨论一下你的问题。

没关系。  你看我那个下面还需要干什么?
说白了 我的需求和你一样
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP