关于TCP中HTTP包增加包长的解决方法

lbsno1 2014-08-15 10:10:42
这个问题请高手指教如果在一台做为网关的LINUX主机上把带有HTTP协议的数据包增加长度然后加入内容呢?
...全文
752 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingke89 2018-08-22
  • 打赏
  • 举报
回复
这个问题请高手指教如果在一台做为网关的LINUX主机上把带有HTTP协议的数据包增加长度然后加入内容呢?

还在吗?怎么做到的,我正好有这个要求要做,请教下,方便留个扣扣或者微信联系方式吗
nswcfd 2015-12-29
  • 打赏
  • 举报
回复
这的确是个advanced topic,不光是修改当前报文的问题(无状态),还有修改后续报文的seq/ack的问题(有状态)。 当然如果这个报文是连接的最后一个数据报文,可以做一定的(粗暴的)简化(别人的序列号凌乱了跟咱有啥关系麽…………⊙﹏⊙‖∣) PS,当前buffer不够长,只能分配新的buffer去替换(小心MSS或者MTU),或者分拆成多个packet传送出去。
day_day_up_0818 2015-12-29
  • 打赏
  • 举报
回复
楼主你好,想请教一下用netfilter增加数据包长度,但是缓冲区数据不够用,用能有什么方法实现吗
lbsno1 2015-02-27
  • 打赏
  • 举报
回复
问题已经解决。有兴趣的朋友可以联系我。
  • 打赏
  • 举报
回复
exactly! It probably can't be solved here coz it's an advanced topic and the person who might be capable of doing it won't show up here.
lbsno1 2014-08-15
  • 打赏
  • 举报
回复
好像没有答案啊。大哥。
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390718722
  • 打赏
  • 举报
回复
引用 5 楼 lbsno1 的回复:
事实上并非你说的这么难了。这个问题我已经解决了。只是看看那位朋友也解决了这个问题。大至上就是在篡改netfilter里面的skbuff然后进行校验。然后把文件编译成内核模块文件加载进内核。中间还要分析一下那个包是HTTP的成功返回的。判断skbuff数据缓冲区是否够长增加skbuff数据缓冲区。读取skbuff数据缓冲区里面Content-Length字段并重新计算长度。(事实好像不修改这一块也能显示) 兼在四次挥手协议服务发送的那个包修改SEQ值。如果单单是修改一般TCP连接的数据就没有这么复杂。自己提出来的问题有时候真的是只能自己去解答。人生也是如此。呵。
Feel pretty proud of yourself, huh? Keep good work! Will u open source ur work here in case other users could have the same question?
lbsno1 2014-08-15
  • 打赏
  • 举报
回复
事实上并非你说的这么难了。这个问题我已经解决了。只是看看那位朋友也解决了这个问题。大至上就是在篡改netfilter里面的skbuff然后进行校验。然后把文件编译成内核模块文件加载进内核。中间还要分析一下那个包是HTTP的成功返回的。判断skbuff数据缓冲区是否够长增加skbuff数据缓冲区。读取skbuff数据缓冲区里面Content-Length字段并重新计算长度。(事实好像不修改这一块也能显示) 兼在四次挥手协议服务发送的那个包修改SEQ值。如果单单是修改一般TCP连接的数据就没有这么复杂。自己提出来的问题有时候真的是只能自己去解答。人生也是如此。呵。
lbsno1 2014-08-15
  • 打赏
  • 举报
回复
大佬讲中文好不好啊?

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧