星巡研究院

渗透视角下的操作系统底层

**1. 干什么** 端口是协议栈内的编号,不是独立进程。进程创建 socket、bind 地址与端口、listen 后成为该端口的监听者,外部数据包由内核按目标端口递交给对应 socket。 **2. 谁在调** * 用户态主体:服务进程与 ss、nmap 等探测工具。 * C 库封装层:`socket`、`bind`、`listen`、`accept`。 * 内核态主体:协议栈监听表、连接分发。 **3. 做什么业务** 同一协议、同一地址、同一端口默认只允许一个进程 bind,第二个请求返回 EADDRINUSE(Address already in use)。数据包到达时内核按目标端口在监听表中查找对应 socket,把数据放入其接收队列。服务即处于 listen 状态的 socket 所属进程,端口本身不执行代码。 **4. 组件清单** * socket 对象与协议族 * bind 地址端口对 * listen 监听队列 * 内核监听表与分发逻辑 **5. 最小可运行** ``` # 对比普通与root视角下端口归属的可见差异 ss
这是进阶内容

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