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 全生命周期的过程可以采集到生命周期里的交互过程。
1.3次握手,建立链接。
3. 4次分手退出。
![](https://i-blog.csdnimg.cn/blog_migrate/7005a419e644fa61dae5f66d3d193784.png)
Flags[S] 数据包的特征标志位
length=0 length 0 大小为0 表示是内核发送,不包涵应用层的。说明这是个 传输控制的包。
![](https://i-blog.csdnimg.cn/blog_migrate/c27f58fb335af27c8aba6412f4ed8773.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9197cdc73358f4ad7171aa3282ce896c.png)
3.退出,4次分手 4条
![](https://i-blog.csdnimg.cn/blog_migrate/ad042fd3405d860756ac62f1db41ac62.png)