65、内网安全-域环境工作组局域网探针方案
目录
- 案例1-基本信息收集操作演示
- 案例2-网络信息收集操作演示
- 案例3-用户信息收集操作演示
- 案例4-凭据信息收集操作演示
- 案例5-探针主机域控架构服务操作演示
- 涉及资源
我们攻击内网一般是借助web攻击,直接进去,然后再去攻击内网,那么攻击的对象一般大部分是web,一般网站这块就是放在dmz区,然后中间有两个防火墙,服务器被攻陷之后,你进入到的是dmz,我们想渗透内网的话,还需要进入内网,内网才是核心地方的一些数据,比如像企业服务器、文件服务器、数据库服务器,还有一些类似的财务的一些东西,还有公司内部的个人电脑
这个就是完整的内网架构,一般web服务器这里就称为dmz了,然后中间就有两个防火墙,出现了dmz大大加大了攻击的难度,拿到web权限之后,还要到内网里面去才行,只能说web服务器和内网是分割的,分割在dmz
dmz,把不得不向外部服务的东西,单独放在dmz这个区域,然后核心的东西放到内网,当然不是说所有的内网都是这样子,有些可能web服务器就在内网,这种就会形成一旦攻击成功之后,网站服务器一旦沦陷的话,就会影响到内网的安全性
局域网、工作组就是我们现在大部分的环境,就是我们自己个人电脑一般像大型公司里面,他们有各种部门,各种单位,分公司,有些小公司,几台计算机、一个小局域网,像这种情况,我们称之为局域网、工作组的机制
工作组,范围小的计算机,在一个局域网里面,像我们学校宿舍里面,一个网吧里面,或者自己家庭里面,都是属于你上网的设备都在局域网,不需要有任何一台计算机去管理这些计算机,但是域环境就相当于存在一台主机去管理一些计算机,然后都属于他管理,一般大型赛事里面会用到域环境的原因,比如说我想在每台电脑上面开一个共享文件,用来储存一些文件用的,这个时候如果,你要去搞这个事情的话,我们就需要在每个计算机上面配一个用户来访问这个文件共享,一台一台的配置,是非常繁琐的,但是域环境就能够解决这个事情,直接在域控上面下达一个指令,创建一个用户,就能实现这么个功能,便于管理,他是工作组的一个升级版,我们内网安全里面就会见识到这两个环境下面的渗透方案,也就是这两个环境我们为什么要单独区分开来,就是因为这两个下面的攻击手段是不一样的,比如像工作组里面的攻击手段,常说的arp欺骗、DNS劫持,这种攻击手段在域环境下是没有作用的,原因就是环境决定的,就是有些攻击手段需要攻击条件,但是这个条件在域环境下没有,所以攻击手段就失效
域控制器DC,域里面的管理者,就是管理服务器,象征着域里面的最高权限,最高的管理用户,一般是否拿下整个域,就是判断你有没有拿下域控制器
活动目录AD,域控制器上面的一个策略,他其实就是功能主体,比如说像域内主机,要安装软件,有什么策略,其实就是他在管,他就是类似功能策略
公司建立域环境,公司都加入到域里面,这种情况就是单域,这个时候假设有分公司了,这些分公司可能又是一个单独的域,但是他又被统管,总公司管理分公司,那么单独的分公司有独立的一个域,这种情况就会形成父域和子域,父域就是比子域的上一级,域树和域森林只是一个单词意思,就是说你的框架结构,有很多支,这就称为域森林,他只是一个表达的名词,具体没有什么太多的含义,就是一个类似的框架结构,这是一些基本概念
网上有单独的视频和文章去讲解这些概念,但是你没有必要去学,你自己在后期的学习过程中,测试过程中,你用你自己的攻击手法和一些理解,去理解这些概念就可以了,没必要搞得那么清楚,我们自己去理解他,用我们自己的渗透思维、攻击手法思维去理解他就可以了,不要看百度百科上面的相关介绍,看不懂的
linux上的域环境,需要环境才能支撑,而且功能没有windows强大,所以大部分我们基本上碰到的就是windows,这就是为什么没有linux的原因,Linux服务器的操作系统也是能够加域的,比如域里面有linux的操作系统,Linux的服务器,在域里面也是可以的,只是说他很少存在的,大部分都是windows服务器,这也是说内网里面我们都有windows操作的一个原因
碰到域控是linux的,按照正常思路来搞就可以了
大概就是前期把基本概念搞清楚,进行信息收集,信息收集完,就会涉及到权限提升,权限提升可在前,可在后,一般我是愿意把他放在前面的,一般攻击内网大部分就是你进入到内网一台服务器,比如说你控制一台内网服务器了,这个时候你要在内网里面进行渗透,首先你要确定这台主机你是否控制了最高权限,才能为后续做准备,因为即使你主机权限不够的话,比如说你那个网站的服务器在内网里面,你的权限只是web权限,这个时候你做过内网渗透,权限不够,很多操作,你受限,做不了,所以你第一步肯定是要进行权限提升,这个就是为什么我把权限提升放在前面,但是你会发现,网上的视频教程文章,都是把权限提升放在渗透测试的后面
他觉得你是先渗透到内网的一台服务器计算机了,这个时候你在那台计算机安排计划,这个就看你怎么理解他,我个人是把权限提升放在前面的,就是先要取到服务器权限之后,你才能进行渗透,所以它这个权限提升可在前可在后,所以不要纠结这个事情
关于内网渗透的横向渗透,这个相关的攻击方法,是我们后期的重点,权限维持肯定是不如前面的知识点重要,因为你即使拿下服务器之后,你要先确定拿下之后,你才会有权限维持的概念,所以重点还是在横向渗透,把这个搞清楚,权限维持你懂一点,或者说不懂,关系都不大,因为你拿下权限这个是原因,权限维持只是说是为了后期的控制,这些东西,你要先有这个权限之后,才能做权限维持,权限维持学不学都无所谓,但是横向渗透是必须要掌握的
域成员主机
网站服务器有两个网卡,一个叫3.31,一个叫230.131,这个230就好比是他的对外出口,他通过这个接口进入到这台计算机之后,控制了这台计算机,由于这个计算机是出于内网的一个连接,所以它享有3这个IP的网络权限,就是说能够针对他们内网主机进行一个访问了,他的首要攻击目标就是这个DC,因为他拿下这几台计算机权限,仅仅只是获得了一些内网其它主机的权限,但是还是没有获取DC,因为一旦获取dc权限的话,那就表示其它计算机全部遭殃,因为其它计算机都是受到DC的管理,大概的思维和简单的拓补图,我们已经给大家展示出来了
所以简单的内网就是这么个情况,这种就是属于单域的情况,如果是出现多域,很可能这里又可能出现一个外部连接,比如说像下面就又有一个域,域里面又属于这里面的其中一个
案例1-基本信息收集操作演示
旨在了解当前服务器的计算机基本信息,为后续判断服务器角色,网络环境等做准备
systeminfo 详细信息
net start 启动服务
tasklist 进程列表
schtasks 计划任务
服务器角色:服务器是干嘛的,在内网当中扮演什么角色
他每台电脑,每台服务器都是有一个角色的,他在内网中扮演什么角色,是仅仅使用还是用来文件传输,还是用来dns解析,各种各样一些乱七八遭的功能
一般完整的域环境要开个五六台的,32G以上才有可能扛得住
从启动服务里面就能判断他是什么角色,因为有些服务如果他有装的话,他有这些应用,说明是一些服务功能角色
计划任务加载不出来,是因为他的权限不够,这就是我们为什么要提权的原因,我为什么要把权限放在前面的原因
这里是个webadmin的一个用户,那这个用户可能是管理员,同时他还加载不了,原因是他受到域控制器的影响,所以有些命令他执行不了,所以就需要提权,突破这个域控的管理
案例2-网络信息收集操作演示
旨在了解当前服务器的网络接口信息,为判断当前角色,功能,网络架构做准备ipconfig /all 判断存在域-dns
net view /domain 判断存在域
net time /domain 判断主域
netstat -ano 当前网络端口开放
nslookup 域名 追踪来源地址
这就是最简单最直接判断你当前服务器是域环境,还是单纯的工作组、局域网的问题,因为在域环境里,通常会有dns解析服务器,由他来操作,所以必定会有主DNS后缀
我们要做内网渗透,肯定会获得一台内网服务器,才能做这些事情
主域就是域控的事情
域森林,多域的情况,也是我们父域、子域的意思,这个就相当于父域、子域
我们只有知道每个服务器的角色,才会有思路,你知道这台服务器是个web,我们在攻击他的时候,是不是可以进行网站的攻击,如果是个人电脑,那上面肯定是没有网站的,那就可以放弃网站攻击的相关手段,这也是为什么我们前期会介绍到信息收集的重要性,这就是为后续的思路和手法做准备
案例3-用户信息收集操作演示
旨在了解当前计算机或域环境下的用户及用户组信息,便于后期利用凭据进行测试系统默认常见用户身份:
Domain Admins: 域管理员(默认对域控制器有完全控制权)
Domain Computers: 域内机器
Domain Controllers: 域控制器
Domain Guest: 域访客,权限低
Domain Users: 域用户
Enterprise Admins: 企业系统管理员用户(默认对域控制器有完全控制权)
一般我们主要是攻击Domain Admins和Enterprise Admins,大部分成员组机在Domain Users这里,我在域控上面打开看一下
我们只有拿下域控,才会得到内网的所有权限
相关用户收集操作命令:
whoami /all 用户权限
net config workstation 登录信息
net user 本地用户
net localgroup 本地用户组
net user /domain 获取域用户信息
net group /domain 获取域用户组信息
wmic useraccount get /all 涉及域用户详细信息
net group “Domain Admins” /domain 查询域管理员账户
net group “Enterprise Admins” /domain 查询管理员用户组
net group “Domain Controllers” /domain 查询域控制器
这个就是AD目录在控制,我们操作不了用户账户控制,是因为域成员,主机权限不够,受到权限的影响
为什么域方便,因为域能阻止很多不安全性的操作
我们点击切换用户
收集这些信息,是为了得到这些密码,我就享有域用户名的权限,他在那个组里面,我们就知道了,为了后续进行密码账号的攻击手法做准备,所以这些信息要全部收集到
攻击的时候可以用这些用户名进行密码的爆破,因为这些用户都是在域里面真实存在的,我们可以随便伪造一个用户名,密码搞个字典跑,看有没有这个口令,去尝试登录一些计算机
案例4-凭据信息收集操作演示
旨在收集各种密文,明文,口令等,为后续横向渗透做好测试准备
计算机用户HASH,明文获取-mimikatz(win),mimipenguin(linux)
计算机各种协议服务口令获取-LaZagne(all),XenArmor (win)
Netah WLAN show profiles
Netah WLAN show profile name=“无线名称” key=clear
1.站点源码备份文件、数据库备份文件等
2.各类数据库Web管理入口,如PHPMyAdmin
3.浏览器保存密码、浏览器Cookies
4.其他用户会话、3389和ipc$连接记录、回收站内容
5.windows 保存的WIFI密码
6.网络内部的各种帐号和密码,如: Email、VPN、FTP、OA等
mimikatz(win),内网里面使用的最广的,内网里面这个工具是逃不掉的,必须使用,不使用他你搞不了事情
mimikatz时常更新,更新主要内容就是兼容,可能是一些年赛、一些功能,大体上功能都差不多
我们现在登录的用户是域成员,在domain user里面不是管理员,所以它的这个权限获取不来,你就执行不了他
linux是不适合在域控里面,有的人就是把linux加入到域控里面,他也可以加,你也不是说没有万一的情况,如果你在内网环境里面碰到这个情况,或者说你获取的就是Linux操作系统,我们要明文
如果不是root权限运行的文件,同样的获取不了,所以说权限提升的重要性就在这里,你不提到这个权限,你获取不了他的明文密码
linux在域环境下很少存在
内网的攻击大部分是建立在口令上的攻击,管理员很多为了方便,他会把一些账号密码设置成有规律的
所以我们获得一台电脑上面的一些比较重要信息的时候,就可能是那个密码,也可能是这个人自己的密码,比如说他是老板,他自己设计密码,和他网上通讯的密码是有关系的,比如他的QQ密码,浏览器访问网站的密码,个人电脑在这个内网里面,办公电脑,有人就肯定有它的个人信息在上面,那就收录这台电脑储存的信息,包括浏览器的信息,有没有在这上面连接其它电脑的信息,这些信息就比较关键,因为在连接的时候,有些各种应用,服务软件,他都会有类似的保存机制,问你是否保存密码,是否储存,就说明这个密码有可能帮他翻出
https://github.com/AlessandroZ/LaZagne
改一下LaZagne的md5值就可以绕过免杀,他的支持面广,但是他比较垃圾,另外一个收费工具XenArmor (win)就会比他好很多,有钱就买,没钱就搞破解,网上有破解版,但是是老版
凡是他登录的网站都有登录密码,可以自己去网上找下破解版,跟新版本对比,会少一两个密码
我把这些密码口令获取到之后,这个口令密码是不是可以成为我的密码字典
假设你内网一台主机开了3389协议登录,我是不是就可以用这个用户名套用这个密码去不断测试,你能不能登录一台计算机,如果我能登录这台计算机,就相当于白送我内网一台服务器权限,我拿到另外一台计算机权限,我又可以重新操作这个事情,进一步把密码字典收集的更全,那对网络架构了解的更深刻,这个时候我们在渗透其它主机,渗透域控成功机率就会越大,这是一步步先取一台,再取两台,三台,慢慢的就会被你全部拿下
前期从一台获取到两台的时候,那么这些密码、这些凭据信息,就是非常重要的,因为有了这些信息,你才能为你后续的攻击,成功的机会就会大大提高,你单纯的用一些攻击手段,是很难实现的,因为后续,我们在讲横向渗透的时候,包括你在网上看到的文章、视频、书籍全部都是建立在口令上面的攻击,很少有受到其它方面的攻击,而且你会发现,我讲的这些东西,都差不多,无非就是那个讲的好理解一些,也不会说那个就会出现新的干货,不可能,因为网上公开资料就那么多,他学的就是这么些东西,我学的也是这么个东西,无非就是思路比你好一点,讲解比你深刻一点,所以你不要听信网络上的培训,一下子变成大牛,不可能的事情,都是差不多的,没有太多的区别,你能学好,就是因为你知识点掌握的越多,然后思路开阔一些,这就是差距,其它差距就没有多少的,大部分的技术水平都在那个档次,不可能说相差很大
案例5-探针主机域控架构服务操作演示
为后续横向思路做准备,针对应用,协议等各类攻击手法
探针域控制器名及地址信息
net time /domain nslookup ping
探针域内存活主机及地址信息
nbtscan 192.168.3.0/24 第三方工具
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.3.%I | findstr "TTI=" 自带内部命令
自带内部命令不会被杀毒软件拦截,就是他解决这个免杀行为,因为你上传第三方工具上去搞的,首先要考虑免杀问题,还有一些工具有这个指纹,有一些好的防火墙,他会拦截这个工具指纹,就像WAF一样,他会判断你这个鸟毛正在nmap,正在用什么工具在扫,我直接把你干掉,他会有这种功能,你用一些第三方工具,好是好,功能强大是强大,而且你会用,不好的地方,他会拦截指纹,工具是个黑客的扫描工具,他会拦截,因为内网里面很多情况下,都有防护软件,就像红蓝对抗里面,蓝队会监控流量,他就会发现你,你最好是用系统自带的命令,杀毒软件也不会拦截你,你也不用去下载,直接用他系统自带的,绝对香
nmap masscan 第三方Powershell脚本nishang empire等
nishang好一些,看个人,有人觉得empire好一些
#导入模块nishang
Import-Module .\nishang.psml
#设置执行策略
Set-ExecutionPolicy RemoteSigned
#获取模块nishang的命令函数
Get-Command -Module nishang
#获取常规计算机信息
Get-Information
#端口扫描(查看目录对应文件有演示语法,其他同理)
Invoke-Portscan -startaddress 192,168.3.0 -EndAddress 192.168.3.100 -ResolveHost -ScanPort
#其他功能: 删除补丁,反弹shell,凭据获取等
探针域内主机角色及服务信息
powershell其实就是windows上的脚本开发环境,他上面的语言就是powershell语言,和这个cmd命令差不多的语言,就是可以实现在windows上面采用编程开发语言,官方系统自带的语言,来实现一些功能的开发,所以我们攻击者可以利用这个语言,开发出相应的脚本,实现这个攻击,用官方自带的脚本语言去写这个框架
nishang就是类似于msf的一个功能,可以把你的权限反弹到框架上面来,这个框架在对权限进行信息收集
我们可以把拿到的权限反弹到nishang、empire上面,他们就能实现在这上面加载一些功能,就不需要额外的下载工具了,因为你下载一些恶意工具的话,下载也比较麻烦,而且会被杀毒软件查杀,你直接用powershell官方自带的框架和脚本,这个功能的实现就是用官方的编程语言开发的,所以它不会受到影响,这是他的优势
在域里面有些是个人主机,个人主机难免就会关机,但是服务器一般就不会关机,个人主机、存活主机一般指的是目前在线的域内主机情况,这里就不是扫描所有,因为有些主机他可能关闭了,所以说检测存活主机,就是这个域内有那些东西正常在线,这里会使用几个东西,我们着重讲第二个和第三个
nbtscan老牌的工具了,我这里网上看的文章,大部分都在介绍这个东西,都是你转载,我转载,说实在的,没必要用这个工具,这个工具既不免杀,也是个老牌的工具,还要去下载,他不是自带的,功能也不强大,我们何必要去使用他呢
利用开放端口服务及计算机名判断核心业务机器:
1.高级管理人员、系统管理员、财务/人事/业务人员的个人计算机
2.产品管理系统服务器
3.办公系统服务器
4.财务应用系统服务器
5.核心产品源码服务器(自建SVN、GIT)
6.数据库服务器
7.文件或网盘服务器、共享服务器
8.电子邮件服务器
9.网络监控系统服务器
10.其他服务器(内部技术文档服务器、其他监控服务器等)
攻击他的端口,攻击内网主机的端口,我们这个思路就顿时打开了,不仅是口令方面的攻击,还可以对它上面的服务进行攻击,因为有些服务你是访问到的,你既然能够探针到,那就是能访问到,所以说这个攻击是多方面的,有些是访问不了,可能他有些内网的屏蔽,或者他设置权限,有些是个人电脑或者是服务器,可能有些服务,他给的权限比较低,假设你是销售,你想看财务数据,肯定看不了,那只有财务内部的人才可以看,所以他们单独有个账号密码,你渗透的是谁的账号密码,那就相当于你当前能做什么事情,和你权限相关的事情,这也是为什么要提权的原因,就相当于你这个系统权限能突破你们之前做的事情,因为你那个用户登录上去,他只是电脑上面的一个普通用户,他连执行一些敏感东西都执行不了,那就谈不上信息收集,你运行一个ipconfig都运行不了,那还有什么作用呢
你权限不够很多东西,你都做不了
判断存活主机,你攻击不了,判断主机对应的IP地址,他的角色,判断他上面有什么端口,什么服务,来便于你对它主机有什么方案的筛选,他上面有web,你就攻击他web,没有web就不攻击他web,然后前期收集的凭据信息,都可以当做密码爆破字典
在实战下会出现各种各样的功能角色,就是要看你自己在进入这个内网之后,你当前服务器是什么角色,就能很大部分判断你能不能渗透成功的概率,你本来进入内网的时候,是获取一台比较重要的服务器,比如像数据库,或者高级管理员的个人电脑,他上面可能有些凭据,那像这种机率可能会比较大一点,你仅仅搞一个普通员工的个人电脑,他在上面就每天登录一下内网,看看资料而已,那就没有什么价值,所以内网渗透成功的几率是由很多方面来决定的,第一个看你当前拿下电脑的角色,第二个看内网有没有安全域,有没有一些防护软件一大堆的,而且设计的非常严,涉及多个域而且每个域,设置的比较严,而且密码账号是比较复杂的,特别注重密码的隐私,而且有那些使用规范,不会在内网机器上遗留个人信息,公司内部培训安全意识一样,告诉你内网自己的计算机上面不能搞自己的东西,其实就是加强业务,防止黑客一旦拿下这个权限之后,获取的一些凭据信息,进行的渗透,所以很多情况都能决定渗透成功的后续机率,这个就是我提的一个题外话,我把这个讲完之后,大家就能知道了
涉及资源
http://unixwiz.net/tools/nbtscan.html
https://github.com/samratashok/nishang
https://github.com/AlessandroZ/LaZagne
https://github.com/gentilkiwi/mimikatz/releases
https://github.com/huntergregal/mimipenguin/releases/
https://nagareshwar.securityxploded.com/download-softwares/
https://xenarmor.com/allinone-password-recovery-pro-software/
https://pan.baidu.com/s/14eVDglqba1aRXi9BGcBbug 提取码: taqu
相关文章:

65、内网安全-域环境工作组局域网探针方案
目录 案例1-基本信息收集操作演示案例2-网络信息收集操作演示案例3-用户信息收集操作演示案例4-凭据信息收集操作演示案例5-探针主机域控架构服务操作演示涉及资源 我们攻击内网一般是借助web攻击,直接进去,然后再去攻击内网,那么攻击的对象一…...

C#:EXCEL列名、列序号之间互相转换
EXCEL的列名与列序号 之前的关系如下 A1B2C3D4E5F6G7H8I9J10K11L12M13N14O15P16Q17R18S19T20U21V22W23X24Y25Z26AA27AB28 /// <summary>/// 根据给的EXCEL列序号,得出列名字母/// </summary>/// <param name"iColNum">序号</param&…...

云原生微服务实战 Spring Cloud Alibaba 之 Nacos
系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…...

ubuntu gcc版本降级 Reset gcc version from 11.3 to 11.2 on Ubuntu 22.04
aptitude 需要自己安装 sudo apt-get install aptitude # 安装# aptitude的一些常用的操作: sudo aptitude update # 更新软件源 sudo aptitude search 软件名称 # 查看软件 sudo aptitude install 软件名称 …...

基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉 计算机竞赛
文章目录 0 简介1 二维码检测2 算法实现流程3 特征提取4 特征分类5 后处理6 代码实现5 最后 0 简介 🔥 优质竞赛项目系列,今天要分享的是 基于机器学习的二维码识别检测 - opencv 二维码 识别检测 机器视觉 该项目较为新颖,适合作为竞赛课…...

Windows客户端下pycharm配置跳板机连接内网服务器
问题:实验室服务器仅限内网访问,无法在宿舍(外网)访问实验室的所有内部服务器,但同时实验室又提供了一个外网可以访问的跳板机,虽然可以先ssh到跳板机再从跳板机ssh到内网服务器,但这种方式不方…...

美国IP代理如何获取?适用于哪些场景?
美国代理IP可以是静态(不会改变)或动态(周期性更改),并且可以由专业的代理服务提供商提供。不同的代理IP服务提供商可能提供不同类型的代理,包括数据中心代理、住宅代理和移动代理,以满足不同用…...

Java工具库——FastJson的40个常用方法
那些想看却没看的书,在心里摆满一个图书馆… 工具库介绍 阿里巴巴的 FastJSON,也被称为 Alibaba FastJSON 或阿里巴巴 JSON,是一个高性能的 Java JSON 处理库,用于在 Java 应用程序中解析和生成 JSON 数据。FastJSON 以其卓越的性…...

基于ssm的宠物医院管理系统的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...

RocketMQ学习笔记(一)
RocketMQ学习笔记 消息中间件应用场景 应用解耦削峰填谷数据分发 常见的消息中间件 ActiveMQ:Apache出品,比较老的一个开源的消息中间件,以前在中小企业应用广泛Kafka:Apache软件基金会开发的一个开源流处理平台,由…...

JavaScript-2-菜鸟教程
字符串 可以使用 索引 位置访问字符串中的每个字符 可以使用内置属性 length 来计算字符串的长度 var txt "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln txt.length;<script>var x "John"; // x是一个字符串// 使用 new 关键字将字符…...

发布开源项目到 jitpack
--- theme: github highlight: a11y-dark --- # 发布项目到 jitpack ## *(Gradle7.x 的版本已不适用 android-maven 的方法发布)* ## 1.在要发布android module下的 build.grdle 添加,多个module就添加多个 plugins{ id maven-publish } task sourceJar(type: Jar) { …...

TeeChart for .NET 2023.10.19 Crack
TeeChart.NET 的 TeeChart 图表控件提供了一个出色的通用组件套件,可满足无数的图表需求,也针对重要的垂直领域,例如金融、科学和统计领域。 数据可视化 数十种完全可定制的交互式图表类型、地图和仪表指示器,以及完整的功能集&am…...

代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球 文章链接:柠檬水找零 根据身高重建队列 用最少数量的箭引爆气球 视频链接:柠檬水找零 根据身高重建队列 …...

完美解决configure: error: APR not found. Please read the documentation.
目录 一、问题: 二、原因: 三、解决方法: 一、问题: ./configure 出现如下问题: configure: error: APR not found. Please read the documentation. 二、原因: 配置:错误:找不…...

Jenkins部署失败:JDK ‘jdk1.8.0_381‘ not supported to run Maven projects
Jenkins部署报错:JDK ‘jdk1.8.0_381’ not supported to run Maven projects提示使用的jdk有问题,启动的jdk版本不能满足项目启动。 登录Jenkins管理页面,系统管理——全局工具配置——JDK安装配置满足条件的JDK版本,保存配置&…...

xml导出pdf简单实现
1. 引入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>8.0.1</version> </dependency>2. 代码实现 import com.itextpdf.kernel.geom.PageSize; import com.itextpdf.ker…...

JAVAEE初阶相关内容第十六弹--网络编程
写在前 这一节的内容首先是对十五弹(UDP回显服务器)进行简单的改进,在这基础上开始介绍TCP流套接字编程。 目录 写在前 1.改进回显服务器 1.1完整代码实现 1.2运行输出结果 2.TCP流套接字编程 2.1ServerSocketAPI 2.2SocketAPI 3.TC…...

Python---练习:使用for循环嵌套实现打印九九乘法表
思考: 外层循环主要用于控制循环的行数,内层循环用于控制列数。 基本语法: # 外层循环 for i in 序列1:# 内层循环for j in 序列2:循环体 序列1 序列2 ,就可以是range(1, 10) -----也就是从1,到9。 参考while循环…...

mac安装并使用wireshark
mac安装并使用wireshark 1 介绍 我们在日常开发过程中,遇到了棘手的问题时,免不了查看具体网络请求情况,这个时候就需要用到抓包工具。比较著名的抓包工具就属:wireshark、fildder。我这里主要介绍wireshark。 2 安装 以mac安装为…...

torch张量的降维与升维
文章目录 一、降维和升维未完待续.... 一、降维和升维 squeeze和unsqueeze是torch张量常用的降维与升维的一种方式,但这种方式只能增添或减少大小为1的维度,如下: x1 torch.randn(1, 8, 256, 256) x1 torch.squeeze(x1,dim0) print(x1.sh…...

八大排序算法(C语言版)之插入排序
八大排序详解 目录:一、排序的概念1.1 排序的概念1.2 排序的应用 二、直接插入排序三、希尔排序四、排序算法复杂度及稳定性分析 目录: 八大排序算法: #mermaid-svg-7qCaGEYz0Jyj9dYw {font-family:"trebuchet ms",verdana,arial,…...

Linux系统安装redis并配置为服务
一、Linux环境 1、下载 官网提供的源码下载地址: https://github.com/redis/redis/archive/7.0.5.tar.gz 2、将源码上传至服务器 3、解压缩 # 将解压缩后的文件放置在同目录的source文件夹下 tar -zxvf redis-7.0.5.tar.gz -C ./source4、编译安装 对源码进行编…...

DDIO和DMA有什么区别
DDIO 和 DMA 的区别 DDIO (Data Direct I/O Technology) 主要应用: 主要用于网卡和CPU之间的数据传输。工作原理: 通过CPU的Last Level Cache (LLC) 直接与外部网卡交换数据,绕过了主存储器。优点: 减少了CPU和网卡等待内存的时间。提高了数据包的处理速度。减少了…...

【MATLAB源码-第58期】基于蛇优化算法(SO)和粒子群优化算法(PSO)的栅格地图路径规划最短路径和适应度曲线对比。
操作环境: MATLAB 2022a 1、算法描述 粒子群算法 (Particle Swarm Optimization, PSO) 1. 算法概述 粒子群算法是一种基于群体智能的优化算法,模拟鸟群觅食的行为。算法中的每个粒子代表问题的一个可能解,并且具有位置和速度两个属性。粒…...

nlp与知识图谱代码解读
词嵌入 简单原理 我们要给一群14岁的孩子讲解词嵌入。可以使用一些比喻和生活中的例子: 老师: 你们还记得玩乐高积木的时候,每个积木块代表了一个特定的事物或形状吗?现在,想象一下,每个词都像是一个乐高…...

Redis设计与实现(3)字典
Redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每一个哈希表节点就保存了字典中的一个键值对 redis字典所使用的哈希表由dict.h/dictht typedef struct dictht{//哈希表数组dictEntry **table;//哈希表大小unsigned long si…...

STM32MP157D BSP
一,全志R16、IMX6ULL和STM32MP157D启动相关 1,IMX6ULL是EMMC启动后,通过uboot fat命令的load进内存进行启动测试 2,openedv应该也是参考的官方的板子,类似调试口等均应该是一致的,所以目前就是用正点原子…...

最新SQL注入漏洞修复建议
点击星标,即时接收最新推文 本文选自《web安全攻防渗透测试实战指南(第2版)》 点击图片五折购书 SQL注入漏洞修复建议 常用的SQL注入漏洞的修复方法有两种。 1.过滤危险字符 多数CMS都采用过滤危险字符的方式,例如&…...

新人FPGA验证书籍推荐
1、FPGA之道 推荐理由:FPGA基础知识讲解全面,可以作为参考书时常翻阅; 2、Verilog数字系统设计教程 推荐理由:FPGA语法详细的介绍,案例比较有代表性; 工具类书籍推荐: 3、ModelSim电子系统…...