请教关于TCP协议

yiyamzen 2013-08-08 05:12:12
TCP连接是3次握手,以下是第一次握手的报文,是我向服务器发送的
78 45 C4 2D 4C 81 //mac
00 0C 29 44 DF 4C //mac
08 00 //type
4 //version
5 //length
00 //tos
00 28 //total length
67 45 //id
40 00 //flags
80 //ttl
06 //protocol
83 AC //checksum
C0 A8 47 42 //ip
C0 A8 47 4B //ip
C3 50 //port
00 50 //port
00 00 00 01 //seq
C6 23 7B 32 //ack
50 //header length
02 //flags
16 D0 //window size
94 35 //checksum
00 00 //urgent
大家帮忙看下有错吗?收不到服务器向我发送的第二次握手报文。
...全文
149 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyamzen 2013-08-09
  • 打赏
  • 举报
回复
引用 11 楼 nice_cxf 的回复:
[quote=引用 10 楼 yiyamzen 的回复:] [quote=引用 9 楼 nice_cxf 的回复:] 4 //version 5 //length 这个应该是在一个字节里面的把? 在win7下用wireshark抓包应该就知道那里错了
45是在一个字节里的。上面贴出来的就是用抓包工具抓的,看不出哪里有问题。 以下是tcp头部分,用工具抓的,你帮我看下哪里错了 C3 50 00 50 C6 23 7B 32 00 00 00 00 50 02 39 08 71 FE 00 00[/quote] 用wireshark抓包,如果有错误是会用红色标出来的,[/quote] 我发的包是绿色的
nice_cxf 2013-08-09
  • 打赏
  • 举报
回复
引用 10 楼 yiyamzen 的回复:
[quote=引用 9 楼 nice_cxf 的回复:] 4 //version 5 //length 这个应该是在一个字节里面的把? 在win7下用wireshark抓包应该就知道那里错了
45是在一个字节里的。上面贴出来的就是用抓包工具抓的,看不出哪里有问题。 以下是tcp头部分,用工具抓的,你帮我看下哪里错了 C3 50 00 50 C6 23 7B 32 00 00 00 00 50 02 39 08 71 FE 00 00[/quote] 用wireshark抓包,如果有错误是会用红色标出来的,
yiyamzen 2013-08-09
  • 打赏
  • 举报
回复
引用 9 楼 nice_cxf 的回复:
4 //version 5 //length 这个应该是在一个字节里面的把? 在win7下用wireshark抓包应该就知道那里错了
45是在一个字节里的。上面贴出来的就是用抓包工具抓的,看不出哪里有问题。 以下是tcp头部分,用工具抓的,你帮我看下哪里错了 C3 50 00 50 C6 23 7B 32 00 00 00 00 50 02 39 08 71 FE 00 00
nice_cxf 2013-08-09
  • 打赏
  • 举报
回复
4 //version 5 //length 这个应该是在一个字节里面的把? 在win7下用wireshark抓包应该就知道那里错了
yiyamzen 2013-08-09
  • 打赏
  • 举报
回复
这个会不会跟tcp头里没有tcp选项有关呢? 以下是TCP选项的内容,有人知道代表什么意思吗? 02 04 05 B4 01 03 03 02 01 01 04 02
yiyamzen 2013-08-09
  • 打赏
  • 举报
回复
引用 6 楼 AnYidan 的回复:
1. 换个server 试试 2. 换个别人的 client 看看
试过,没用。
AnYidan 2013-08-08
  • 打赏
  • 举报
回复
1. 换个server 试试 2. 换个别人的 client 看看
max_min_ 2013-08-08
  • 打赏
  • 举报
回复
引用 4 楼 yiyamzen 的回复:
[quote=引用 3 楼 max_min_ 的回复:] 你的包文件好乱! 三次握手 是 tcp协议完成的! 第二次没成功, 说明你发送 SYN字段的时候,服务器没有给你会对应的ACK和它的SYN字段! 你确认下,你connect时候 怎么向服务器发起连接的! 抓包工具看看
我是自己构建报文后使用原始套接字向服务器发送的(linux向win7发送)。 上面贴的报文就是使用抓包工具抓出来的。 因为服务器没有响应所以我估计是我的报文有问题,但是看不出问题在哪里。。 [/quote] 把你客户端的代码贴出来看看
yiyamzen 2013-08-08
  • 打赏
  • 举报
回复
引用 3 楼 max_min_ 的回复:
你的包文件好乱! 三次握手 是 tcp协议完成的! 第二次没成功, 说明你发送 SYN字段的时候,服务器没有给你会对应的ACK和它的SYN字段! 你确认下,你connect时候 怎么向服务器发起连接的! 抓包工具看看
我是自己构建报文后使用原始套接字向服务器发送的(linux向win7发送)。 上面贴的报文就是使用抓包工具抓出来的。 因为服务器没有响应所以我估计是我的报文有问题,但是看不出问题在哪里。。
max_min_ 2013-08-08
  • 打赏
  • 举报
回复
你的包文件好乱! 三次握手 是 tcp协议完成的! 第二次没成功, 说明你发送 SYN字段的时候,服务器没有给你会对应的ACK和它的SYN字段! 你确认下,你connect时候 怎么向服务器发起连接的! 抓包工具看看
yiyamzen 2013-08-08
  • 打赏
  • 举报
回复
引用 1 楼 mujiok2003 的回复:
抓IP包看看。
抓过了,只能抓到我发送的,抓不到服务器向我回复的。
mujiok2003 2013-08-08
  • 打赏
  • 举报
回复
抓IP包看看。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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