【计网】07.其他+总结

【嵌入式八股】一、语言篇https://www.nowcoder.com/creation/manager/columnDetail/mwQPeM

【嵌入式八股】二、计算机基础篇(本专栏)https://www.nowcoder.com/creation/manager/columnDetail/Mg5Lym

【嵌入式八股】三、硬件篇https://www.nowcoder.com/creation/manager/columnDetail/MRVDlM

【嵌入式八股】四、嵌入式Linux篇https://www.nowcoder.com/creation/manager/columnDetail/MQ2bb0

其他

其他

114.抓包工具
  1. Wireshark:Wireshark 是一个功能强大的开源网络分析工具,可捕获和分析各种网络数据包。它支持多种操作系统,包括Windows、macOS和Linux。
  2. tcpdump:tcpdump 是一个基于命令行的网络抓包工具,可在多种Unix-like操作系统上使用。它能够以文本形式显示捕获的数据包,并提供丰富的过滤功能。
  3. Fiddler:Fiddler 是一个跨平台的网络调试代理工具,可以用于捕获和分析HTTP和HTTPS流量。它提供了一个用户友好的图形界面和丰富的调试功能。
  4. Charles:Charles 是一款跨平台的代理工具,可用于捕获和分析HTTP和HTTPS流量。它支持多种操作系统,并提供了SSL代理和重写功能,方便进行网络调试和修改流量。
  5. Burp Suite:Burp Suite 是一套用于渗透测试和应用程序安全评估的工具,其中包含一个功能强大的抓包工具。它可以捕获和修改HTTP和HTTPS流量,并提供各种安全测试和漏洞扫描功能。
115.查看网络状态

要查看网络状态,您可以使用以下方法之一:

  1. 使用命令行工具(如Windows的命令提示符或macOS和Linux的终端)来执行网络状态命令。以下是一些常用的命令:
  • 在Windows上,您可以使用 ipconfig 命令来查看本地网络适配器的IP地址、子网掩码和网关等信息。使用 ping 命令可以测试与特定主机的连接。
  • 在macOS和Linux上,可以使用 ifconfig 命令来查看网络接口的配置信息。使用 ping 命令可以测试与特定主机的连接。此外,您还可以使用 netstat 命令来查看当前的网络连接和端口占用情况。
  1. 使用图形界面工具来查看网络状态。大多数操作系统都提供了图形化的网络管理工具,您可以通过它们来查看网络连接、IP配置和其他相关信息。例如,在Windows上,您可以打开“控制面板”并选择“网络和Internet”>“网络和共享中心”,在此处可以查看当前网络连接的状态和详细信息。在macOS上,您可以打开“系统偏好设置”并选择“网络”,以查看当前网络接口的状态和配置。
  2. 使用网络监控工具。有一些第三方工具可以提供更详细和实时的网络状态信息。例如,PingPlotter 是一个用于监控网络连接和测试延迟的工具,它可以显示路由跟踪和网络质量图表等信息。
116.ping 和 traceroute

pingtraceroute 是常用的网络诊断工具,用于测试网络连接和跟踪数据包的路径。

  • ping 命令用于测试与目标主机之间的连接,并测量往返时间(Round-Trip Time,RTT)。它发送一个ICMP回显请求(ping请求)到目标主机,并等待目标主机返回ICMP回显应答(ping响应)。通过检查响应时间和丢包情况,可以评估与目标主机之间的网络延迟和可达性。

使用方式:

ping <目标主机或IP地址>

示例:

ping www.example.com
  • traceroute 命令用于跟踪数据包从本地主机到目标主机的路径。它通过发送一系列的UDP数据包,每个数据包在网络中经过不同的路由器,从而确定数据包的路径和经过的网络节点。traceroute 命令会显示每个节点的IP地址和往返时间。

使用方式:

traceroute <目标主机或IP地址>

示例:

traceroute www.example.com

请注意,具体的命令和输出格式可能因操作系统而有所不同。在Windows系统上,pingtracert 是对应的命令。在macOS和Linux系统上,pingtraceroute 是常用的命令。执行这些命令时,可以使用目标主机的域名或IP地址。

TCP与HTTP

117.一个TCP连接可以对应几个HTTP请求?

一个 TCP 连接中 HTTP 请求发送可以一起发送么(比如一起发三个请求,再三个响应一起接收)?

如果Connection为close,则一个TCP连接只对应一个HTTP请求。

如果Connection为Keep-alive(持久连接),则一个TCP连接可对应一个到多个HTTP请求

HTTP/1.0中,每个HTTP请求都需要单独建立一个TCP连接,这样会带来额外的开销和延迟。

HTTP/1.1中,引入"持久连接"+Pipeline流水线机制。持久连接机制允许客户端和服务器在同一个TCP连接上进行多次HTTP请求和响应,从而减少了TCP连接的建立和关闭的次数,提高了性能和效率。HTTP/1.1在RFC 2616中规定:一个支持持久连接的客户端可以在一个连接中发送多个请求(不需要等待任意请求的响应)。收到请求的服务器必须按照请求收到的顺序发送响应。Pipeline本身存在一些问题(首个请求耗时过长,阻塞其他请求)。所以,浏览器默认关闭该功能。

HTTP/2.0提供了多路复用技术Multiplexing,一个TCP可以并发多个HTTP请求(理论无上限,但是一般浏览器会有TCP并发数的限制)。

结论:HTTP/1.1中存在Pipeline技术支持一个连接发送多个请求,但存在弊端,浏览器默认关闭。HTTP/2.0中通过多路复用技术支持一个TCP连接中并发请求多个HTTP。

118.浏览器对同一 Host 建立 TCP 连接到的数量有没有限制?

浏览器对同一Host 建立 TCP 连接到的数量是有限制的,这是为了避免浏览器过度消耗资源,导致性能下降

不同的浏览器对于同一 Host 建立TCP连接的数量的限制是不同的。浏览器会根据服务器的性能和网络情况来调整并发连接数的数量,以确保浏览器的性能和网络的负载平衡。

例如,早期版本的浏览器(如IE6)只支持最多两个TCP连接,而现代的浏览器(如Chrome、Firefox、Safari等)则支持更多的并发连接数。在HTTP/1.1中,客户端可以通过修改请求头部中的"Connection"字段来控制TCP连接的使用情况,例如可以设置"Connection: keep-alive"来启用持久连接,从而减少TCP连接的建立和关闭次数,提高性能和效率。

如果在同一页面中存在大量的资源(如图片、CSS、JS等)需要从同一Host中获取,浏览器可能会对TCP连接数量进行限制,这时可以使用CDN等技术来解决这个问题。

119.浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?

在 HTTP/1.0 中,一个服务器在发送完一个 HTTP 响应后,会断开 TCP 链接。每次请求都会重新建立和断开 TCP 连接,代价过大。

在HTTP/1.1和2中,在建立了一个TCP连接后,浏览器并不会在一个HTTP请求完成后立即断开连接。浏览器默认使用了Connection: keep-alive持久连接,也就是说,在同一个TCP连接中,多个HTTP请求和响应可以复用这个连接,这样可以减少TCP连接的建立和关闭次数,提高网络传输的效率和性能。当HTTP请求中包含了"Connection: close"字段时,表示这个请求完成后应该关闭TCP连接。

数据链路层

120.以太网的帧格式

alt

其中的源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。可在shell中使用ifconfig命令查看,“HWaddr 00:15:F2:14:9E:3F”部分就是硬件地址。协议字段有三种值,分别对应IP、ARP、RARP。帧尾是CRC校验码。

以太网中的类型字段指的是接下来数据的类型,常见的类型有以下几种:

  1. IPv4类型(0x0800):表示接下来的数据是IPv4协议数据。
  2. ARP类型(0x0806):表示接下来的数据是ARP协议数据。如果只知道IP地址,想要获得相应的MAC地址就需要使用RARP协议。
  3. ARP类型(0x0835):表示接下来的数据是ARP协议数据。如果只知道MAC地址,想要获得相应的IP地址就需要使用RARP协议。
  4. VLAN类型(0x8100):

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

查阅整理上千份嵌入式面经,将相关资料汇集于此,主要包括: 0.简历面试 1.语言篇 2.计算机基础【本专栏】 3.硬件篇 4.嵌入式Linux (建议PC端查看)

全部评论
嵌入式问的这么深吗?
1 回复 分享
发布于 2023-04-13 09:21 天津
嵌入式有无笔面经?
1 回复 分享
发布于 2023-04-12 23:00 江苏

相关推荐

Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
07-17 12:09
门头沟学院 Java
讲的口干舌燥,头都晕了怎么要讲这么长啊
码农索隆:没事,你口干舌燥,他不一定会看,
投递小鹏汽车等公司7个岗位
点赞 评论 收藏
分享
评论
2
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务