星巡研究院

渗透视角下的C语言

* `socket(AF_PACKET, SOCK_RAW, hproto)`:二层原始帧收发,底层 `socket`(x86-64 号 41),`AF_PACKET` 链路层。 * `socket(AF_INET, SOCK_RAW, IPPROTO_ICMP/UDP)`:三层原始 IP 包,自行构造 IP 头。 * `setsockopt(IPPROTO_IP, IP_HDRINCL, &on, len)`:开启后由用户态填 IP 头。 * 特权前提:创建原始套接字要求 root,或进程持有 `CAP_NET_RAW`(见第 29 章 capability)。无此条件内核在 socket 创建检查点返回 `EPERM`。
这是进阶内容

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