如果你可以在浏览器中访问低于 TCP 的级别

Lan*_*ard 1 browser ip networking tcp ethernet

我正在学习网络协议,发现接近最低级别的是原始以太网协议:

以太网:这是使用您的 MAC 地址将数据发送到本地网络上的另一台计算机的基本协议。这是其余所有内容的构建块,因为如果您想与外界通信,则需要将数据发送到路由器。

其之上是互联网协议 (IP),其中 TCP 和 UDP 就是示例。TCP 之上是 HTTP,或者可以在 SSL 之上放置 HTTP(因此 HTTPS)。

浏览器似乎只允许您深入到 IP 级别(用于正常消息传递连接的 TCP,用于视频等内容的 UDP)。但我想知道是否有可能比浏览器中的更低。如果没有,那么想知道为什么不。如果是这样,那么可能是一个例子。

Ina*_*ova 5

\n

\xe2\x80\x9c 浏览器似乎只允许您进入\n IP 级别(TCP 用于正常的消息传递连接,UDP 用于\n 视频之类的连接)。\xe2\x80\x9d

\n
\n\n

首先,TCP 和UDP 不是IP的示例。它们是传输层协议,是 IP 之上的一层。

\n\n

5 层模型的这种表示应该有助于区分:

\n\n

5层网络模型

\n\n
    \n
  • 其次,如果您所说的“进入以太网级别”\xe2\x80\x99是指使用浏览器\xe2\x80\x99s 开发工具检查数据包,则可以\xe2\x80\x99 执行此操作。您只能看到 HTTP 数据包。
  • \n
\n\n

如果您想观察所有流量,可以使用WiresharkFiddler等工具 来捕获和检查不同层的数据包。

\n\n
    \n
  • 如果您询问浏览器是否可以使用应用程序层以外的任何层。不,它不能。这也是为什么你只能观察 HTTP 数据包,因为那是浏览器运行的层。
  • \n
\n\n

信息从一层传输到另一层,但不会跳过层:

\n\n

数据包如何从发送主机通过 TCP/IP 堆栈传输

\n\n

您对网页的请求使用了所有层。它从应用程序层(面向用户的层)开始,一直沿着堆栈向下,直到网络层将您的请求传输到服务器的网络层,然后在堆栈上向上获取网页。

\n\n
\n

数据包是通过网络传输的信息的基本单位。数据包至少由包含发送和接收主机地址的标头以及包含要传输的数据的正文组成。当数据包通过 TCP/IP 协议栈时,每一层的协议都会在基本标头中添加或删除字段。当发送主机上的协议将数据添加到数据包标头时,该过程称为数据封装。此外,每一层对于更改后的数据包都有不同的术语,如下图所示。

\n
\n\n

您可以在有关数据封装和 TCP/IP 协议栈的文章中详细了解数据包在协议栈中传输的方式

\n