如何在OSI模型的前四层access/read/write/program/listen?

How to access/read/write/program/listen in the first four layers of the OSI Model?

我想知道所有网络舞蹈组件是如何工作的: 我如何 program/read/write/access 中的原始数据和解析数据:

  1. 物理层(通过网卡)?
  2. 数据-link层? (例如,为了让我自己切换 OS)
  3. 网络层? (例如,为了制作我自己的路由 OS)
  4. 传输层?

RAW 套接字允许您修改以上所有内容。可以找到惊人的例子 here。如您所见,您可以修改所有层,但您必须自己进行所有解析和处理。以UDP为例:

第 4 层 - 您必须解析或创建 UDP Header

第 3 层 - 您必须解析或创建 IP Header

第 2 层 - 您必须解析或创建以太网 Header

第 1 层 - 从您打开套接字的接口写入或读取