星巡研究院

渗透视角下的C语言

客户端到服务端执行端的 HTTP 报文经 `sys/socket.h` 递交内核:`socket`(x86-64 系统调用号 41,创建套接字并返回文件描述符)、`connect`(42,主动发起三次握手建立 TCP 连接)、`sendto`(44,发送报文。`send` 是已连接套接字上省略对端地址的 flags 封装,无独立调用号,内部转调 44)、`recvfrom`(45,接收报文。`recv` 同理为其封装,内部转调 45)、`close`(3,释放描述符)。报文头与表单正文由 `stdio.h` 的 `snprintf` 拼装(纯用户态、无独立调用号,见上册第 4 章),正文长度由 `string.h` 的 `strlen` 计算(纯用户态、无独立调用号,见上册第 6 章)。地址文本转二进制由 `arpa/inet.h` 的 `inet_pton` 完成(纯用户态、无独立调用号,见上册第 9 章)。套接字收发见上册第 3 章。
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门