http借助tcp传输数据

客户端发送数据到服务器
15:20:16.304473 00:22:19:4f:7a:09 > 00:22:19:4f:7c:f2, ethertype IPv4 (0x0800), length 622: IP 192.168.20.17.2513 > localhost.localdomain.9900: P 2733155024:2733155592(568) ack 800828764 win 65535
        0x0000:  4500 0260 aabd 4000 7b06 8a6f c0a8 1411  E..`..@.{..o....
        0x0010:  c0a8 3309 09d1 26ac a2e8 a2d0 2fbb ad5c  ..3...&...../../
        0x0020:  5018 ffff 9344 0000 4745 5420 2f20 4854  P....D..GET./.HT
        0x0030:  5450 2f31 2e31 0d0a 5573 6572 2d41 6765  TP/1.1..User-Age
        0x0040:  6e74 3a20 4f70 6572 612f 392e 3830 2028  nt:.Opera/9.80.(
        0x0050:  5769

ip header段数据分析基本同(1)的描述,只是checksum不同,源、目的ip互换等等
ip header数据从第一行4500到第二行的3309

tcp段的分析有所不同:
(1)源端口:0x09d1-->2513
(2)目的端口:0x26ac-->9900
(3)序列号:a2e8 a2d0-->2733155024,本方的syn号
(4)Acknowlege Number:2fbb ad5c-->800828764,对方发来的syn+1,作为ack number
(5)Data Offset:5 (5时,无Options段)
(6)6位Reserved
(7)6位Code:10转为二进制为00011000,取6位为011000,表示发送的数据为ack+psh
(8)window size:0xffff-->65535
(9)checksum:9344
(10)urgent pointer:0000
(11)Options + Padding:无Options+Padding
(12)Tcp Data:从第二行的4745到最后


服务器接到数据后,先发送一个确认包
15:20:16.304486 00:22:19:4f:7c:f2 > 00:22:19:4f:7a:09, ethertype IPv4 (0x0800), length 54: IP localhost.localdomain.9900 > 192.168.20.17.2513: . ack 2733155592 win 6816
        0x0000:  4500 0028 42a4 4000 4006 2fc1 c0a8 3309  E..(B.@.@./...3.
        0x0010:  c0a8 1411 26ac 09d1 2fbb ad5c a2e8 a508  ....&.../../....
        0x0020:  5010 1aa0 7743 0000                      P...wC..

tcp中
6位Code:10转为二进制为00010000,取6位为010000,表示发送的数据为ack

 

再发送服务器产生的数据到客户端:

15:20:16.337412 00:22:19:4f:7c:f2 > 00:22:19:4f:7a:09, ethertype IPv4 (0x0800), length 257: IP localhost.localdomain.9900 > 192.168.20.17.2513: P 800828764:800828967(203) ack 2733155592 win 6816
        0x0000:  4500 00f3 42a6 4000 4006 2ef4 c0a8 3309  E...B.@.@.....3.
        0x0010:  c0a8 1411 26ac 09d1 2fbb ad5c a2e8 a508  ....&.../../....
        0x0020:  5018 1aa0 c950 0000 4854 5450 2f31 2e31  P....P..HTTP/1.1
        0x0030:  2033 3034 204e 6f74 204d 6f64 6966 6965  .304.Not.Modifie
        0x0040:  640d 0a44 6174 653a 2046 7269 2c20 3036  d..Date:.Fri,.06
        0x0050:  2041

 

客户端接到数据后,再发一个确认ack:

15:20:16.495726 00:22:19:4f:7a:09 > 00:22:19:4f:7c:f2, ethertype IPv4 (0x0800), length 60: IP 192.168.20.17.2513 > localhost.localdomain.9900: . ack 800828967 win 65332
        0x0000:  4500 0028 aad5 4000 7b06 8c8f c0a8 1411  E..(..@.{.......
        0x0010:  c0a8 3309 09d1 26ac a2e8 a508 2fbb ae27  ..3...&...../..'
        0x0020:  5010 ff34 91e3 0000 0000 0000 0000       P..4..........

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值