首先明确本文的阅读对象。显然,你需要一些C语言的基本知识,除非只想了解pcap的基本原理。你不用是一个编程高手;对于想深入 了解该领 域的编程者,我保证会尽量详细描述相关概念。另外,网络方面的一些知识对阅读本文是有帮助的。本文给出了一个网络包嗅探器,所有的代码已在默认内核 的FreeBSD 4.3上测试通过。

开始: pcap应用程序的格局

首先要了解的是pcap嗅探器的总体布局。代码流程如下:

  1. 我们首先要做的是决定要嗅探的接口。在Linux里它可能是eth0,BSD里可能是xl1等等。我们可以用字符串定义它,也可 以询问pcap得到所要使用的接口的名称。
  2. 初始化pcap。这里我们要告诉pcap对什么设备进行嗅探。如果愿意,我们可以嗅探多个设备。如何区分它们呢?答案是文件句柄 (File Handle)。和打开文件读写一样,我们必须为我们的嗅探“会话(session)”命名,以便区分其它的任务会话。
  3. 如 果我们只想嗅探特定通信(例如:仅TCP/IP包,仅流向23端口的包等等),我们必须建立一个规则集,“编译”之,然后应用它,这三个步骤关系密切。规 则集用一个字符串保存并转换成pcap认识的格式(因此要编译它),编译工作实际上只是在程序中调用一个函数,不涉及外部程序。然后告诉pcap在我们指 定的会话上应用这个规则。
  4. 最后,我们让pcap进入它的主循环。这时,pcap等待有数据包流入。每次得到新数据包,它就会调用我们指定的函数,我们可以 在这个函数里做任何我们想做的事:它可以解析数据包并输出给用户,也可以把数据保存成一个文件,或者什么也不做。
  5. 在嗅探到我们需要的东西以后,关闭会话,任务完成。

实际上这是一个很简单的过程。总共五步,其中一步是可选的(就是那个使你感到困惑的第三步)。下面我们开始研究每个步骤及如何实现它 们。

设置嗅探设备

这一步极其简单。有两种方法来设置我们要嗅探的设备。

第一种是简单地让用户告诉我们,考虑下面的程序:

  1. #include <stdio.h>
  2. #include <pcap.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.     char *dev = argv[1];
  7.  
  8.     printf("Device: %s ", dev);
  9.     return(0);
  10. }

用户指定设备名作为程序的第一个参数。现在,字符串"dev"保存了我们要嗅探的,pcap可以认识的接口名(当然,假设用户给我们的 是真实的接口)。

另一种方法也同样简单,看这个程序:

  1. #include <stdio.h>
  2. #include <pcap.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.     char *dev, errbuf[PCAP_ERRBUF_SIZE];
  7.  
  8.     dev = pcap_lookupdev(errbuf);
  9.     if (dev == NULL) {
  10.         fprintf(stderr, "Couldn't find default device: %s ", errbuf);
  11.         return(2);
  12.     }
  13.     printf("Device: %s ", dev);
  14.     return(0);
  15. }

在这里,由pcap自己来设置设备。“等一下,Tim,”你会说:“errbuf字符串代表什么?”。很多pcap命令允许我们把这个 字符串作为参 数。它的用途是:如果命令执行失败,它会得到出错的细节信息。在这段代码里,如果pcap_lookupdev()失败,errbuf会保存有一个错误信 息。很好,不是吗?

打开设备

建立嗅探会话的任务真的很简单,用pcap_open_live()就可以了。这个函数的原型(取自pcap man)如下:

pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms,char *ebuf)

第一个参数是设备名,我们在上一节已经介绍过了。snaplen是一个整型值,定义由pcap抓取的包的最大字节数。 promisc,当设置为true时,使接口处于混杂模式(不管怎样,即使设置为false,在一些特定情形下接口可能还是处于混杂模式)。to_ms是 读超时(read time out),单位为毫秒(0表示没有超时;在一些平台上,这意味着你可能会一直等待直到收到足够数量的包,所以你应该使用一个非零值)。最后,ebuf用于 保存出错信息(就象我们前面的errbuf)。函数返回会话句柄。

为了演示,考虑这个代码段:

  1. #include <pcap.h>
  2. ...
  3. pcap_t *handle;
  4.  
  5. handle = pcap_open_live(somedev, BUFSIZ, 1, 1000, errbuf);
  6. if (handle == NULL) {
  7.     fprintf(stderr, "Couldn't open device %s: %s ", somedev, errbuf);
  8.     return(2);
  9. }

这个代码打开"somedev"字符串指定的设备,告诉它每次读BUFSIZ字节(定义于pcap.h中),置设备于混杂模式。嗅探直 到有错误发生,错误信息保存到errbuf中,用于后面的错误信息输出。

关于混杂模式vs.非混杂模式:这是两个非常不同的风格。非混杂模式嗅探只监听与本地有直接关系的包。只有发往、源自或本地路由的包会 被嗅 探器捕获。另一方面,混杂模式监听所有线上的通信。在无交换环境中(non-switched environment),所以网络通信都会被监听。它可以让我们得到更多的包,但是,这是可以被检测的:可 以通过测试强可靠性来发现网络中是否有主机正在以混合模式监听,另外混杂工作模式仅仅在非交换式的网络中有效,而且在一个高负载的网络环境中,混杂模式将 消耗大量的系统资源。

通信过滤

通常我们只对特定网络通信感兴趣。比如我们只打算嗅探23端口(telnet)用于搜索密码信息,或者劫持发往21端口的文件 (FTP), 也可能是DNS通信(port 53 UDP)。无论哪种情形,我们很少会盲目地嗅探所有的网络通信。考虑使用pcap_compile()和 pcap_setfilter()函数。

这个步骤也是相当的简单。调用pcap_open_live()之后我们已经有了一个可用的嗅探会话,可以应用我们的过滤器。为什么不 用if/else语句?两个原因:首先,pcap的过滤器有更好的效率,因为它直接作用于BPF(BSD Packet Filter)同时又减少了直接操作BPF所需的大量步骤。第二,这样简单得多:)

应用我们的过滤器之前,我们必须“编译”它。过滤器表达式为一个规则字符串(char数组)。在tcpdump的man文档里有其语法 的说明 书。阅读语法说明的工作得你自己去做。尽管如此,我们将会尽量使用简单的过滤器表达式,因此你也许足够聪明从而可以从我的例子中领悟出来。

通过pcap_compile()函数来“编译”。它的原型为:

int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)

第一个参数是我们的会话句柄(前文的例子里是pcap_t *handle)。接下来的参数用于指向存放编译后过滤器的空间。然后是过滤表达式。下一个optimize整数决定表达式是否是“优化的”(0为 false、1为true)。最后,我们要指定网络掩码。函数失败时返回-1;其它值表示成功。

表达式被编译之后,就可以应用它了。使用pcap_setfilter()函数,下面是pcap_setfilter()原型:

int pcap_setfilter(pcap_t *p, struct bpf_program *fp)

很直白,第一个参数是会话句柄,第二个是编译后的表达式。

也许这个代码示例可以帮助你更好地理解:

  1. #include <pcap.h>
  2. ...
  3. pcap_t *handle; /* 会话句 柄 */
  4. char dev[] = "rl0"; /* 被嗅探的 设备 */
  5. char errbuf[PCAP_ERRBUF_SIZE]; /* 错误信息 */
  6. struct bpf_program fp; /* 编译后的过滤表达式 */
  7. char filter_exp[] = "port 23"; /* 过 滤表达式 */
  8. bpf_u_int32 mask; /* 嗅探设备的网络掩码 */
  9. bpf_u_int32 net; /* 嗅探设备 的IP */
  10.  
  11. if (pcap_lookupnet(dev, &net, &mask, errbuf) == -1) {
  12.     fprintf(stderr, "Can't get netmask for device %s ", dev);
  13.     net = 0;
  14.     mask = 0;
  15. }
  16. handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf);
  17. if (handle == NULL) {
  18.     fprintf(stderr, "Couldn't open device %s: %s ", 
  19.             somedev, errbuf);
  20.     return(2);
  21. }
  22. if (pcap_compile(handle, &fp, filter_exp, 0, net) == -1) {
  23.     fprintf(stderr, "Couldn't parse filter %s: %s ", 
  24.             filter_exp, pcap_geterr(handle));
  25.     return(2);
  26. }
  27. if (pcap_setfilter(handle, &fp) == -1) {
  28.     fprintf(stderr, "Couldn't install filter %s: %s ",
  29.             filter_exp, pcap_geterr(handle));
  30.     return(2);
  31. }

这个程序在rl0设备上以混杂模式嗅探发往或源自23端口的所有通信。

你可能注意到了,这个例子中有一个之前没讨论过的函数:pcap_lookupnet()。给一个设备名,得到它的IP和网络掩码。为 了应用过滤器,我们就要知道网络掩码,这个函数就可以派上用场了。

经试验发现这个过滤器并不能在所有的操作系统上正常工作。在我的测试环境中,我发现OpenBSD 2.9支持这种过滤器,而FreeBSD 4.3却不行。

正式开始嗅探

到这里我们已经学习了如何定义设备、准备嗅探以及应用过滤器来过滤我们不想嗅探的部分。现在是时候嗅探数据包了。

嗅探数据包有两种主要方法。我们可以一次捕获一个单独的包,也可以进入一个循环,等待N个包流入。我们首先关注如何捕获单个包,之后再 研究循环的方法。就单个包而言,我们用pcap_next()。

pcap_next()的原型很简单:

u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h)

首个参数是会话句柄。第二个参数是一个指针,它指向的结构用于存放数据包的一般信息,如捕获的时间,包长度,组成包的各部分长度。 pcap_next()返回的*u_char指向捕获的包,稍后我们将会讨论读取数据包本身的方法。

这个例子演示怎样使用pcap_next()来嗅探数据包:

  1. #include <pcap.h>
  2. #include <stdio.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.     pcap_t *handle; /* 会话句柄 */
  7.     char *dev; /* 嗅探的设备 */
  8.     char errbuf[PCAP_ERRBUF_SIZE]; /* 错误信息 */
  9.     struct bpf_program fp; /* 编译的过滤器 */
  10.     char filter_exp[] = "port 23"; /* 过 滤表达式 */
  11.     bpf_u_int32 mask; /* 网 络掩码 */
  12.     bpf_u_int32 net; /* IP */
  13.     struct pcap_pkthdr header; /* pcap头 */
  14.     const u_char *packet; /* 数据包 */
  15.  
  16.     /* 定义设备 */
  17.     dev = pcap_lookupdev(errbuf);
  18.     if (dev == NULL) {
  19.         fprintf(stderr, "Couldn't find default device: %s ", errbuf);
  20.         return(2);
  21.     }
  22.     /* 取得设备属性 */
  23.     if (pcap_lookupnet(dev, &net, &mask, errbuf) == -1) {
  24.         fprintf(stderr, "Couldn't get netmask for device %s: %s ", 
  25.                 dev, errbuf);
  26.         net = 0;
  27.         mask = 0;
  28.     }
  29.     /* 以混杂模式打开会话 */
  30.     handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf);
  31.     if (handle == NULL) {
  32.         fprintf(stderr, "Couldn't open device %s: %s ",
  33.                 somedev, errbuf);
  34.         return(2);
  35.     }
  36.     /* 编译并应用过滤器 */
  37.     if (pcap_compile(handle, &fp, filter_exp, 0, net) == -1) {
  38.         fprintf(stderr, "Couldn't parse filter %s: %s ", 
  39.                 filter_exp, pcap_geterr(handle));
  40.         return(2);
  41.     }
  42.     if (pcap_setfilter(handle, &fp) == -1) {
  43.         fprintf(stderr, "Couldn't install filter %s: %s ",
  44.                 filter_exp, pcap_geterr(handle));
  45.         return(2);
  46.     }
  47.     /* 抓取一个数据包 */
  48.     packet = pcap_next(handle, &header);
  49.     /* 输出数据包长度 */
  50.     printf("Jacked a packet with length of [%d] ",
  51.             header.len);
  52.     /* 关闭会话 */
  53.     pcap_close(handle);
  54.     return(0);
  55. }

这个程序用pcap_lookupdev()取得设备并将其设置为混杂模式,然后开始嗅探。它取得23端口(telnet)上的首个包 后输出这个包 的大小(字节)。此外,这个程序有一个新的函数:pcap_close(),我们等会儿再讨论它(尽管函数名已经说明了一切)。

另一种方法要复杂一些,不过更有用。通常很少有嗅探器直接调用pcap_next()函数(如果有的话),它们更常用的是 pcap_loop()或pcap_dispatch()。要学会这两个函数,你必须先理解回调函数。

回调函数并不是新鲜事物,它们在不少API中普遍存在。回调的概念很简单。假设我的程序要等待某个事件,为简单起见,就说是等待用户输 入 吧。用户每按一次键,我想要通过函数来决定接下来做什么。这个函数就可以是回调函数,每次按下键盘,我的程序就会调用这个回调函数。回到pcap中,回调 函数被调用的时机由用户按下一个键改为pcap嗅探到一个数据包。pcap_loop() 和 pcap_dispatch() 的用法很相似。每次嗅探到一个符合过滤要求(如果存在过滤器的话)的包后就会调用回调函数。

pcap_loop()的原型是:

int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user)

首个参数是会话句柄。接下来的cnt参数告诉pcap_loop()返回之前应该嗅探到多少个包(负数表示一直嗅探直到出错为止)。第 三个就是之前讨论的回调函数啦。最后一个参数的作用是传递附加的自定义数据给回调函数,在 一些应用时有用,很多时候直接设为NULL就行。后面我们将会以例子的形式看到pcap用u_char指针传递一些很有意思的信息。 pcap_dispatch()的用法几乎一样,唯一的区别是pcap_dispatch()只处理第一批从系统中收到的包,而pcap_loop()会 继续处理接下来的包直到达到指定数量为止。关于它们的细节差异,请参考pcap的man文档。

拿出cap_loop()的例子之前,我们得了解一下回调函数的原型:

void got_packet(u_char *args, const struct pcap_pkthdr *header,const u_char *packet);

首先,它是一个无返回值的函数。这是可以理解的,因为pcap_loop()不知道怎样处理回调函数的返回值。

第一个参数就是我们传给pcap_loop()的最后一个数据。每次回调函数被调用时都可以取得这个数据。

第二个参数是pcap头结构,它含有包何时到达,多大等信息。pcap_pkthdr结构定义于pcap.h之中:

struct pcap_pkthdr {struct timeval ts; /* time stamp */bpf_u_int32 caplen; /* length of portion present */bpf_u_int32 len; /* length this packet (off wire) */
};

结构成员名称完全可以自解释了。

最后的那个参数const u_char *packet是我们最关心的,也是最容易引起pcap初学者混乱的。它是一个u_char指针,指向被pcap_loop()嗅探到的整个数据包的第一 个字节。

怎样使用这个packet参数呢?数据包有很多属性,只要思考一下就会知道,它不是一个真正的字符串,而是一系列的结构(例如, TCP/IP包应该有以太头、IP头、TCP头,最后,还有包的载荷)。这个u_char指针指向的正是这些数据结构的序列化版本,所以在使用之前,要做 类 型转换工作。

首先,我们要定义这些结构,下面定义的是以太网TCP/IP数据包结构。

/* 以太网的地址占6字节 */
#define ETHER_ADDR_LEN 6/* 以太网头 */
struct sniff_ethernet {u_char ether_dhost[ETHER_ADDR_LEN]; /* 目的地址 */u_char ether_shost[ETHER_ADDR_LEN]; /* 源地址 */u_short ether_type; /* IP? ARP? RARP? 等 */
};/* IP 头 */
struct sniff_ip {u_char ip_vhl; /* version << 4 | header length >> 2 */u_char ip_tos; /* type of service */u_short ip_len; /* total length */u_short ip_id; /* identification */u_short ip_off; /* fragment offset field */
#define IP_RF 0x8000 /* reserved fragment flag */
#define IP_DF 0x4000 /* dont fragment flag */
#define IP_MF 0x2000 /* more fragments flag */
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */u_char ip_ttl; /* time to live */u_char ip_p; /* protocol */u_short ip_sum; /* checksum */struct in_addr ip_src,ip_dst; /* source and dest address */
};
#define IP_HL(ip) (((ip)->ip_vhl) & 0x0f)
#define IP_V(ip) (((ip)->ip_vhl) >> 4)/* TCP 头 */
struct sniff_tcp {u_short th_sport; /* source port */u_short th_dport; /* destination port */tcp_seq th_seq; /* sequence number */tcp_seq th_ack; /* acknowledgement number */u_char th_offx2; /* data offset, rsvd */
#define TH_OFF(th) (((th)->th_offx2 & 0xf0) >> 4)u_char th_flags;
#define TH_FIN 0x01
#define TH_SYN 0x02
#define TH_RST 0x04
#define TH_PUSH 0x08
#define TH_ACK 0x10
#define TH_URG 0x20
#define TH_ECE 0x40
#define TH_CWR 0x80
#define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR)u_short th_win; /* window */u_short th_sum; /* checksum */u_short th_urp; /* urgent pointer */
};

注意:我发现在我的Slackware Linux 8(2.2.19内核)里不能编译这个结构。问题出现在include/features.h里,除非在包含它之前定义_BSD_SOURCE,否则将以 POSIX接口实现。所以建议在包含所有头文件之前先加入一行:

#define _BSD_SOURCE 1

这样能确保使用BSD风格的API。当然,如果你不想用预定义,你可以简单地改一下结构,就象我在这里做的那样。

那么,如何把我们神秘的u_char指针应用到pcap工作中来呢?嗯~~这些结构定义了包中的头部数据,那怎样提取这些部分呢?准备 见证指针的典型应用之一吧。

我们还是假设处理以太网的TCP/IP包。同样的方法可用于任何数据包,唯一的区别是你实际所使用的结构类型。让我们从用于解析数据包 的变量声明及预处理定义开始:

  1. /* 以太网头总是14字节 */
  2. #define SIZE_ETHERNET 14
  3.  
  4. const struct sniff_ethernet *ethernet; /* The ethernet header */
  5. const struct sniff_ip *ip; /* The IP header */
  6. const struct sniff_tcp *tcp; /* The TCP header */
  7. const char *payload; /* Packet payload */
  8.  
  9. u_int size_ip;
  10. u_int size_tcp;

现在开始神奇的类型转换:

  1. ethernet = (struct sniff_ethernet*)(packet);
  2. ip = (struct sniff_ip*)(packet + SIZE_ETHERNET);
  3. size_ip = IP_HL(ip)*4;
  4. if (size_ip < 20) {
  5.     printf(" * Invalid IP header length: %u bytes ", size_ip);
  6.     return;
  7. }
  8. tcp = (struct sniff_tcp*)(packet + SIZE_ETHERNET + size_ip);
  9. size_tcp = TH_OFF(tcp)*4;
  10. if (size_tcp < 20) {
  11.     printf(" * Invalid TCP header length: %u bytes ", size_tcp);
  12.     return;
  13. }
  14. payload = (u_char *)(packet + SIZE_ETHERNET + size_ip + size_tcp);

它怎样工作?考虑一下数据包在内存中的布局。u_char指针只是一个包含内存地址的变量,这就是指针的实质,指出内存所在位置。

为了简单起见,就说这个指针指向的地址为X吧。如果我们的这三个结构是线性存储的,那么第一个(sniff_ethernet)结构就 位于地址为X的内存上,接下来我们可以很简单地找到后面的结构:X地址加上14(或SIZE_ETHERNET)字节的以太网头长度。

简而言之,如果我们有头地址,那么后面的结构地址就是当前头地址加上头长度。IP头和以太网头不一样,这的长度是不固定的。它的长度由 它的成员指定,以字(4byte)为单位,所以得到字节长度还得剩上4。最小长度是20字节。

TCP头也是变长的,同样以4字节为一个单位,最小长度也是20字节。

我们来做个表格:

 

变量位置 (bytes)
sniff_ethernetX
sniff_ipX + SIZE_ETHERNET
sniff_tcpX + SIZE_ETHERNET + {IP header length}
payloadX + SIZE_ETHERNET + {IP header length} + {TCP header length}

第一行的sniff_ethernet结构,正好在X处。sniff_ip,紧跟在sniff_ethernet之后,为X加上以太网 头所占空间(14字节,或SIZE_ETHERNET)。sniff_tcp在sniff_ip后面,因此它的位置是X加上以太网头和IP头的大小。最 后,payload (它不是一个单一的结构,这与上层的协议有关)位于最后。

到这里,我们了解了如何调用回调函数,调用它以及找到嗅探到的包的属性。你所期待的时刻到了:写一个有用的嗅探器。由于代码长度的关 系,我不打算把它放到本文中。你可以到这里下载 sniffex.c并测试它。

Wrapping Up

现在你应该能够用pcap写一个嗅探器了。你已经学习了打开pcap会话、关于它的属性、嗅探数据包、应用过滤器和回调函数的基本概 念。是时候开始嗅探数据了。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Weblogic 视频教程免费下载

    WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集…...

    2024/5/7 16:33:28
  2. 2017-2018-2 20179204《网络攻防实践》第四周学习总结

    第1节 教材学习内容总结 本周学习了教材第四章的内容。教材第四章讲了“网络嗅探与协议分析”,并介绍了几种工具和实践作业。 1.网络嗅探 本节介绍了网络嗅探技术定义、分类、原理、实现方式、常用软件。 网络嗅探技术 sniff 是一种黑客窃听技术,截获数据报文(经过封包处理之…...

    2024/5/7 18:47:07
  3. 关于下载视频

    视频、电影、音乐这些多媒体可能是人们日常使用最多的。国外的YouTube、Vimeo、Lynda、Dailymotion、Hulu、Netflix、Spotify。国内的优酷、腾讯视频、爱奇艺等等。虽然目前网速的提升,移动互联网的便利,在线观看视频已经变得很方便。但是偶尔也需要把视频或者音频下载下来。…...

    2024/5/7 22:28:31
  4. 最新Python安全工具开发应用项目实战(全套完整)

    目录├─第一章:Python在网络安全中的应用│ ├─课时1 Python黑客领域的现状.mp4│ ├─课时2 我们可以用Python做什么.mp4├─第三章:Python爬虫技术实现│ ├─课时1 Python爬虫BeautifulSoup模块的介绍.mp4│ ├─课时2 Python爬虫hackhttp模块的介绍.mp4│ ├─课…...

    2024/4/23 15:12:51
  5. 教程篇(5.4) 17. 入侵防御 ❀ 飞塔 (Fortinet) 网络安全专家 NSE4

    在这节课中你将学习如何使用FortiGate来保护你的网络不受入侵和拒绝服务攻击。 在完成这一课程之后,你应该具备使用IPS、拒绝服务(DoS)策略和web应用防火墙配置文件来检测和阻止已知的攻击和网络异常的实际技能。  这一课还包括了一个单臂嗅探器的部署。 在我们开始之前,了…...

    2024/5/8 4:10:18
  6. 亚信安全防毒墙网络版无密码卸载

    首先将此文章复制到随意一个txt或者word里,防止在安全模式下忘记操作步骤,然后将文件放入c盘1.win+r,输入msconfig,将引导下的安全引导勾上(此方法适用于本人电脑,Windows10 1909版本)2.点击确定,弹出系统配置框,点击重新启动进入安全模式3.注册表设置 进入安全模式下操作注册表…...

    2024/4/20 18:05:11
  7. Java泛型(Generics)解析,中英文指南

    Java泛型解析详情请参考: http://www.360doc.com/content/09/0228/17/19525_2670577.shtml...

    2024/4/20 18:05:10
  8. 网络常见***方式和预防手段 一

    网络常见***方式和预防手段一数据包嗅探器(packet ) 网络通信是顺序进行的,发送一个包,再发送一个包,直到整个消息被传送出去。 许多网络应用是以明文方式发布网络数据包的,即跨越网络发送的信息并没有经过加密。 数据包嗅探器,实际就是将网卡设置成混杂模式(在这种…...

    2024/5/7 15:52:55
  9. 网络安全学习之主机扫描和漏洞扫描

    主机扫描主机扫描一般在信息搜集阶段进行,用于了解目标主机上运行的服务以便进一步进行渗透。用的工具主要是nmap,详细用法自行百度,我就说一下常用的几种组合 1. nmap -sn ip地址(可以是单个ip地址,也可以是一个范围192.168.1.1-192.168.1.20,也可以是用逗号隔开的几个ip, 1…...

    2024/4/20 18:05:08
  10. 网络工程师第5版‰ˆPDF+2018网络工程师上下午真题及答案:电子书

    本书是全国计算机技术与软件专业技术资格(水平)考试指定用书。作者在前4版的基础上,根据网络工程师新版大纲的要求,针对考试的重点内容做了较大篇幅的修订,书中主要内容包括数据通信、广域通信网、局域网、城域网、因特网、网络安全、网络操作系统与应用服务器配置、组网技…...

    2024/5/7 15:46:32
  11. [网络安全自学篇] 五十四.Windows漏洞利用之基于SEH异常处理机制的栈溢出攻击及shell提取

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文分享了XP和Kali环境搭建,通过Windows漏洞实现栈溢出攻击,通过Metasploit反弹shell,从而Kali系统获取了XP系统的shell。本文将讲解基于SEH异…...

    2024/5/7 2:33:24
  12. Kali学习 | 无线渗透:7.1 无线网络嗅探工具Kismet

    Kali学习 | 无线渗透:7.1 无线网络嗅探工具KismetKismet 介绍操作步骤分析PCAP信号帧分析Kismet的Text文件 Kismet 介绍 如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点。 刚好在Kali Linux中,提供了一款嗅探无线网络工具Kismet。 使用该工具可以测量周围的无…...

    2024/5/7 15:21:31
  13. Intellij IDEA的教程资料

    Intellij IDEA的教程资料官方文档(英文)菜鸟教程-Intellij IDEA 使用教程CSDN-史上最简单的 IntelliJ IDEA 教程(作者很用心,赞)极客学院-Intellij IDEA教程 github地址Intellij IDEA教学视频IntelliJ IDEA 最常用配置详细图解【Java面试题与答案】整理推荐基础与语法集…...

    2024/5/3 19:04:05
  14. 正则表达式中 test、exec、match 方法区别

    正则表达式中 test、exec、match 方法区别testtest 返回 Boolean,查找对应的字符串中是否存在模式。 var str = "1a1b1c"; var reg = new RegExp("1.", ""); alert(reg.test(str)); // trueexecexec 查找并返回当前的匹配结果,并以数组的形式返…...

    2024/4/21 9:42:26
  15. 网络攻防-20169213-刘晶-第四周作业

    教材学习内容总结 网络嗅探技术 利用计算机网络接口截获目的地为其他计算机的数据报文,监听网络流中所包含的用户账户密码或私密信息等 网络嗅探器(Sniffer) 实现嗅探的软件或硬件设备 嗅探获得数据→二进制格式数据报文 解析和理解二进制数据,获取各层协议字段和应用层传输数…...

    2024/4/21 9:42:25
  16. 2018 web渗透教程(150节课左右持续更新中)11月5号更新

    原文博客地址:http://www.superzedlv.cn/?id=17 讲 师:SuperZedQ Q:2732663467博客地址 :http://www.superzedlv.cn微信公众号:SuperZedLv声明:本教程只做技术研究请不要用于非法用途请认真一些,连解压密码下面有,你们不要老是问解压密码声明:不做公益,…...

    2024/4/21 9:42:25
  17. Wireshark数据包分析浅析

    Wireshark数据包分析 数据包分析器又名嗅探(Sniffers),是一种网络流量数据分析的手段,常见于网络安全领域使用,也有用于业务分析领域,一般是指使用嗅探器对数据流的数据截获与分组分析(Packet analysis)。分析网络问题 业务分析 分析网络信息流通量 网络大数据金融风险…...

    2024/4/21 9:42:24
  18. 2014年末最强悍IT学习视频教程分享

    (1)一年又时尽,今天给大家分享最近一年的积蓄!喜欢的请点赞支持说明:由于使用的网盘可能无法分享视频连接,所以如果连接失效需要的请留言,说明哪一个视频,和QQ邮箱地址,我会尽快回复!Ajax和jQuery基础入门视频 http://yunpan.cn/cfxsQ5SQHVrIi 提取码 aa61Tesseract…...

    2024/4/21 9:42:24
  19. 迅雷邻居 新色情资源的传播者

    迅雷邻居 新色情资源的传播者 今天无意中点开了迅雷邻居,发现里面大部分都是色情电影,情色图片共享,难道迅雷成了新色情资源的传播者?大家以后找资源不是很方便?哈哈 迅雷呀! 看看迅雷邻居的介绍 迅雷邻居是迅雷网络开发的提供下载服务客户端软件迅雷7.2里应用市场的一款…...

    2024/5/3 16:01:40
  20. js通用截获后台密码脚本

    http://blog.51cto.com/jzking121/1220335https://threathunter.org/xwbk12 qwe123456...

    2024/5/3 13:36:12

最新文章

  1. 计算机视觉——OpenCV Otsu阈值法原理及实现

    算法简介 Otsu阈值法&#xff0c;也被称为大津算法&#xff0c;是一种在图像处理中广泛使用的自动阈值分割技术。这种方法由日本学者大津展之于1979年提出&#xff0c;旨在根据图像的灰度直方图来自动选择最佳全局阈值。Otsu阈值法的核心思想是最小化类内方差或最大化类间方差…...

    2024/5/8 8:01:23
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. K8S容器空间不足问题分析和解决

    如上图&#xff0c;今天测试环境的K8S平台出现了一个问题&#xff0c;其中的一个容器报错&#xff1a;Free disk space below threshold. Available: 3223552 bytes (threshold: 10485760B)&#xff0c;意思服务器硬盘空间不够了。这个问题怎么产生的&#xff0c;又怎么解决的呢…...

    2024/5/4 14:52:56
  4. CTK插件框架学习-事件监听(04)

    CTK插件框架学习-插件注册调用(03)https://mp.csdn.net/mp_blog/creation/editor/136989802 一、主要流程 发送者注册消息事件接收者订阅消息事件接收者相应消息事件 事件监听比插件接口调用耦合性更弱&#xff0c;事件由框架维护&#xff0c;不需要指定发送方和接收方 二、…...

    2024/5/6 8:34:00
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/7 14:25:14
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57