Wireshark之Intro, HTTP, DNS

news2024/11/18 9:44:34

源码地址👇

moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES: 《计算机网络-自顶向下方法(原书第6版)》编程作业,Wireshark实验文档的翻译和解答。 (github.com)

目录

🌼Introduce

🎧前置

🎧过程

🎧课后问题

🌼HTTP

💴GET / response交互 

💴HTTP消息格式

💴检索大型HTML文件(长文件)

💴检索具有嵌入对象的HTML文件

💴HTTP认证和安全性

🌼DNS

📱前置

📱过程

(一)nslookup

(二)ipconfig

(三)WireShark 追踪 DNS


🌼Introduce

结合这个视频做WireShark实验👇

2.WireShark抓包入门操作_哔哩哔哩_bilibili

Introduce的博客

Wireshark实验——入门 - 乌漆WhiteMoon - 博客园 (cnblogs.com)

新手全流程Wireshark博客(建议跟一遍)

wireshark抓包新手使用教程 - jack_Meng - 博客园 (cnblogs.com)

🎧前置

首先,WireShark 是一个使用计算机中 packet capture(pcap) 的 packet analyzer,是免费的网络协议分析器,可在 Windows,Mac 和 Linux / Unix 计算机上运行

可以运行在使用 以太网,串行(PPP 和 SLIP),802,11无线局域网 和 许多其他链路层技术的计算机上

packet sniffer(分组嗅探器)

观察执行协议实体之间交换信息的基本工具

(1)sniffer 计算机发送 / 接收的消息

(2)存储并捕获消息中的协议字段内容

(3)接收的是机器的应用程序和协议,发送 / 接收分组的 “副本”

👆上图是 packet sniffer 的结构,右侧为应用层,传输层,网络层,链路层,物理层的协议

(当前为 Internet 协议)和应用程序(比如Web浏览器 或 ftp客户端)

虚线框的 packet sniffer 包含 2 部分:

(1) packet capture(分组捕获库)

接收链路层的副本

较高层协议(HTTP,FTP,DNS;TCP,UDP;IP...)交换的消息最终被封装在(通过物理介质传输的)链路层中,例如以太网电缆。

图中,假设物理介质是以太网,那么所有上层协议最终被封装在以太网帧中

捕获所有链路层帧,即可获得所有协议和应用程序 发送 / 接收 的消息

(2) packet analyzer(分组分析器)

显示协议消息中所有字段的内容

为了做到这一点,packet analyzer 需要 “理解” 协议交换所有消息的结构

举个例子👇

假设在 HTTP 协议交换消息显示各种字段,packet analyzer

了解以太网帧的格式 --> 识别以太网帧的 IP 数据报

理解 IP 数据报格式 --> 提取 IP 数据包里的 TCP 段

理解 TCP 段结构 --> 提取 TCP 段中包含的 HTTP 消息

理解 HTTP 协议 --> 知道 HTTP 消息第一部分包含字符串 "GET", "POST", "HEAD"

🎧过程

教程:3.WireShark过滤器使用_哔哩哔哩_bilibili 

先cmd,输入 ipconfig,找到已连接的网络,而不是 disconnection

我连接的是学校的 wifi,所以选择 WLAN,开始抓包后,访问网址gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html

稍等一会,先让它抓个30秒,然后暂停,进行 http 的 filter,得到👇 

其他尝试👇

但是,并没有看到 HTTP GET 的消息,只有POST,估计这个网站我GET不到

但是抓百度,是可以直接抓到的

或者先开始抓包,再在 cmd Ping

🎧课后问题

第一个实验的目的是,介绍 WireShark,安装,启动,运动

(1)3种不同的协议

HTTP,TCP,OICQ

(2)两次POST时间差

(3)源IP 和目标IP

Source 和 Destination可以看

🌼HTTP

在这个实验中,我们会探索HTTP协议的几个方面

(1)基本的GET/response交互(2)HTTP消息格式(3)检索大型HTML文件(4)检索具有嵌入对象的HTML文件(5)HTTP认证和安全性

💴GET / response交互 

过程 

gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html

destination没啥问题,但是HTTP那里,没有出现GET,只有POST

上面的结果也可能是对的,因为不同操作系统 或 不同WireShark版本,有所区别 

然后我从压缩的网址, http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip

解压到本地并在WireShark打开 http-ethereal-trace-1

才得到了GET

不是没有GET字段,而是自顶向下提供的网站,确实抓不到,我尝试打开其他网站,有些有GET,有些只有POST👇

解答

1. 您的浏览器是否运行HTTP版本1.0或1.1?服务器运行什么版本的HTTP?

浏览器 1.1👆

服务器 1.1👆

2. 您的浏览器会从接服务器接受哪种语言(如果有的话)?

但是开发者工具里,并没有看到 Accept-Language,也许不是每个请求都有

3. 您的计算机的IP地址是什么? gaia.cs.umass.edu服务器地址呢?

我的计算机是 10.252.120.241,服务器地址是 110.249.194.68

4. 服务器返回到浏览器的状态代码是什么?

200 OK

5. 服务器上HTML文件的最近一次修改是什么时候?

别人的有,但是我的没有 Last-Modified👇

6. 服务器返回多少字节的内容到您的浏览器?

很奇怪,POST 浏览器发出的1000多字节,但是服务器返回的 0 bytes

7. 通过检查数据包内容窗口中的原始数据,你是否看到有协议头在数据包列表窗口中未显示? 如果是,请举一个例子

💴HTTP消息格式

前面没显示 GET,应该是没有清除Edge浏览器缓存的原因

先打开火狐,清楚最近历史记录,我的是第一次安装的

然后先WireShark开始抓包,接着火狐打开该网址

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html

打开后,再次刷新,然后停止抓包👇

根据结果回答下列问题

8. 检查第一个从您浏览器到服务器的HTTP GET请求的内容。您在HTTP GET中看到了“IF-MODIFIED-SINCE”行吗?

没有

9. 检查服务器响应的内容。服务器是否显式返回文件的内容? 你是怎么知道的?

返回了 HTML 文本

10. 现在,检查第二个HTTP GET请求的内容。 您在HTTP GET中看到了“IF-MODIFIED-SINCE:”行吗? 如果是,“IF-MODIFIED-SINCE:”头后面包含哪些信息?

(1)If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去

(2)这个头部告诉服务器,客户端认为资源在"Tue, 21 Nov 2023 06:59:01 GMT"之后进行了修改。服务器将使用这个信息来判断,是否返回更新后的资源或者返回一个状态码304(Not Modified)

(3)304 表示客户端缓存的资源仍然有效,无需重新传输

(4)这样的条件性请求可以减少不必要的数据传输,节省网络带宽和服务器资源

11. 针对第二个HTTP GET,从服务器响应的HTTP状态码和短语是什么?服务器是否明确地返回文件的内容?请解释👇

304 Not Modified

表示当前这个页面的缓存还保存着,并且服务器没有修改,因此这个缓存还能拿来用,就不需要服务器再发一遍了

💴检索大型HTML文件(长文件)

过程 

Historical Documents:THE BILL OF RIGHTS

清除缓存 -- 抓包 -- 打开网址 -- 停止抓包

清除缓存👆清除历史记录,而且清除完历史,缓存要连续清除2次,等下打开网址,要在原页面打开👇

但是我连接到的不是预定的页面....WireShark也没啥问题,不知道为啥,只能选择打开文件👇http-ethereal-trace-3

解答

12. 您的浏览器发送多少HTTP GET请求消息?哪个数据包包含了美国权利法案的消息?

一个 555 GET

200 OK 的数据包,包含了 4500 bytes 的信息

13. 哪个数据包包含响应HTTP GET请求的状态码和短语?

HTTP/1.1 200 OK

14. 响应中的状态码和短语是什么?

200 OK,表示请求成功,信息在返回的报文里

15. 需要多少包含数据的TCP段来执行单个HTTP响应和权利法案文本?

根据别人的答案,需要5个,但是我抓不到这个 HTML 网页的包,只能打开提供好的文件

💴检索具有嵌入对象的HTML文件

过程 

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html

您的浏览器应显示包含两个图像的短HTML文件。这两个图像在基本HTML文件中被引用。也就是说,图像本身不包含在HTML文件中;相反,图像的URL包含在已下载的HTML文件中

第一次,只收到了一个 .jpg

第二次,打开后,刷新,多等了1分钟👇

GPT的解释👇

  1. 第一行:IP地址10.252.121.239向178.79.137.164发出第一次GET请求,请求的资源是"8E_cover_small.jpg"
  2. 第二行:178.79.137.164服务器返回状态码302,表示请求的资源被重定向
  3. 第三行:IP地址10.252.121.239向202.116.36.202发出第二次GET请求,请求的资源是一个带有缓存路径的图片文件
  4. 第四行:202.116.36.202服务器成功返回了一张JPEG格式的图片,状态码为200
  5. 第五行:IP地址10.252.121.239向178.79.137.164发起第三次GET请求,请求的资源仍然是"8E_cover_small.jpg"
  6. 最后一行:178.79.137.164服务器返回状态码301,表示请求的资源被永久性重定向

第 3 次,打开提供的文件 http-ethereal-trace-4数据包

  1. 192.168.1.102向128.119.245.12请求HTML页面
  2. 128.119.245.12返回HTML页面给192.168.1.102,状态码为200 OK
  3. 192.168.1.102向165.193.123.218请求GIF图片
  4. 192.168.1.102向134.241.6.82请求JPG图片
  5. 165.193.123.218返回GIF图片给192.168.1.102,状态码为200 OK
  6. 134.241.6.82返回JPEG图片给192.168.1.102,状态码为200 Document follows

解答

16. 您的浏览器发送了几个HTTP GET请求消息? 这些GET请求发送到哪个IP地址?

3个,三个不同 IP 地址

17. 浏览器从两个网站串行还是并行下载了两张图片?请说明。

先解释下概念👇

串行:逐个执行任务,一个任务完成后才能执行下一个,顺序执行,适用于单处理器系统

并行:同时执行多个任务,并发执行,缩短总体执行时间,提高效率,适用于多处理器系统或分布式系统

根据第3,4行,两行 GET 的时间戳,相差了 0.003 秒(3毫秒),而通常串行时间间隔在几十到几百毫秒之间,所以是并行

💴HTTP认证和安全性

每次开始前清除一下缓存👇

再介绍一个概念

过程 

访问受密码保护的网站,并检查网站的HTTP消息交换的序列。URL http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html 是受密码保护的。用户名是“wireshark-students”(不包含引号),密码是“network”(再次不包含引号)

然而,我一个 HTTP 的包都没抓到,只能打开 http-ethereal-trace-5 数据包👇

 GPT解释👇

  1. 192.168.1.102向128.119.245.12请求一个受保护的HTML页面
  2. 128.119.245.12返回401错误状态码,要求进行身份验证
  3. 192.168.1.102再次向128.119.245.12请求相同的受保护的HTML页面
  4. 128.119.245.12返回状态码200 OK,即请求成功,返回HTML页面

虽然您的用户名和密码可能加密,但它们只是以一种称为Base64格式的格式进行编码。用户名和密码并没有加密!要确认这些,请访问

http://www.motobit.com/util/base64-decoder-encoder.asp

并输入base64编码的字符串 d2lyZXNoYXJrLXN0dWRlbnRz 并进行解码 

选择 decode,可以看到 base64 字符串,被解码为 用户名👇

解答

18. 对于您的浏览器的初始HTTP GET消息,服务器响应(状态码和短语)是什么响应?

401 Authorization Required,该状态码表示用户没有访问权限,需要进行身份认证

19. 当您的浏览器第二次发送HTTP GET消息时,HTTP GET消息中包含哪些新字段?

第一次

第二次

多了 Authorization 字段,向网页提交密码

🌼DNS

📱前置

(1)DNS 的全称是 Domain Name System(域名系统) 。它是一个用于将域名解析成 IP 地址的分布式数据库系统

(2)客户端发起 DNS 查询请求后,DNS 服务器会返回一个 IP 地址,从而使得客户端能够连接到所请求的网站或服务

DNS用于将域名解析为对应的IP地址,而后续的数据包则根据DNS提供的IP地址进行通信 

清除 DNS 缓存 

 windows 用 ipconfig /flushdns,不清除缓存结果一般无法正常显示

C:\Users\1>ipconfig /flushdns

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

基本概念(20分钟过一遍)

DNS的基本概念是什么_云解析 DNS-阿里云帮助中心 (aliyun.com)

(图片引自阿里云)

本地域名服务器/ 没有缓存 /前提下,DNS解析过程👇

当用户在Web浏览器中输入"example.com"时,以下是DNS查询的简单步骤:

  1. 用户在浏览器中输入"example.com"。
  2. 本地域名服务器开始进行递归查询。
  3. 本地域名服务器向根域名服务器查询。
  4. 根域名服务器告诉本地域名服务器顶级域名服务器(.com TLD)的IP地址。
  5. 本地域名服务器向顶级域名服务器(.com TLD)查询。
  6. .com TLD服务器告诉本地域名服务器example.com权威域名服务器的IP地址。
  7. 本地域名服务器向example.com权威域名服务器发送查询。
  8. example.com权威域名服务器告诉本地域名服务器查询的主机IP地址。
  9. 本地域名服务器将查询的IP地址响应给Web浏览器。

一旦得到了example.com的IP地址,浏览器可以发出对该IP地址的HTTP请求,并从该IP地址处的Web服务器获取要显示在浏览器中的网页

DNS术语

递归查询:当你在浏览器中输入网址时,DNS服务器会帮助你找到对应的IP地址。递归查询是指DNS服务器从别的服务器上获取准确的查询结果,然后将结果返回给你

迭代查询:当DNS服务器无法直接回答你的查询,它会告诉你去问另一个DNS服务器。这个过程可能会进行多次,直到找到查询结果为止

DNS缓存:DNS服务器会将解析结果存储在靠近你的位置,这样下次查询相同的网址时可以更快地获取结果,减少了递归查询的时间

TTL(Time To Leave):这是一个时间值,告诉DNS服务器可以将解析结果缓存多长时间。当缓存时间到期后,DNS服务器会删除该解析记录,需要重新进行查询

IPV4、IPV6双栈技术:在一个系统中同时使用IPv4和IPv6协议,以便能够连接到不同类型的网络(双栈 Dual IP Stack)

TLD服务器:顶级域名服务器(Top-level domains Server),负责管理顶级域名(如.com、.net等)的IP地址

DNS Resolver:也称为本地域名服务器,是处理你发出的初始DNS请求的第一站。它可以是由你的互联网服务提供商(ISP)分配的DNS服务器,也可以是像Google的8.8.8.8这样的公共DNS服务器

根域名服务器:当本地域名服务器无法找到查询结果时,它会向根域名服务器进行查询,并获取顶级域名服务器的IP地址

DNS记录和消息

What are DNS records? | Cloudflare (cloudflare-cn.com)

DNS报文格式解析(非常详细) (biancheng.net)

nslookup

nslookup命令详解:nslookup是一种网络管理命令行工具 - 习久性成 - 博客园 (cnblogs.com)

📱过程

DNS实验中一个服务器已经不在使用,且部分现象无法解释,速通~

(一)nslookup

nslookup -option1 -option2 host-to-find dns-server

nslookup解答

1. 运行*nslookup*以获取一个亚洲的Web服务器的IP地址。该服务器的IP地址是什么?

C:\Users\1>nslookup www.google.com
Server:  UnKnown
Address:  202.116.32.254

Non-authoritative answer:
Name:    www.google.com
Addresses:  2a03:2880:f11c:8083:face:b00c:0:25de
          142.251.42.228

142.251.42.228

2. 运行*nslookup*来确定一个欧洲的大学的权威DNS服务器。

解释 

(1)-type=NS 是一个选项,表示查询的类型是 NS(Name Server)记录

(2)nslookup 命令后加上 -type=NS 选项,那么查询结果会返回与所查询域名相关的权威DNS服务器的信息。这些信息包括权威DNS服务器的域名和对应的IP地址

(3)如果不加 -type=NS 选项,则默认的查询类型是 A 记录,即查询域名对应的IPv4地址

(不同的查询类型,会返回不同的信息)

3. 运行*nslookup*,使用问题2中一个已获得的DNS服务器,来查询Yahoo!邮箱的邮件服务器。它的IP地址是什么?

(二)ipconfig

ipconfig命令图文教程,查看本机网络ip,dns刷新缓存 - 腾讯云开发者社区-腾讯云 (tencent.com)

(三)WireShark 追踪 DNS

清除DNS缓存,清除FIreFox浏览器记录,打开WireShark抓包WLAN,浏览器输入

http://www.ietf.org,停止抓包

ipconfig查询WLAN的IPv4地址

WireShark查询👇

问题解答

点击第一个,下方第一行 Frame 的最后

4. DNS查询和响应消息,通过UDP发送

5. 下方 User Datagram Protocal,显示 port: 53

6. Destination

7. Type 为 “A”,表示查询 IP 地址(IPv4);“AAAA”,表示查询 IPv6 地址

没有包含Answers

8. 找到DNS响应,Domain Name System点击,我这里有5条,包含类型和 IPv4 地址

9. 根据 8. 得到的 addr👇

这里涉及 WireShark 过滤器

Wireshark过滤器写法总结 - willingtolove - 博客园 (cnblogs.com)

所以,是相对应的

10. 只是部分需要发起新的DNS查询(未缓存 / 缓存过期 -- 才需要)

下一个链接👇

使用nslookup查询 www.mit.edu

11. 目标和源端口都53,参考上面User Datagram Protocal

12. 目标 IP 地址,是默认本地DNS的IP地址,参考 Internet Protocol Version 和 nslookup里Server下的Address

13. 上面做过了

14. 同上

现在输入下面两个网址,同时使用Wireshark和cmd ipconfig,重复上面实验

(1)nslookup -type=NS mit.edu

(2)nslookup www.aiit.or.kr bitsy.mit.edu(这个DNS服务器,好像有点问题)

That's the end ~

其实,还是建议用 源码提供的 wireshark 数据包,在 wireshark 里打开,不然很多干扰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1270263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java:IDEA中Maven常用操作

文章目录 背景1、Reload All Maven Projects:2、Generate Sources and Update Folders For All Projects:3、Download Sources and/or Documentation:4、Add Maven Projects5、Run Maven Build6、Execute Maven Goal7、Toggle Offline Mode8、Toggle Skip Tests Mode9、Collaps…

10分钟的时间,带你彻底搞懂JavaScript数据类型转换

前言 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步! 🍅 个人主页:南木元元 目录 JS数据类型 3种转换类型 ToBoolean ToString ToNumber 对象转原…

Go语言多线程爬虫万能模板:实现高效数据采集

随着互联网的快速发展,网络爬虫已经成为数据采集的重要工具。Go语言作为高性能编程语言之一,具有出色的并发性能和丰富的网络库,非常适合用于编写多线程爬虫。本文将介绍一个基于Go语言的多线程爬虫万能模板,并阐述其设计思路、核…

精密制造ERP系统包含哪些模块?精密制造ERP软件是做什么的

不同种类的精密制造成品有区别化的制造工序、工艺流转、品质标准、生产成本、营销策略等,而多工厂、多仓库、多车间、多部门协同问题却是不少精密制造企业遇到的管理难题。 有些产品结构较为复杂,制造工序繁多,关联业务多,传统的…

ruoyi-vue 整合EMQX接收MQTT协议数据

EMQX安装完成后,需要搭建客户端进行接收数据进一步对数据处理,下面介绍基于若依分离版开源框架来整合EMQX方法。 1.application.yml 添加代码 mqtt:hostUrl: tcp://localhost:1883username: devpassword: devclient-id: MQTT-CLIENT-DEVcleanSession: …

leetcode 15. 三数之和(优质解法)

代码&#xff1a; class Solution {public static List<List<Integer>> threeSum(int[] nums) {Arrays.sort(nums);List<List<Integer>> listsnew ArrayList<>();int lengthnums.length;for(int i0;i<length-3;){int lefti1;int rightlength…

springboot基础配置及maven运行

目录 1、spring快速开始&#xff1a; 2、通过idea工具打开导入包 3、maven打包 1、springboot快速开始&#xff1a; 环境依赖&#xff1a;jdk17 Spring | Quickstart spring初始化包下载&#xff1a; 点击generate&#xff0c;下载包 2、通过idea工具打开导入包 我之前写了…

RK3568 android 13 内置 google GMS服务

需求&#xff1a;Android 系统在国外使用安装app很多需要gms服务&#xff0c;否则无法正常使用&#xff0c;所以出厂前必须要把GMS包集成进系统 1.下载gms包https://download.csdn.net/download/qq_46524402/88136401 2.解压gms包 并放到Android SDK根目录的vender文件夹下 3…

内网渗透隧道技术一netsh

隧道技术 百度百科&#xff1a; 网络隧道技术指的是利用一种网络协议来传输另一种网络协议&#xff0c;它主要利用网络隧道协议来实现这种功能。网络隧道技术涉及了三种网络协议&#xff0c;即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议 在网络安全中…

通往数百万量子比特的商业化之路——

在已知物理定律的限制下&#xff0c;我们能制造出的最好的计算机是什么&#xff1f;争夺这一头衔的是通用、容错和可扩展的量子计算机。 这台建立在量子理论基础上的机器能够运行任何量子算法&#xff0c;检测并纠正任何可能危及计算的错误&#xff0c;并容纳大量量子比特。 当…

开发电脑软件学什么语言?哪些语言最适合?

随着信息技术的不断发展&#xff0c;电脑软件已经成为人们日常生活和工作中不可或缺的一部分&#xff0c;许多人都希望学习如何开发电脑软件&#xff0c;而选择一种合适的编程语言是成功的关键&#xff0c;下面将介绍几种最适合开发电脑软件的编程语言&#xff0c;以及一些基础…

自动提交日志脚本(2)状态机管理

使用状态机作为管理 """ filename:statusHandle.py author:LinXingNan time:2023-11-27 """ import os from enum import Enumimport configHandle import emailReport import logHandle import timeHandle import logging from datetime impo…

flask中路由route根据字典ID展示部分内容,字典名展示全部内容

from flask import Flask, jsonify , request,render_template,app Flask(__name__)app.config[JSON_AS_ASCII] Falsebooks [{"id": 1, "name": 三国演义},{"id": 2, "name": 水浒传},{"id": 3, "name": 西游记…

【UE】热成像效果

效果 步骤 1. 新建一个空白项目&#xff0c;勾选“光线追踪”选项 2. 添加一个第一人称游戏内容包到项目 3. 打开第一人称角色蓝图“BP_FirstPersonCharacter”&#xff0c;添加一个后期处理组件 在事件图表中设置通过按键N来切换不同的后期处理效果 将后期处理设置引脚提升为…

后端Long型数据传到前端js后精度丢失的问题

假设一个场景&#xff0c;MybatisPlus的雪花算法生成long类型主键ID&#xff0c;存入数据库&#xff0c;前端获取到数据后&#xff0c;要执行一个更新操作&#xff08;updateById&#xff09;&#xff0c;但这时会出现无法成功更新的情况&#xff01;这是因为前端在长度大于17位…

TCP/IP封装

数据如何通过网络发送&#xff1f;为什么 OSI 模型需要这么多层&#xff1f; 下图显示了数据在网络传输时如何封装和解封装。 步骤1&#xff1a;当设备A通过HTTP协议通过网络向设备B发送数据时&#xff0c;首先在应用层添加HTTP头。 步骤2&#xff1a;然后将TCP或UDP标头添加…

Python数据清洗--运用3δ准则检测异常值

1.3δ准则检测异常值的基本原理 当数据为连续型变量、服从或近似服从正态分布时&#xff0c;可运用3δ准则检测异常值。在该准则条件下&#xff0c;数据值与均值的偏差如果超过标准差的3倍&#xff0c;那么该数据值就会被视为异常值。即针对样本xi&#xff0c;如果满足&#x…

【Linux--进程】

目录 一、基本概念1.1描述进程-PCB1.2task_struct中内容分类 二、了解进程2.1查看进程2.2通过系统调用获取进程标识符 三、fork创建进程3.1fork()函数3.2写时拷贝 四、进程的状态4.1操作系统学科里的进程状态&#xff08;运行、阻塞、挂起&#xff09;4.具体的Linux状态是如何维…

MySQL之undo日志

聊聊undo log 什么是undo log undo log&#xff08;回滚事务&#xff09;&#xff0c;在事务没有提交前&#xff0c;MySQL将记录更新操作的反向操作到undo log日志中&#xff0c;以便进行回退保证事务的原子性 undo log的作用 1.提供回滚操作 我们在进行数据更新操作的时候…

【Android Jetpack】Lifecycle 感知生命周期

文章目录 背景示例LifeCycle的原理LifecycleOwner自定义LifecycleOwnerLifecycleObserver 示例改进使用LifecycleService解耦Service与组件整个应用进程的生命周期ProcessLifecycleOwner 背景 在Android应用程序开发中&#xff0c;解耦很大程度上表现为系统组件的生命周期与普…