今天继续网络编程,基本的TCP和UDP实现方式我们已经可以实现了,接下来就是学习一些更加底层的原理了,我尽量快点写0.0。希望有人愿意跟我一起学习呀。
🧑🏻作者简介:一个学嵌入式的年轻人
✨联系方式:2201891280(QQ)
📔源码地址:https://gitee.com/xingleigao/study_qianrushi
⏳全文大约阅读时间: 60min
文章目录
wireshark抓包工具
数据包解析
以太网头
IP头
TCP头
写在最后
wireshark抓包工具
wireshark官网
按照上图的方式进行基本的配置,选择对应的网卡,选择过滤端口就行了
注意的点:本地回环测试抓不到,因为压根没有走对应的网卡,所以我用了两台机器做测试。
然后我们就可以进行抓取数据了,我们可以看到包含我发的ascii码的字符。
数据包解析
以太网头
其中主要的字段如上图所示,看抓包工具相关的信息,也是对应的。
IP头
抓包工具抓到的也可以进行对应分析。
TCP头
TCP是一种面向连接、可靠传输过程
TCP头的形式:
一、TCP的可靠传输:确认和重发机制
1.TCP将所有需要发送的数据进行了编号,并且通过滑动窗口维护一个发送的列表,等到前面的所有数据被收到之后滑动窗口才能前移。
2.发送时从当前数据位置,发送windows大小的数据,如果到时间未收到ACK就会重发。
3.确认方式位如果收到ack = 800意味着0-799都已经接收,期待着第800号元素。
二、TCP的面向连接
注意:
1、四次挥手偶尔抓包只有三次,因为同方向的ACK和FIN可以一起发送。
2、一定要标识客户端和服务器,三次握手是client发起,四次挥手不一定谁发起。
写在最后
最近有点懒,一定尽快更,长按催更见,前面的应用较多大家跟我一起改变世界。啊哈哈哈,求求大家给个三连再走吧,求求你们了0.0