我现在想实现的是利用原始套接字实现http的请求,
其中具体的头构造和发送我都实现了,
但我使用sniff抓http的三次握手的包时发现都带有24个字节的数据,
不知道那24个自己数据有什么含义并且是靠什么算法产生的
(因为我发的包没有那24个字节所以没有产生响应)
请提供参考或其他.
其中具体的头构造和发送我都实现了,
但我使用sniff抓http的三次握手的包时发现都带有24个字节的数据,
不知道那24个自己数据有什么含义并且是靠什么算法产生的
(因为我发的包没有那24个字节所以没有产生响应)
请提供参考或其他.
2、对方发收到syn包的ack确认
3、对收到确认进行确认。。
HEADER:
45 00 00 40 4F 86 40 00 40 06 69 AA C0 A8 00 36 E..@O.@[email protected]
C0 A8 00 01 07 2A 7F 8A FA 83 E9 F5 00 00 00 00 .....*..........
B0 02 20 00 29 4B 00 00 .. .)K.. DATA:
02 04 05 B4 01 03 03 00 01 01 08 0A 00 00 00 00 ................
00 00 00 00 01 01 04 02
就是那data区的24个数据是怎么来的??
你是没抓到包还是抓到的包没有那24个数据啊??
T C P是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间
建立一条连接 三次握手是建立tcp连接。11) 请求端(通常称为客户)发送一个S Y N段指明客户打算连接的服务器的端口,以及初
始序号(I S N)。这个S Y N段为报文段1。
2) 服务器发回包含服务器的初始序号的S Y N报文段(报文段2)作为应答。同时,将确认
序号设置为客户的I S N加1以对客户的S Y N报文段进行确认。一个S Y N将占用一个序号。
3) 客户必须将确认序号设置为服务器的I S N加1以对服务器的S Y N报文段进行确认(报文
段3)。
这三个报文段完成连接的建立。这个过程也称为三次握手( three-way handshake)
HEADER:
45 00 00 40 93 79 40 00 40 06 25 B7 C0 A8 00 36 [email protected]@.@.%....6
C0 A8 00 01 05 39 6F 69 D4 BD 43 C4 00 00 00 00 .....9oi..C.....
B0 02 20 00 07 55 00 00 .. ..U.. DATA:
02 04 05 B4 01 03 03 00 01 01 08 0A 00 00 00 00 ................
00 00 00 00 01 01 04 02
第二次(服务器返回)
HEADER:
45 00 00 40 07 5D 40 00 80 06 71 D3 C0 A8 00 01 E..@.]@...q.....
C0 A8 00 36 6F 69 05 39 BC 45 FA D1 D4 BD 43 C5 ...6oi.9.E....C.
B0 12 FF FF 70 2C 00 00 ....p,.. DATA:
02 04 05 B4 01 03 03 00 01 01 08 0A 00 00 00 00 ................
00 00 00 00 01 01 04 02
第三次
HEADER:
45 00 00 34 93 7A 40 00 40 06 25 C2 C0 A8 00 36 E..4.z@.@.%....6
C0 A8 00 01 05 39 6F 69 D4 BD 43 C5 BC 45 FA D2 .....9oi..C..E..
80 10 20 00 84 F0 00 00 .. ..... DATA:
01 01 08 0A 00 03 0C 04 00 00 00 00
2、ip头
3、tcp或udp头