过程

Wireshark分析器分析数据流过程

梦想的初衷 提交于 2020-03-09 21:43:23
Wireshark分析器分析数据流过程 分析包是 Wireshark 最强大的功能之一。分析数据流过程就是将数据转换为可以理解的请求、应答、拒绝和重发等。帧包括了从捕获引擎或监听库到核心引擎的信息。 Wireshark 中的格式由成千上万的协议和应用程序使用,它可以调用各种各样的分析器,以可读的格式将字段分开并显示它们的含义。下面将介绍详细分析 Wireshark 的包信息。 例如,一个以太网网络中的主机向 Web 网站发送 HTTP GET 请求时,这个包将由五个处理器进行处理。分别如下所示: 1. 帧分析器 帧分析器用来检测和显示捕获文件的基本信息,如每个帧的时间戳,如图 2.14 所示。然后帧分析器传递帧给以太网分析器。 图 2.14 帧分析器 从该界面可以看到第 5 帧中的一些基本信息。例如,帧的编号为 5 (捕获时的编号),帧的大小为 268 个字节,帧被捕获的日期和时间,该帧和前一个帧的捕获时间差以及和第一个帧的捕获时间差等。 2. 以太网分析器 以太网分析器用来解码、显示以太网帧( Ethernet II )头部的字段、字段类型的内容等。然后传递给下一个分析器,也就是 IPv4 分析器。如图 2.15 所示,该字段类型值为 0x0806 , 0x0806 表示是一个 IP 头部。 图 2.15 以太网分析器 从该界面可以看到在以太网帧头部中封装的信息,包括发送方的源

android的init过程分析

别说谁变了你拦得住时间么 提交于 2020-02-29 08:36:32
前言 Android系统是运作在linux kernal上的,因此它的启动过程也遵循linux的启动过程,当linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,它的生命周期贯穿整个linux 内核运行的始终, linux中所有其他的进程的共同始祖均为init进程。当然为了启动并运行整个android系统,google实现了自己的init进程,下面主要分析init进程都做了些什么? 1.首先,init是一个守护进程,为了防止init的子进程成为僵尸进程(zombie process),需要init在子进程在结束时获取子进程的结束码,通过结束码将程序表中的子进程移除,防止成为僵尸进程的子进程占用程序表的空间,当程序表的空间达到上限时,则系统就不能再启动新的进程了,那么就会引起很严重的系统问题。 在linux当中,父程序是通过捕捉SIGCHLD信号来得知子进程结束的情况的;由于系统默认在子进程暂停时也会发送信号SIGCHLD,init需要忽略子进程在暂停时发出的SIGCHLD信号,因此将act.sa_flags 置为SA_NOCLDSTOP,该标志位的含义是就是要求系统在子进程暂停时不发送SIGCHLD信号。具体的代码如下所示: struct sigaction act; ……………… act.sa_handler = sigchld_handler; act