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