TCP报文头修改

歌楼听雨品人生 2014-09-21 09:37:53
请教下,在TCP报文中,怎么对TCP首部的信息进行修改?主要是对TCP的首部修改,请尽量详细点,非常感谢!!
...全文
785 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 codeingdog 的回复:
看看这个http://blog.csdn.net/codeingdog/article/details/39432529。
恩,我大概明白怎么做了,非常感谢。
就想叫yoko 2014-09-23
  • 打赏
  • 举报
回复
那你要拿一个tcp协议栈来修改而不是使用socket了 楼主肯定跑偏了,你使用tcp socket在应用层做协议就可以了。
小猫咪可馋了 2014-09-23
  • 打赏
  • 举报
回复
看看这个http://blog.csdn.net/codeingdog/article/details/39432529。
  • 打赏
  • 举报
回复
引用 7 楼 lovesmiles 的回复:
[quote=引用 6 楼 u010395948 的回复:] [quote=引用 5 楼 lovesmiles 的回复:] [quote=引用 4 楼 u010395948 的回复:] [quote=引用 3 楼 lovesmiles 的回复:] [quote=引用 2 楼 u010395948 的回复:] 您好,我有点不太明白,我用CSocket时,通常是直接设置目的IP,端口,还有将要发送的数据便可以了,我怎么拿到头部的地址呢?谢谢。
你用socket当然拿不到tcp的报头了。[/quote]那应该怎么做啊?以前没接触过这样的,有什么好的建议吗?谢谢![/quote] 你为什么会想到修改tcp的报头?一个tcp包变动了报头,校验码也要变动,这些原理你都了解了吗?并不是像socket那样有封装好的东西给你改一下参数就可以用,我建议你先打好基础吧。[/quote]额,原理还行,主要是最近做的东西跟这个有关系,挺着急的,如果您有什么好的建议,请帮下忙,谢谢+1。[/quote] 如果只是开发过程中做测试分析用,可以借一些现成的抓包软件来改。你是想做什么用途?想实现伪装欺骗通信吗?[/quote]不是的,能直接说下该怎么做 吗?谢谢了。。我感觉应该在TCP层和IP层之间进行修改。
勤奋的小游侠 2014-09-22
  • 打赏
  • 举报
回复
引用 6 楼 u010395948 的回复:
[quote=引用 5 楼 lovesmiles 的回复:] [quote=引用 4 楼 u010395948 的回复:] [quote=引用 3 楼 lovesmiles 的回复:] [quote=引用 2 楼 u010395948 的回复:] 您好,我有点不太明白,我用CSocket时,通常是直接设置目的IP,端口,还有将要发送的数据便可以了,我怎么拿到头部的地址呢?谢谢。
你用socket当然拿不到tcp的报头了。[/quote]那应该怎么做啊?以前没接触过这样的,有什么好的建议吗?谢谢![/quote] 你为什么会想到修改tcp的报头?一个tcp包变动了报头,校验码也要变动,这些原理你都了解了吗?并不是像socket那样有封装好的东西给你改一下参数就可以用,我建议你先打好基础吧。[/quote]额,原理还行,主要是最近做的东西跟这个有关系,挺着急的,如果您有什么好的建议,请帮下忙,谢谢+1。[/quote] 如果只是开发过程中做测试分析用,可以借一些现成的抓包软件来改。你是想做什么用途?想实现伪装欺骗通信吗?
  • 打赏
  • 举报
回复
引用 5 楼 lovesmiles 的回复:
[quote=引用 4 楼 u010395948 的回复:] [quote=引用 3 楼 lovesmiles 的回复:] [quote=引用 2 楼 u010395948 的回复:] 您好,我有点不太明白,我用CSocket时,通常是直接设置目的IP,端口,还有将要发送的数据便可以了,我怎么拿到头部的地址呢?谢谢。
你用socket当然拿不到tcp的报头了。[/quote]那应该怎么做啊?以前没接触过这样的,有什么好的建议吗?谢谢![/quote] 你为什么会想到修改tcp的报头?一个tcp包变动了报头,校验码也要变动,这些原理你都了解了吗?并不是像socket那样有封装好的东西给你改一下参数就可以用,我建议你先打好基础吧。[/quote]额,原理还行,主要是最近做的东西跟这个有关系,挺着急的,如果您有什么好的建议,请帮下忙,谢谢+1。
勤奋的小游侠 2014-09-22
  • 打赏
  • 举报
回复
引用 4 楼 u010395948 的回复:
[quote=引用 3 楼 lovesmiles 的回复:] [quote=引用 2 楼 u010395948 的回复:] 您好,我有点不太明白,我用CSocket时,通常是直接设置目的IP,端口,还有将要发送的数据便可以了,我怎么拿到头部的地址呢?谢谢。
你用socket当然拿不到tcp的报头了。[/quote]那应该怎么做啊?以前没接触过这样的,有什么好的建议吗?谢谢![/quote] 你为什么会想到修改tcp的报头?一个tcp包变动了报头,校验码也要变动,这些原理你都了解了吗?并不是像socket那样有封装好的东西给你改一下参数就可以用,我建议你先打好基础吧。
  • 打赏
  • 举报
回复
引用 3 楼 lovesmiles 的回复:
[quote=引用 2 楼 u010395948 的回复:] 您好,我有点不太明白,我用CSocket时,通常是直接设置目的IP,端口,还有将要发送的数据便可以了,我怎么拿到头部的地址呢?谢谢。
你用socket当然拿不到tcp的报头了。[/quote]那应该怎么做啊?以前没接触过这样的,有什么好的建议吗?谢谢!
  • 打赏
  • 举报
回复
您好,我有点不太明白,我用CSocket时,通常是直接设置目的IP,端口,还有将要发送的数据便可以了,我怎么拿到头部的地址呢?谢谢。
碼上道 2014-09-21
  • 打赏
  • 举报
回复
可以直接修改,对头部的地址做一下偏移就可以修改,不过注意要重新计算一下tcp的checksum,如果你做了修改的话。
勤奋的小游侠 2014-09-21
  • 打赏
  • 举报
回复
引用 2 楼 u010395948 的回复:
您好,我有点不太明白,我用CSocket时,通常是直接设置目的IP,端口,还有将要发送的数据便可以了,我怎么拿到头部的地址呢?谢谢。
你用socket当然拿不到tcp的报头了。

65,212

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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