写点什么

Wireshark 数据包分析学习笔记 Day28

发布于: 2021 年 04 月 08 日
Wireshark数据包分析学习笔记Day28

使用描述符来指代套接字的原因如下:

(1)等待连接的套接字中没有客户端 IP 地址和端口号。

(2)使用描述符这一种信息比较简单。

 

服务器接收电信号的过程和客户端发送的过程相反,是从模拟信息转换为数字信息

 

网卡的 MAC 模块将网络包从信号还原为数字信息,校验 FCS 并存入缓冲区。网卡需要通过中断将网络包到达的事件通知给 CPU

 

网卡驱动会根据 MAC 头部判断协议类型,并将包交给相应的协议栈

 

分片的包,则将包暂时存放在内存中,等所有分片全部到达之后将分片组装起来还原成原始包;如果没有分片,则直接保留接收时的样子,不需要进行重组。

 

协议栈的 IP 模块会检查 IP 头部,(1)判断是不是发给自己的;(2)判断网络包是否经过分片;(3)将包转交给 TCP 模块或 UDP 模块。

 

如果收到的是发起连接的包,则 TCP 模块会(1)确认 TCP 头部的控制位 SYN;(2)检查接收方端口号;(3)为相应的等待连接套接字复制一个新的副本;(4)记录发送方 IP 地址和端口号等信息。

 

收到数据包时,TCP 模块会(1)根据收到的包的发送方 IP 地址、发送方端口号、接收方 IP 地址、接收方端口号找到相对应的套接字;(2)将数据块拼合起来并保存在接收缓冲区中;(3)向客户端返回 ACK。


TCP 模块的断开操作,服务器程序会调用 Socket 库的 close, TCP 模块会生成一个控制位 FIN 为 1 的 TCP 头部,并委托 IP 模块发送给客户端。

 

Web 服务器程序在组装网络包、还原数据之后,会运行其中指定的程序(实际是委托操作系统来运行),然后将数据传递给已运行的程序

 

可以根据响应消息开头的 Content-Type 头部字段的值来进行判断

 

CGI 指的不是 CGI 程序本身,而是连接程序与 Web 服务器程序的接口规格。所以说,客户端发送的消息是通过 CGI 这样一个接口,从 Web 服务器程序进入 CGI 程序的。

发布于: 2021 年 04 月 08 日阅读数: 20
用户头像

还未添加个人签名 2018.11.30 加入

还未添加个人简介

评论

发布
暂无评论
Wireshark数据包分析学习笔记Day28