TCP-三次握手-四次分手- tcpdump

1.网络结构图 
2.图解3次握手
3.图解4次分手
4.tcpdump抓包详解(13条)

 


 

1.网络结构图

  

   TCP,UDP都是位于传输控制层的。是内核(操作系统)去做的。
2.3次握手
   比如: 本机->百度
               1.本机----->百度   内核发送 syn
               2.百度-----> 我     收到
               3.我也知道了
          一去
          一回
          再一去
这就是三次握手。
 

链接:当数据包由连接控制层(内核间)发来发去,这还不叫连接,只有双方在内存中开辟相应的资源后才叫链接。
链接
:中间能发数据包
             两边有资源。
资源:在C++中就是结构体或者叫对象
           内存缓冲区

3.4次分手

1.C->S要分
2.S->C 说知道了 fin+ack
3.S->C fit 同意
4.C->S ok
这就是4次分手。

4.IP:找到主机;端口号:找到程序的。一个IP可以分配65535个端口号,如果要做压力测试可以虚拟IP,这样一台机器就会有N多个链接。

4.tcpdump抓包详解
    tcpdump 是一个运行在命令行下的抓包工具.可以在三种操作系统底下运行。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。

以访问百度为例。
运行命令
     curl 全生命周期的过程可以采集到生命周期里的交互过程。
 

整个过程抓包可看到13条记录
1.3次握手,建立链接。
2. 数据交互,得到主页信息。
3. 4次分手退出。
 
监听数据包的交互过程:
1.3次握手 ,建立链接 :3条
   1.1.我  向百度发了一个想握手的包。本机  Ip +随机的端口号 54822 —>百度的80端口号 
           Flags[S]   数据包的特征标志位
           length=0   length 0 大小为0  表示是内核发送,不包涵应用层的。说明这是个 传输控制的包。
 
   1.2..百度基于礼貌回一条我知道了       Flags[S.]        ack
  1.3.我->百度                                         Flags[ .]        ack
  
2.数据交互  6条
 
    4.5 发的length =168表示我请求了
  
    我发               Flags[P.]    立刻推送                      length=168   就是http 请求头的那些码的长度
    百度回           Flags[.]                         ack 确认   length=0   
6.7.8.9 对于我的请求,百度把主页内容发给我。
   百度发           Flags[P.]       立刻推送                    l ength=1460   大小的数据包 解析完请求
   我确认           Flags[.]                         ack  确认   length=0
   百度发           Flags[P.]         立刻推送                  length=1321
       1460   +1321才是主页所有的字节。
   我确认                                                   ack  length=0
 
此时其实就可以看到所有字节拼接的结果了


  
3.退出,4次分手 4条
最后4条


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值