什么是IPSec?6000字带你详细剖析,很赞!

关注、星标公众号,精彩内容每日送达

来源:网络素材

1.IPSEC协议簇安全框架

a.IPSec简介

  • IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议,而是一个开放的协议族。

  • IPSec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。

  • IPSec VPN:是基于IPSec协议族构建的在IP层实现的安全虚拟专用网。通过在数据包中插入一个预定义头部的方式,来保障OSI上层协议数据的安全,主要用于保护TCP、UDP、ICMP和隧道的IP数据包。

b.IPSec协议族

0bf1746b18b0a42afe5fc922795d1405.png
IPSec VPN体系结构主要由AH、ESP和IKE协议套件组成。
IPSec通过ESP来保障IP数据传输过程的机密性,使用AH/ESP提供数据完整性、数据源验证和抗报文重放功能。

ESP和AH定义了协议和载荷头的格式及所提供的服务,但却没有定义实现以上能力所需具体转码方式,转码方式包括对数据转换方式,如算法、密钥长度等。
为简化IPSec的使用和管理,IPSec还可以通过IKE进行自动协商交换密钥、建立和维护安全联盟的服务。具体如下:

  • AH协议:AH是报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能。然而,AH并不加密所保护的数据报。

  • ESP协议:ESP是封装安全载荷协议。它除提供AH协议的所有功能外(但其数据完整性校验不包括IP头),还可提供对IP报文的加密功能。

  • IKE协议:IKE协议用于自动协商AH和ESP所使用的密码算法。
    IKE定义了安全参数如何协商,以及共享密钥如何建立,但它没有定义的是协商内容。这方面的定义是由"解释域(doi)"文档来进行。

IPSec协议族:
29acea1251e931a87c8c29c8dbf4675b.png

1.IPSec协议定义了两种通信保护机制:

  • 封装安全载荷(ESP,Encapsulating Security Payload):ESP机制为通信提供机密性和完整性;

  • 鉴别头(AH,Authentication Header):AH机制为通信提供完整性保护。

ESP机制和AH机制都能为通信提供抗重放(Anti-replay)攻击。

2.IPSec协议可以设置成在两种工作模式下运行:一种是隧道(tunnel)模式,另一种是传输(transport)模式。

3.IPSec协议使用IKE协议实现安全协议的自动安全参数协商。IKE协商的安全参数包括加密与鉴别算法、
加密与鉴别密钥、通信的保护模式(传输或隧道模式)、密钥的生存期等。IKE将这些安全参数构成的集合称为**安全关联(SA,security Association)**,还负责这些安全参数的刷新。

4.两个数据库:安全策略数据库SPD,安全关联数据库SAD。

5.DOI将所有的IPSec小组的文献捆绑在一起。它可以被认为是所有IPSec安全参数的主数据库。

2.IPSEC工作模式

a.传输模式(Transport mode)

在传输模式下,IPSec协议处理模块会在IP报头和高层协议报头之间插入一个IPSec报头。

IP报头与原始IP分组中的IP报头是一致的,只是IP报文中的协议字段会被改成IPSec协议的协议号(50或者51) ,并重新计算IP报头校验和。传输模式保护数据包的有效载荷、高层协议,IPSec源端点不会修改IP报头中目的IP地址,原来的IP地址也会保持明文。

传输模式只为高层协议提供安全服务。

主要应用场景:经常用于主机和主机之间端到端通信的数据保护。

封装方式:不改变原有的IP包头,在原数据包头后面插入IPSec包头,将原来的数据封装成被保护的数据。

4d327f86d3d08de0e29c2dc565677ba0.png

b.隧道模式(Tunnel mode)

传输模式不同,在隧道模式下,原始IP分组被封装成一个新的IP报文,在内部报头以及外部报头之间插入一个IPSec报头,原IP地址被当作有效载荷的一部分受到IPSec的保护。

通过对数据加密,还可以隐藏原数据包中的IP地址,这样更有利于保护端到端通信中数据的安全性。

封装方式:增加新的IP(外网IP)头,其后是ipsec包头,之后再将原来的整个数据包封装。

c721a3e7a8f0cc1e93c60622da8d66e1.png

主要应用场景:经常用于私网与私网之间通过公网进行通信,建立安全VPN通道。
8d595c452f7d909781531e5b7c9ae11e.png

3.IPSEC通信协议

a.AH协议

AH分配到的协议号是51。即使用AH协议进行安全保护的IPv4数据报文的IP头部中协议字段将是51,表明IP头之后是一个AH头。AH头比ESP头简单得多,因为它没有提供机密性。由于不需要填充和一个填充长度指示器,因此也不存在尾部字段。另外,也不需要一个初始化向量。

AH提供的安全服务:

  • 无连接数据完整性:通过哈希函数产生的校验来保证。

  • 数据源认证:通过在计算验证码时加入一个共享秘钥来实现。

  • 抗重放服务:AH报头中的序列号可以防止重放攻击。

AH不提供任何保密性服务:它不加密所保护的数据包。

不论是传输模式还是隧道模式下,AH提供对数据包的保护时,它保护的是整个IP数据包(易变的字段除外,如IP头中的TTL和TOS字段)。

AH头:

33867d849ccd0fd33072f66c1d8b5279.png

AH在传输模式下封装:

3db30083ffb5316ba3c86a520c62f3db.png

AH在隧道模式下封装:

dda4b094c1729db8f5a90e05033f4c1b.png

b.ESP协议

ESP同样被当作一种IP协议对待,紧贴在ESP头前的IP头,以协议号50标志ESP头,ESP之前的IP头中的协议字段将是50,以表明IP头之后是一个ESP头,ESP不仅具备ESP头,还有一个包含有用信息的ESP尾。

在隧道模式中,ESP保护整个IP包,整个原始IP包将会以ESP载荷的方式加入新建的数据包,同时,系统根据隧道起点和终点等参数,建立一个隧道IP头,作为这个数据包的新IP头,ESP头夹在隧道IP头和原始IP包之间,并点缀ESP尾。

ESP提供加密服务,所以原始IP包和ESP尾以密文的形式出现。

ESP在验证过程中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。

ESP提供的安全服务:

  • 无连接数据完整性。

  • 数据源认证。

  • 抗重放服务。

  • 数据保密。

  • 有限的数据流保护

保密服务通过使用密码算法加密IP数据包的相关部分来实现。

数据流保密由隧道模式下的保密服务提供。

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。

ESP头:

04f54c818a2633b21b29b983b4f9c83f.png

ESP在传输模式下封装:

071af0d67c7be17a5093da64dd01d5e4.png
002fdc63ce481d5439a6dbb5283a9bb1.png

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。

ESP同样被当作一种IP协议对待,紧贴在ESP头前的IP头,以协议号50标志ESP头,并且,ESP不仅具备ESP头,还有一个包含有用信息的ESP尾。

在隧道模式中,ESP保护整个IP包,整个原始IP包将会以ESP载荷的方式加入新建的数据包,同时,系统根据隧道起点和终点等参数,建立一个隧道IP头,作为这个数据包的新IP头,ESP头夹在隧道IP头和原始IP包之间,并点缀ESP尾。

ESP提供加密服务,所以原始IP包和ESP尾以密文的形式出现。

ESP在验证过程中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。

c.AH和ESP对比

90bafd3c00bc9850544191101bcd300d.png

ESP在隧道模式不验证外部IP头,因此ESP在隧道模式下可以在NAT环境中运行。
ESP在传输模式下会验证外部IP头部,将导致校验失败。

AH因为提供数据来源确认(源IP地址一旦改变,AH校验失败),所以无法穿越NAT。

4.IPSEC建立阶段

a.IKE协商阶段

1.安全联盟SA(Security Association):是两个IPSec通信实体之间经协商建立起来的一种共同协定,它规定了通信双方使用哪种IPSec协议保护数据安全、应用的算法标识、加密和验证的密钥取值以及密钥的生存周期等等安全属性值。通过使用安全关联(SA) , IPSec能够区分对不同的数据流提供的安全服务。

2.IPSec是在两个端点之间提供安全通信,端点被称为IPSec对等体。IPSec能够允许系统、网络的用户或管理员控制对等体间安全服务的粒度。通过SA(Security Association),IPSec能够对不同的数据流提供不同级别的安全保护。

3.安全联盟是IPSec的基础,也是IPSec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种安全协议、协议的操作模式(传输模式和隧道模式)、加密算法(DES和3DES)、特定流中保护数据的共享密钥以及密钥的生存周期等。

4.安全联盟是单向的,在两个对等体之间的双向通信,最少需要两个安全联盟来分别对两个方向的数据流进行安全保护。入站数据流和出站数据流分别由入站SA和出站SA进行处理。同时,如果希望同时使用AH和ESP来保护对等体间的数据流,则分别需要两个SA,一个用于AH,另一个用于ESP。

5.安全联盟由一个三元组来唯一标识,这个三元组包括安全参数索引(SPI, Security Parameter Index)、目的IP地址、安全协议号(AH 或ESP)。SPI 是为唯一标识SA而生成的一个32比特的数值,它在IPSec头中传输。

6.IPSec设备会把SA的相关参数放入**SPD(Security Policy Database)**里面,SPD里面存放着“什么数据应该进行怎样的处理”这样的消息,在IPSec数据包出站和入站的时候会首先从SPD数据库中查找相关信息并做下一步处理。

1.IKE的产生背景

1.用IPSec保护一个IP包之前,必须先建立安全联盟(SA)。

2.IPSec的安全联盟可以通过手工配置的方式建立。但是当网络中节点较多时,手工配置将非常困难,而且难以保证安全性。这时就可以使用**IKE(Internet Key Exchange)**自动进行安全联盟建立与密钥交换的过程。Internet密钥交换(IKE)就用于动态建立SA,代表IPSec对SA进行协商。

2.IKE的用途

1.IKE为IPSec协商生成密钥,供AH/ESP加解密和验证使用。

2.在IPSec通信双方之间,动态地建立安全关联(SA:Security Association),对SA进行管理和维护。

cfc00221c7aed1127dae48aa90359731.png

3.IKE与AH/ESP之间关系

IKE是UDP之上的一个应用层协议,是IPSec的信令协议。IKE为IPSec协商生成密钥,供AH/ESP加解密和验证使用。AH协议和ESP协议有自己的协议号,分别是51和50。

be790d9bb6a5157c321c2ca48bdf6a10.png

4.IKE工作过程

IKE经过两个阶段为IPSec进行密钥协商并建立安全联盟:

第一阶段交换:通信各方彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟,即ISAKMP SA(也可称为IKE SA)。

第一阶段交换有两种协商模式:

  • 主模式协商,一般情况下,IKE的主模式适用于两设备的公网IP固定、且要实现设备之间点对点的环境。

  • 野蛮模式协商,对于例如ADSL拨号用户,其获得的公网IP不是固定的,且可能存在NAT设备的情况下,采用野蛮模式做NAT穿越,同时,由于IP不是固定的,用name作为id-type,总部采用模板的方式接收分支的IPSEC接入。

第二阶段交换:用已经建立的安全联盟(IKE SA)为IPSec协商安全服务,即为IPSec协商具体的安全联盟,建立IPSec SA,产生真正可以用来加密数据流的密钥,IPSec SA用于最终的IP数据安全传送。

5.IKE阶段1

IKE阶段1协商过程:

0d46870f41bbee12f34252f472e19469.png

IKE阶段1–主模式协商:b37cb3a24e7b1e627776eda7aab05b89.png

第一次交换(消息1和2):策略协商。

在第1个数据包的传输过程中,发送方发起一个包含cookie (记为:Ci ) 和SA负载(记为:SAi,携带协商IKE SA的各项参数(5元组),包括IKE的散列类型如MD5;加密算法如DES、3DES等;认证方法如预共享、数字签名、加密临时值等;DH组;SA存活期)的数据包用来协商参数。

接收方查看IKE策略消息,在本地寻找与发送方IP地址匹配的策略,找到后发回一条消息去响应。响应者发送一个cookie (记为:Cr)和SA负载(记为:SAr,已经挑选的安全参数);如果没有可以挑选的参数,响应者会返回一个负载拒绝。

第二次交换(消息3和4):Diffie-Hellman交换。

执行DH交换,发起者和接收者交换伪随机数,如nonce。nonce是计算共享秘密(用来生成加密密钥和认证密钥)所必需的。该技术的优势在于,它允许参与者通过无担保媒体创建秘密值。

第三次交换(消息5和6):对等体验证。

ISAKMP/IKE阶段1主要任务就是认证,第三阶段即在安全的环境下进行认证,前面两个步骤四个数据包的传输都是为了第三阶段第5和第6个数据包交换的认证做铺垫。第1-2包交换为认证准备好策略(例如:认证策略、加密策略和散列函数等),第3-4包交换为保护5-6的安全算法提供密钥资源。

68e240a0c7c17f461ee09c31e0d6e577.png

1.第1、2个包里重点在于ISAKMP策略的协商,这些策略直接提供对第二阶段的IPSEC SA策略协商的加密保护,这是为后面能在一个安全的环境下协商IPSEC SA策略打下基础。

2.在3、4个包里,重点在于通过DH算法产生和传递进行第一阶段认证的密钥材料,这些材料会让两端的VPN设备产生一对相同的密钥,这个密钥就是第一阶段相互间真实的认证密钥。

3.在5、6个包里,就用前面产生的认证密钥进行相互认证,当相互认证通过,那么为第二阶段协商IPSEC SA策略的安全通道立即打开,两端的VPN服务器会用第一阶段协商的安全策略对第二阶段协商的IPSEC SA策略进行安全加密和认证。

IKE阶段1–野蛮模式协商:

野蛮模式IKE交互过程:

野蛮模式同样包含三个步骤,仅通过三个包进行传输,野蛮模式标识为Aggressive。

野蛮模式下有三个交互包:

  • 第一个交互包发起方建议SA,发起DH交换

  • 第二个交互包接收方接受SA

  • 第三个交互包发起方认证接受方

野蛮模式交互过程少,所以在传输过程中,其传输的数据比较多,并且前两个数据为明文传输,仅消息3为加密传输。

43efa277b66afc374dfe5271e1597fb8.png

1.第一条消息:发起者发送5元组,DH公共值,辅助随机数nonce以及身份资料(IDi和IDr,在此处为设备上配置域名字符串或用户名字符串,也有可能是IP地址)。响应者可以选择接受或者拒绝该建议。Diffie-Hellman 公开值、需要的随机数据和身份信息也在第一条消息中传送。

2.第二条消息:如果响应者接受发起者的建议,则回应一个选定的5元组,DH公共值,辅助随机数nonce,身份材料以及一个“认证散列值”。

3.第三条消息:由发起者发送一个“认证散列值”,该消息被验证,让应答方能够确定其中的散列值是否与计算得到的散列值相同,进而确定消息是否有问题。实际上,这个消息认证发起者并且证明它是交换的参与者。这个消息使用前两个消息交换的密钥信息生成的密钥进行加密。

但是要注意: 包含身份信息的消息未被加密, 所以和主模式不同,野蛮模式不提供身份保护。

IKE阶段1两种模式对比:

4e2624279742bc04ef41e7530d1aa2d2.png

6.IKE阶段2

IKE阶段2协商过程:

5938a0d6daf9de527f4a8eefc15fbf2c.png
与第一阶段的过程类似,参与者交换建议,以确定在SA中采用哪些安全参数。

双方协商IPSec安全参数,称为变换集transform set,包括:加密算法、Hash算法、安全协议、封装模式、存活时间。

阶段2提案还包括安全协议-封装安全有效载荷(ESP)或认证头(AH)以及所选的加密和认证算法。

标准IPSec第二阶段:

阶段2使用“快速模式”交换。快速模式有两个主要的功能:

  • 协商安全参数来保护数据连接。

  • 周期性的对数据连接更新密钥信息。

第二阶段的效果为协商出IPSec 单向SA,为保护IPsec数据流而创建。第二阶段整个协商过程受第一阶段ISAKMP/IKE SA保护。

快速模式交换通过三条消息建立IPsec SA。

这3个包主要用来协商用于加密用户数据的安全策略(只有认证和加密方法和对应算法):

前两条消息协商IPsec SA的各项参数值,并生成IPsec使用的密钥;第二条消息还为响应方提供在场的证据;第三条消息为发起方提供在场的证据。

当第二阶段协商完毕之后,第一阶段的策略将暂时不会被使用,直到有新的VPN连接建立时或IPSEC SA加密密钥超时时,才会用第一阶段的策略重新生成并传递新的加密数据和认证的密钥。

b.数据传输阶段

1.概述

数据传输阶段是通过AH或者ESP通信协议进行数据的传输。
数据传输建立在网络层。

2.VPN隧道黑洞

可能情况:

对端的VPN连接已经断开而我方还处在SA的有效生存期时间内,从而形成了VPN隧道的黑洞。

另外一端如果之前SA没有释放,异常重启的对端又来连接,是不会接受新的连接协商的。

DPD解决VPN隧道黑洞:

DPD:死亡对等体检测(Dead Peer Detection),检查对端的ISAKMP SA是否存在。当VPN隧道异常的时候,能检测到并重新发起协商,来维持VPN隧道。

DPD 只对第一阶段生效,如果第一阶段本身已经超时断开,则不会再发DPD包。

DPD包并不是连续发送,而是采用空闲计时器机制。每接收到一个IPSec加密的包后就重置这个包对应IKE SA的空闲定时器;

如果空闲定时器计时开始到计时结束过程都没有接收到该SA对应的加密包,那么下一次有IP包要被这个SA加密发送或接收到加密包之前就需要使用DPD来检测对方是否存活。

DPD检测主要靠超时计时器,超时计时器用于判断是否再次发起请求,默认是发出5次请求(请求->超时->请求->超时->请求->超时)都没有收到任何DPD应答就会删除SA。

检查对端的ISAKMP SA是否存在两种工作模式:

1.周期模式:每隔一段时间,向对端发送DPD包探测对等体是否仍存在,如果收到回复则证明正常。如果收不到回复,则会每隔2秒发送一次DPD,如果发送七次仍收不到回复,则自动清除本地对应的ISAKMP SA和IPSEC SA。

2.按需模式:这是默认模式,当通过IPSEC VPN发送出流量而又收不到回程的数据时,则发出DPD探测包,每隔2秒发送一次,七次都收不到回应则清除本地对应的ISAKMP SA和IPSEC SA。注意,如果IPSEC通道上如果跑的只有单向的UDP流量,则慎用这个模式,尽管这种情况极少。

DPD很实用,应该开启。至于选择哪个模式,则根据实际需要,周期模式可以相对快地找出问题peer,但较消耗带宽;按需模式,较节约带宽,但只有当发出加密包后收不到解密包才会去探测。

‧  END  

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

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

相关文章

C++ set类成员函数介绍 (set和multiset)

目录 🤔set模板介绍: 🤔特点: 🤔set的成员函数: 😊set构造函数: 🔍代码实例: 🔍运行结果: 😊 set赋值函数&#xf…

MySQL之数据库基本查询语句

——————今天距2020年43天—————— 这是ITester软件测试小栈第80次推文 SELECT 基本查询语句 查询单个列 #查询Author表name列的值 select name from Author;查询多个列 #查询Author表id,name两列的值 select id,name from Author;查询所有列 #查询Author表所有列的信息…

泔水()

欢迎大家观看本人第一张博客 16340218 数据科学与计算机学院 目录 数学干货之不等式 均值不等式幂平均不等式柯西不等式琴生不等式证明不等式的小策略 函数法“暴力”积分法数学归纳法水货-大学感想 一、各类不等式 1.均值不等式 平方平均数 ≥ 算术平均数 ≥ 几何平均数…

【Mysql】mysql数据库的查询语句

单表查询 1、普通查询 &#xff08;1&#xff09;命令&#xff1a;select * from <表名>;//通匹 &#xff08;2&#xff09;命令&#xff1a;select <要查询的字段> from <表名>&#xff1b; 2、去重查询&#xff08;distinct&#xff09; 命令&#xff1a;…

Metasploit超详细安装及使用教程(图文版)

通过本篇文章&#xff0c;我们将会学习以下内容&#xff1a; 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

基于深度学习的高精度汽车自行车检测识别系统(PyTorch+Pyside6+模型)

摘要&#xff1a;基于深度学习的高精度汽车自行车检测识别系统可用于日常生活中检测与定位汽车自行车目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的汽车自行车目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目…

Kotlin笔记(零)简介

百度百科简介 2017年&#xff0c;google公司在官网上宣布Kotlin成为Android的开发语言&#xff0c;使编码效率大增。Kotlin 语言由 JetBrains 公司推出&#xff0c;这是一个面向JVM的新语言 参考资料 官网&#xff1a;https://kotlinlang.org/中文官网&#xff1a;https://w…

【测试基础02】

测试基础02 一、HTML基础二、Python导入三方模块三、安装webgrock驱动四、元素定位(1)、元素定位工具(2)、元素定位方式(3)、XPATH路径(3)、CSS选择器 五、Selenium WebDriver初步应用(1)、基本方法(2)、测试案例1(3)、测试案例2(3)、测试案例3 六、获取元素信息的方法七、fram…

黑马Redis视频教程实战篇(三)

目录 一、优惠券秒杀 1.1 全局唯一ID 1.2 Redis实现全局唯一ID 1.3 添加优惠卷 1.4 实现秒杀下单 1.5 库存超卖问题分析 1.6 代码实现乐观锁解决超卖问题 1.7 优惠券秒杀-一人一单 1.8 集群环境下的并发问题 二、分布式锁 2.1 基本原理和实现方式对比 2.2 Redis分布…

QQ截屏快速获取像素颜色

QQ截屏快速获取像素颜色 qq截屏的快捷键是 CTRL ALT A qq截屏除了截屏 还有个很不错的小功能 获取像素的颜色 是大家都容易忽略的 具体方法很简单 第一步 按下 Ctrl Alt A 快捷键 但是 不要点击鼠标 第二步 移动鼠标 到你想要像素点的颜色 如图所示 按C 即可复制 RGB十进…

计算机如何共享桌面,怎么共享电脑屏幕?

在平时的工作生活中&#xff0c;有的时候我们需要把自己的电脑屏幕共享到另一台电脑上&#xff0c;来方便给同事或者朋友演示一些操作。今天在这里给大家分享2个电脑屏幕共享的方法&#xff0c; 2种电脑屏幕共享的方法 幕享电脑投屏 幕享&#xff0c;英文名叫Letsview&#xff…

超简单友盟分享(微信、QQ)+ 原生微信分享

超简单友盟分享&#xff08;微信、QQ&#xff09; 原生微信分享 友盟分享&#xff08;微信、QQ&#xff09;原生微信分享QQ分享&#xff08;使用Android原生的api跳转QQ&#xff09; 友盟分享&#xff08;微信、QQ&#xff09; 之前写的项目好好的&#xff0c;后来打开就报这个…

手机端 html 怎么分享到朋友圈,【Web前端问题】移动web页面如何实现分享到微信、QQ等分享功能?...

移动web页面(浏览器打开的web应用&#xff0c;非App内置的Web页面)内有分享按钮&#xff0c;点击可分享到朋友圈&#xff0c;微信好友&#xff0c;QQ...... 据说是使用相关插件&#xff0c;求指导&#xff01; 回答&#xff1a; 如果不是app内置web页面,只能使用js的一键分享.具…

QQ空间说说批量删除

怎么批量删除QQ空间说说&#xff1f; 第一步&#xff1a;用电脑打开浏览器登录你的QQ空间 第二步&#xff1a;点击你的说说栏目 第三步&#xff1a;按下电脑的F12键或者点击右上角的菜单一栏&#xff0c;点击开发者工具 第四步&#xff1a;看到右半边屏幕&#xff0c;找到…

Android实现截图分享qq,微信

代码地址如下&#xff1a;http://www.demodashi.com/demo/13292.html 前言 现在很多应用都有截图分享的功能&#xff0c;今天就来讲讲截图分享吧 今天涉及到以下内容&#xff1a; 1. android权限设置及申请 2. 截图分享功能解析 3. 截图分享功能的调用 4. 项目结构图和效…

分享qq报错Only fullscreen opaque activities can request orientation

这两天突然发现了一个项目中分享链接到qq时崩溃但分享到微信却啥事没有的问题&#xff0c;然后连上usb&#xff0c;查看error发现报了这样一个错&#xff1a;Only fullscreen opaque activities can request orientation。然后就在网上搜答案&#xff0c;原来是安卓8才出现的问…

超级便捷精巧绿色的屏幕分享小软件IntelexEMC

摘要&#xff1a;因需求特殊&#xff0c;即需要在关闭QQ、微信或其他通讯软件的情况下进行屏幕分享。于是&#xff0c;整理好思路&#xff0c;开始写一个简易的屏幕分享软件&#xff0c;打了鸡血似的写了两天&#xff0c;突然&#xff0c;在查资料时发现网上有一款名叫InletexE…

Flutter 项目实战 截图分享到微信|QQ|微博 十二

/ 截图功能演示 / / 跨进程通信案例 / 调用三方app进行支付 : 支付宝支付、微信支付、银行app支付 ........ 调用三方app进行分享 : 微信分享、QQ分享、微博分享、钉钉分享、分享邮箱、打印、蓝牙....... 调用三方app进行登录 : 微信登录、QQ登录、微博登录、支付宝登录、Twit…

直接在屏幕上,选取区域进行截屏分享到QQ、微信

在手机屏幕上&#xff0c;选择某个区域进行截屏。 1&#xff0c;借用网络上一张图片&#xff0c;说明每个点的位置&#xff0c;主要是左上角和右下角这两个点。中间那块浅蓝色的就是我们的目标区域了 /*** 将一个view保存成图片* param view 传入的目标view* return*/public…

android qq悬浮窗口,qq悬浮窗口在哪里打开?怎么设置QQ悬浮窗?qq悬浮窗口设置方法分享...

QQ悬浮窗口在哪打开 qq悬浮 1.打开手机设置应用&#xff0c;点击进入设置界百面。 2.在设置应用中&#xff0c;选择“其他度应用管理”选问项。 3.打开选择答已经安装的应用&#xff0c;选择“QQ”。 4.点击“权限回管理”&#xff0c;进入权限管理界面。 5.点击“显示悬浮窗”…