渗透测试—信息收集

渗透测试—信息收集

  • 1. 收集域名信息
    • 1.1. 域名注册信息
    • 1.2. SEO信息收集
    • 1.3. 子域名收集
      • 1.3.1. 在线子域名收集
      • 1.3.2. 子域名收集工具
    • 1.4. 域名备案信息
    • 1.5. ICP备案号查询
    • 1.6. SSL证书查询
  • 2. 收集真实IP
    • 2.1. 超级ping
    • 2.2. Ping
    • 2.3. CDN绕过
  • 3. 收集旁站或C段IP
    • 3.1. 旁站或C段
    • 3.2. 端口分析
  • 4. 收集端口及服务
    • 4.1. Nmap
      • 4.1.1. 主机发现
      • 4.1.2. 端口扫描
      • 4.1.3. 版本探测
      • 4.1.4. OS探测
  • 5. 收集网站指纹
    • 5.1. 在线网站
    • 5.2. 工具类
  • 6. 收集敏感信息
    • 6.1. 目录信息收集
    • 6.2. 代码管理工具信息泄露
      • 6.2.1. Git源码泄露
      • 6.2.2. SVN源码泄露
  • 7. 综合性信息收集
    • 7.1. Google hack(高级搜索)
    • 7.2. 黑暗搜索引擎
      • 7.2.1. shodan
      • 7.2.2. FOFA
      • 7.2.3. 钟馗之眼
    • 7.3. ARL灯塔资产侦察系统
  • 8. APP与小程序信息收集

1. 收集域名信息

关于域名的收集,一般情况下如果是授权测试的,那么基本上甲方都会将一下相关的信息罗列出来,但是也不排除会遇到一些直接给你一个域名,而不不会给那么详细信息的甲方,那么就需要你自己去对这些域名进行信息收集。

1.1. 域名注册信息

这里在查询的时候需要注意,有些大型企业或者某些企业可能会不让你查询这些信息,例如下面去查询百度的时候,就出现了违规域名。

https://whois.chinaz.com

image-20240221121637755

而如果查询的是个人的域名则会出现,一些公司,而个人的情况下公司这里会显示注册人的名字拼音,包括一些其他的内容,这些就需要自己去看了。

image-20240221122039637

当然这里还有很多可以查询这些信息的网站,这里就自己去尝试看看吧。

中国万网域名WHOIS信息查询地址:
https://whois.aliyun.com/西部数码域名wHOIS信息查询地址:
https://whois.west.cn/新网域名WHOIS信息查询地址:
https://whois.xinnet.com/纳网域名wHOIS信息查询地址:
http://whois.nawang.cn/中资源域名wHOIS信息查询地址:
https://www.zzy.cn/domain/whois.html三五互联域名wHOIS信息查询地址:
https://cp.35.com/chinese/whois.php新网互联域名wHOIS信息查询地址:
https://crm.dns.com.cn/show/domain/whois/index.do美橙互联域名wHOIS信息查询地址:
https://www.cndns.com/whois/index.aspx爱名网域名wHOIS信息查询地址:
https://www.22.cn/domain/

1.2. SEO信息收集

SEO能够展现出来的信息更多,具体的内容那些是自己需要的还需要自己去分辨,不单单可以查询公司类型的域名,也可以查询个人的域名。

https://seo.chinaz.com

image-20240221123044916

1.3. 子域名收集

关于子域名是什么意思就不想介绍了,想必应该都知道。

1.3.1. 在线子域名收集

这里假设基于一个www.xxx.com,这里还需要看看xxx.com下除了www还有哪些子域名,那么就可以使用爆破,这里就需要使用自己的平时收集的字典,当然,如果自己平常也没收集,那么可以使用工具或者一些网站来实现信息收集。

https://tool.chinaz.com/subdomain/

image-20240221123541359

当然还有一些其他收集子域名的网站,例如下面这个网站,不单单可以收集子域名,还可以收集IP地址。

https://site.ip138.com/

image-20240221123853528

如果自己想要去找查询子域名的网站,可以直接在浏览器中输入查询子域名。

image-20240221124005787

当然还有一些是通过字典来爆破实现收集的。

https://scan.javasec.cn/

image-20240221124323274

1.3.2. 子域名收集工具

收集工具,在GitHub上有很多以及一些工具箱中都会含有子域名收集的工具,这里我也不想去找这些地址连接,在线的也够初学者使用的了,关于这些工具,可以在后面密码就能够接触到。

这里我就提供一个吧,自己去这个地址下载,同时别再回头问我说你给的工具有毒,你看看那个安全工具不会被报毒,服了…这也是我现在实在不敢提供直接下载好的工具,自己去连接下载吧。

https://www.webshell.cc/6384.html

image-20240221125018983

下面几个下载连接自己去下载,自己去测试,GitHub上面的项目都会有介绍,看不懂英文的自己使用翻译,同时很多软件都是需要java环境和python环境的,自行下载环境。

所有不确定的工具均放入虚拟机中运行,不要放物理机中,出现问题后果自负。

https://github.com/shmilylty/OneForAll
https://github.com/lijiejie/subDomainsBrute

还是一句话,子域名能不能爆破全,取决于字典大不大,GitHub上一搜一大堆字典,下面就是一个字典连接。

https://github.com/TheKingOfDuck/fuzzDicts

1.4. 域名备案信息

这里能够看到ICP备案是XXXX-1,这里-1就是说明这个备案下不单单只有这一个域名,还有其他的域名。

https://icp.chinaz.com

image-20240221130324044

但是想要看该备案下还有那些域名发现要开VIP,那么就没辙了。

image-20240221130612297

1.5. ICP备案号查询

这里可以直接去官网查询,都是可以查询到的,同时点击详情后,能够看到相关的网站域名。

https://beian.miit.gov.cn/#/Integrated/recordQuery

image-20240221130834718

image-20240221130921070

1.6. SSL证书查询

这个能够查询到SSL证书的状态。

https://myssl.com/

image-20240221131344123

2. 收集真实IP

在测试过程中需要获取真实的IP,如果获取到的是CDN地址,是没什么意义的,比如你获取到的真实的IP,就可以直接测试那些端口开放了,同时针对这些端口所开放的服务,采取不同的手段来进行测试。

2.1. 超级ping

一般在下面IP独立个数超过两个的话,基本上就有可能存在CDN加速。

https://ping.chinaz.com/baidu.com

image-20240221135329469

2.2. Ping

默认情况下你去ping一个地址的时候,返回的地址应该是差不多的,但是当变成很长一段的时候,大概率是经过跳转加速的,那么就可能存在CDN

image-20240221135803987

2.3. CDN绕过

使用CDN是需要花钱的,所以一般厂商都会在主站上实施CDN,所以可以尝试找其他子域名,来绕过CDN。同时绕CDN有时候是需要运气的,不是百分百能够绕过。

https://x.threatbook.com/v5/domain/wu1aoban.top
https://x.threatbook.cn/ ###微步在线
http://too1bar.netcraft.com/site_report?ur1=www.wu1aoban.top ###在线域名信息查询
http://viewdns.info/  ###DNS、IP等查询
https://too1s.ipip.net/cdn.php  ###CDN查询IP
https://securitytrai1s.com/domain/wu1aoban.top/dns

image-20240221141541752

3. 收集旁站或C段IP

有时候主站我们测试不了,我们就可以对旁站进行测试,由于某些大厂业务较多,可能会买很多的公网IP,而且这些厂商在购买公网IP的时候,不太可能会去说某一个网段买一个IP,另外一个网段再买一个IP的,基本上都是在一个网段中挑几个连续的或者直接买一个网段。

所以这时候就可以根据获取到的IP地址进行旁站或CIP的收集。

3.1. 旁站或C段

https://chapangzhan.com/

image-20240221142132150

御剑工具集也可以队旁站进行测试,这些工具都可以通过工具箱等方式获取,这里公众号后台发送"御剑工具集"获取。公众号:剁椒鱼头没剁椒

image-20240221143217014

3.2. 端口分析

端口:21 服务:FTP/TFTP/VSFTPD 总结:爆破/嗅探/溢出/后门
端口:22 服务:ssh远程连接      总结:爆破/openssh漏洞
端口:23 服务:Telnet远程连接   总结:爆破/嗅探/弱口令
端口:25 服务:SMTP邮件服务     总结:邮件伪造
端口:53 服务:DNS域名解析系统   总结:域传送/劫持/缓存投毒/欺骗
端口:67/68 服务:dhcp服务      总结:劫持/欺骗
端口:110 服务:pop3 			 总结:爆破/嗅探
端口:139 服务:Samba服务 		总结:爆破/未授权访问/远程命令执行
端口:143 服务:Imap协议 		总结:爆破161SNMP协议爆破/搜集目标内网信息
端口:389 服务:Ldap目录访问协议 总结:注入/未授权访问/弱口令
端口:445 服务:smb 			 总结:ms17-010/端口溢出
端口:512/513/514 服务:Linux Rexec服务 总结:爆破/Rlogin登陆
端口:873 服务:Rsync服务 				总结:文件上传/未授权访问
端口:1080 服务:socket 				 总结:爆破
端口:1352 服务:Lotus domino邮件服务   总结:爆破/信息泄漏
端口:1433 服务:mssql 				 总结:爆破/注入/SA弱口令
端口:1521 服务:oracle       总结:爆破/注入/TNS爆破/反弹shell2049Nfs服务配置不当
端口:2181 服务:zookeeper服务 		   总结:未授权访问
端口:2375 服务:docker remote api    总结:未授权访问
端口:3306 服务:mysql 				总结:爆破/注入
端口:3389 服务:Rdp远程桌面链接        总结:爆破/shift后门
端口:4848 服务:GlassFish控制台       总结:爆破/认证绕过
端口:5000 服务:sybase/DB2数据库	  总结:爆破/注入/提权
端口:5432 服务:postgresql 		    总结:爆破/注入/缓冲区溢出
端口:5632 服务:pcanywhere服务 	   总结:抓密码/代码执行
端口:5900 服务:vnc 					总结:爆破/认证绕过
端口:6379 服务:Redis数据库 	      总结:未授权访问/爆破
端口:7001/7002 服务:weblogic 		总结:java反序列化/控制台弱口令
端口:80/443 服务:http/https 		总结:web应用漏洞/心脏滴血
端口:8069 服务:zabbix服务 		   总结:远程命令执行/注入
端口:8161 服务:activemq 			总结:弱口令/写文件
端口:8080/8089 服务:Jboss/Tomcat/Resin 总结:爆破/PUT文件上传/反序列化
端口:8083/8086 服务:influxDB 		总结:未授权访问
端口:9000 服务:fastcgi 				总结:远程命令执行
端口:9090 服务:Websphere 			总结:控制台爆破/java反序列化/弱口令
端口:9200/9300 服务:elasticsearch   总结:远程代码执行
端口:11211 服务:memcached 			总结:未授权访问
端口:27017/27018 服务:mongodb 		总结:未授权访问/爆破

4. 收集端口及服务

关于本部分内容,主要就是通过IP地址获取到上面的端口,如何通过端口判断服务,通过服务的版本等等信息获取相关历史漏洞或者密码爆破等。

4.1. Nmap

Nmap网络映射器)是Gordon Lyon最初编写的一种安全扫描器,用于发现计算机网络上的主机和服务,从而创建网络的“映射”。为了实现其目标,Nmap将特定数据包发送到目标主机,然后分析响应Nmap强大的网络工具,用于枚举和测试网络。

4.1.1. 主机发现

Nmap主机发现过程是指网络主机的枚举,以收集有关它们的信息,以在渗透测试中构建攻击计划。

在主机发现过程中,Nmap 使用 Ping 等元素和内置脚本来查找操作系统、端口以及使用 TCPUDP 协议运行的服务。如果指定,您可以启用 Nmap 脚本引擎,该引擎使用各种脚本来查找主机的漏洞。

Nmap 使用的主机发现过程利用原始 ICMP 数据包。

这里更多的功能我就不介绍了,可以直接去相应的手册中寻找即可。

nmap -PE -sn 10.1.1.199

image-20240221154101099

常见参数:

-SL: List scan列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。
-sn: Ping scan只进行主机发现,不进行端口扫描。用的多。
-Pn∶将所有指定的主机视作开启的,跳过主机发现的过程。直接探测端口,通过端口探测结果判断主机是否存活
-PS/PA/PU/PY[port7ist]:使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。
#nmap -PS 192.168.2.0/24 #不指定端口的话会自动扫描常用端口(1000个),速度会慢。
-PE/PP/PM:使用ICMP echo,timestamp,and netmask 请求包发现主机。
-Po[protocol1ist]:使用IP协议包探测对方主机是否开启。
-n/-R : -n表示不进行DNS解析;-R表示总是进行DNS解析。
--dns-servers cserv1[, serv2],...>:指定DNS服务器。
--system-dns:指定使用系统的DNS服务器
--traceroute:追踪每个路由节点

例如这里可以扫描一下在192.168.3.1到100下有那些主机存活。

nmap -sn 192.168.3.1-100

image-20240221154804946

4.1.2. 端口扫描

端口扫描是Nmap的最基础的核心功能,用于确定目标主机的端口开放情况,默认情况下Nmap会扫描1000个最有可能开放的TCP端口,Nmap通过探测将端口划分为6个状态:

open:端口是开放的。
closed:端口是关闭的。
filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。
unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
open|filtered:端口是开放的或被屏蔽。
closed|filtered :端口是关闭的或被屏蔽。

扫描方式分为3个状态:

开放扫描:会产生大量的审计数据,容易被对方发现,但其可靠性高;例如:TCP Connect类。 效率高
隐蔽扫描:能有效的避免入侵检测系统和防火墙的检测,但扫描使数据包容易被丢弃从而产生错误的探测信
息;例如:TCP FIN类。 效率低
半开放扫描:隐蔽性和可靠性介于前两者之间。例如:TCP SYN类。

常见参数:

-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。
-sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。
-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。
--scanflags <flags>: 定制TCP包的flags。
-sI <zombiehost[:probeport]>: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
-sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。
-sO: 使用IP protocol 扫描确定目标机支持的协议类型。
-b <FTP relay host>: 使用FTP bounce scan扫描方式
-p <port ranges> 只扫描指定端口eg:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
-F 扫描比默认扫描更少的端口
--top-posts <number> 扫描<number>数量的最常见的端口

最基础的端口扫描,就是直接跟IP,不带任何参数,说是不带,但是还是携带了默认参数,其他的使用方式自己去测试。

nmap IP地址

image-20240221155745088

4.1.3. 版本探测

有时候我们希望可以知道正在运行什么邮件和域名服务器以及它们的版本。有一个精确的版本号对了解服务器有什么漏洞有巨大的帮助,在Nmap中版本探测可以帮您获得该信息。

常见参数:

-sV: 指定让Nmap进行版本侦测
--version-intensity <level>: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
--version-light: 指定使用轻量侦测方式 (intensity 2)
--version-all: 尝试使用所有的probes进行侦测 (intensity 9)
--version-trace: 显示出详细的版本侦测过程信息。
nmap -sV IP地址

image-20240221161304962

4.1.4. OS探测

Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。

这里我自己找设备没扫描出来,我就直接搞一张别人的图片。

nmap -O IP地址

image-20240221161722950

5. 收集网站指纹

在渗透测试中,对目标服务器进行指纹识别是非常有必要的,因为只有识别出相应的web容器或者CMS,才能查看与其相关的漏洞,然后利用可用的漏洞进行相应的渗透测试。

5.1. 在线网站

https://www.yunsee.cn/   ##云悉
http://finger.tidesec.com/  ##潮汐

image-20240221160715714

5.2. 工具类

御剑WEB扫描,当出现相关的CMS后就可以去百度搜索相关的CMS漏洞了。这里公众号后台发送"御剑工具集"获取。公众号:剁椒鱼头没剁椒

image-20240221162014841

Wappalyzer插件,是一款开发必备的网站技术嗅探工具,能够用来检测和分析当前网站的各种参数,比如平台架构、编程语言、网站环境、服务器配置、javascript框架等。Wappalyzer插件是一款功能强大、简单易操作的网站技术分析检测工具,能帮你对所访问网站上使用的技术一目了然。通过它,能够一键分析指定网站所采用的平台构架、统计工具、服务器配置、Web框架、编程语言等参数。

作为开发者,当我们看到别人的网站有许多值得借鉴的地方时,也会很想探索一番,到底对方都使用了哪些技术配置。如果你是大神的话,可能很容易就能看出来,但对于许多普通人来说,借助第三方的网站技术分析工具,也能达到这个目的。

image-20240221162605248

6. 收集敏感信息

由于发布网站时,服务器配置问题,导致目录能够在浏览器中打开,从而引起信息泄露,造成安全隐患。例如你在网站目录下放置1.txt,而这个1.txt中存放网站的密码,那么这样攻击者通过该手段这样就能够直接登录网站了。

https://zhuanlan.zhihu.com/p/110389472  ##参考链接

6.1. 目录信息收集

7kbstorm,具体使用可以去GitHub上看,其实不用说看界面也能看懂如何使用。

https://github.com/7kbstorm/7kbscan-WebPathBrute

image-20240221163415155

6.2. 代码管理工具信息泄露

这里主要是出现在搭建网站的时候会出现源码泄露的情况,很多情况下我们都是对网站进行黑盒测试,而如果获取到源码后,那么漏洞不就相当于自己送过来的么。

6.2.1. Git源码泄露

Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。

https://github.com/lijiejie/GitHack

用法:

GitHack.py http://www.openssl.org/.git/

建议删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问。

6.2.2. SVN源码泄露

SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

https://github.com/callmefeifei/SvnHack

用法:看官网介绍,主要我也没环境,有工具也无法测试。(借图)

python SvnHack.py -u http://trafficbonus.com/.svn/entries

image-20240221164346688

建议删除web目录中所有.svn隐藏文件夹,开发人员在使用SVN时,严格使用导出功能,禁止直接复制代码。

7. 综合性信息收集

这里的收集就相对来说收集的跟全面,同时也是更多的都是采用网络,想要很好的进行信息收集,那么一定需要会fq,关于这技术自己想办法吧。

7.1. Google hack(高级搜索)

inurl: 用于查找含有该值的所有url网址网页。例:inurl:mail(可找一些免费邮箱)related::找出和该网址类似的网站,比如想知道和amazon.com类似的大型网络书店有哪些时输入amazon.com网址。例:related:amazon.comintext: 只搜索网页部分中包含的文字(也就是忽略了标题,URL等的文字).filetype: 搜索通过文件的后缀或者扩展名来搜索含有这类文件的网页intitle: 标题中存在关键字的网页allintitle: 搜索所有关键字构成标题的网页. 但是推荐不要使用link: 可以得到一个所有包含了某个指定URL的页面列表. 当我们使用link:URL提交查询的时候,Google会返回跟此URL做了链接的网站。例 [link:www.baidu.com],提交这个查询,我们将得到所有跟www.baidu.com这个网站做了链接的网站。(link是个单独的语 法,只能单独使用,且后面不能跟查询关键词,跟能跟URL)location: 当我们提交location进行Google新闻查询的时候,Google仅会返回你当前指定区的跟查询关键词相关的网页。例[ queen location:canada ],提交这个查询,Google会返回加拿大的跟查询关键词”queen”相匹配的网站。site: 搜索含有该域名的网页,google会限制尽在某个网站或者说域下面进行搜索。使用site进行站点搜索时,一般常见用法有:
site:ooxx.com filetype:xls # 支持组合搜索
site:xxx.com admin # 一般公司的后台系统都带有admin啊,login啊,内部系统啊之类的关键字
site:xxx.xxx login
site:xxx.xxx system
site:xxx.xxx 管理
site:xxx.xxx 登录
site:xxx.xxx 内部

例如搜索SQL注入,那么SQL注入最简单的判断就是有没有ID信息,那么这里就可以根据这个ID信息进行搜索。

inurl:.php?id= 公司

image-20240221165442303

7.2. 黑暗搜索引擎

关于这些引擎的用法网站上都有详细的介绍,这里就不介绍了,直接就是给几个网站吧。

7.2.1. shodan

https://www.shodan.io/  

参考语法:

hostname:搜索指定的主机或域名,例如 hostname:"google"
port:搜索指定的端口或服务,例如 port:"21"
country:搜索指定的国家,例如 country:"CN"
city:搜索指定的城市,例如 city:"Hefei"
org:搜索指定的组织或公司,例如 org:"google"
isp:搜索指定的ISP供应商,例如 isp:"China Telecom"
product:搜索指定的操作系统/软件/平台,例如 product:"Apache httpd"
version:搜索指定的软件版本,例如 version:"1.6.2"
geo:搜索指定的地理位置,参数为经纬度,例如 geo:"31.8639, 117.2808"
before/after:搜索指定收录时间前后的数据,格式为dd-mm-yy,例如 before:"11-11-15"
net:搜索指定的IP地址或子网,例如 net:"210.45.240.0/24"

image-20240221165719554

7.2.2. FOFA

https://fofa.info/

image-20240221165827334

语法都在界面中,可以自行去查找,不过需要注意免费的都查不了多少内容。

image-20240221165839147

7.2.3. 钟馗之眼

同样这里也是有语法说明的,这里就不在赘述。

https://www.zoomeye.org/

image-20240222082347067

7.3. ARL灯塔资产侦察系统

这里参考下面的文章即可。

ARL灯塔安装与使用

https://github.com/TophantTechnology/ARL/releases/tag/v2.6  ##下载地址

image-20240222082841286

8. APP与小程序信息收集

关于这个两个方面,我在之前都已经有涉及写过,可以去合集中寻找即可,下面就是合集的地址。

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg3MDk0OTc1Nw==&action=getalbum&album_id=2916644331212488707#wechat_redirect

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

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

相关文章

桥梁防船撞监测预警系统解决方案

一、方案概述 随着航道交通的快速发展&#xff0c;通航船舶日益增多&#xff0c;船舶超高以及偏航带来诸多安全隐患&#xff0c;时常发生桥梁受到船舶碰撞的事故&#xff0c;轻则桥梁结构和船舶受到损伤&#xff0c;重则桥梁垮塌&#xff0c;不但经济损失巨大&#xff0c;更会造…

Python | 获取命令行参数

一、sys模块 sys模块可以获取命令行参数。通过sys.argv可以访问所有命令行参数&#xff0c;返回值是包含所有命令行参数的列表。列表各元素意义如下&#xff1a; 参数1(脚本名)&#xff1a; sys.argv[0] 参数2&#xff1a; sys.argv[1] 参数3&#xff1a; sys.argv[2] ... 参数…

第五章 流程控制之循环

目录 1.1. for循环 1.1.1. 带列表的for循环 1.1.2. 不带列表的for循环 1.1.3. 基于C语言风格的for循环 1.2. while循环 1.2.1. 格式 1.2.2. while循环读取文件 1.3. until循环 1.3.1. 作用 1.4. 循环控制 1.4.1. 组成 1.4.2. 详细语法&#xff1a; 1.4.3. 示例 1…

JAVA工程师面试专题-并发编程篇

目录 一、线程 1、并发与并行的区别 2、同步和异步的区别 3、Java中创建线程有哪些方式? 4、Thread和Runnable的区别 5、Java中的Runnable、Callable、Future、FutureTask的区别和联系&#xff1f; 6、说一下你对 CompletableFuture 的理解 7、volatile关键字有什么用&…

Kubernetes 声明式API

对于声明式API来说&#xff0c;只需向系统提交一个定义好的API对象来声明资源对象的"期望状态"。然后由系统去确保资源对象从"当前状态"迁移到"期望状态"。这里的API对象是一种"意向表达&#xff08;Record of Intent&#xff09;“。创建A…

Jenkins持续集成Python项目

一、前言   之前学习了很多自动化测试框架&#xff0c;但是写的脚本都是本地执行&#xff0c;多数用来造数据。最近公司掀起一股自动化测试的风&#xff0c;所以就想研究下如何集成jenkins&#xff0c;本次采用pytest&#xff0c;用的是阿里云服务器centos7。 二、服务器环境…

1.网络游戏逆向分析与漏洞攻防-游戏启动流程漏洞-测试需求与需求拆解

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;分析接收到的对话数据包 这是一个新的篇章&#xff0c;之前是关于把我们的东西放进游戏里和内存里的数据分析与利用&#xff0c;现在是专注于网络部分&#xff0c;通过分析网络数据包得到应用程序中各…

J7 - 对于ResNeXt-50算法的思考

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 J6周有一段代码如下 思考过程 首先看到这个问题的描述&#xff0c;想到的是可能使用了向量操作的广播机制然后就想想办法验证一下&…

华清远见作业第四十二天——Qt(第四天)

思维导图&#xff1a; 编程&#xff1a; 代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTextToSpeech> //语音播报类 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public Q…

【C++精简版回顾】5.字符串

1.字符串的四种初始化方式 string str "ilove"; string str1("ilove"); string str2(str1); string str3 str1; 2.针对字符串的一些函数 &#xff08;1&#xff09;字符串长度 cout<<str.length()<<endl;&#xff08;2&#xff09;查找字…

基于qt的图书管理系统----03核心界面设计

参考b站&#xff1a;视频连接 源码github&#xff1a;github 目录 1 添加软件图标2 打包程序3 三个管理界面设计4 代码编写4.1 加载界面4.2 点击按钮切换界面4.3 组团添加样式4.4 搭建表头4.5 表格相关操作 从别人那里下载的项目会有这个文件&#xff0c;里边是别人配置的路径…

[NOI2000]单词查找树

牛客题目链接:https://ac.nowcoder.com/acm/problem/16864 题目描述: 在进行文法分析的时候&#xff0c;通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度&#xff0c;通常都要画出与单词列表所对应的单词查找树&#xff0c;其特点如下 (1). 根节点不包含…

Docker 是怎么工作的?

Docker 是怎么工作的&#xff1f; 本文转自 公众号 ByteByteGo&#xff0c;如有侵权&#xff0c;请联系&#xff0c;立即删除 Docker 是如何工作的&#xff1f; 下图展示了 Docker 的架构&#xff0c;以及当我们运行 “docker build”、"docker pull "和 "docke…

灌水:powershell 练习正则表达式

亲爱的读者们&#xff0c;请展示你们的能力&#xff1a;解析&#xff08;使用代码&#xff09;解析以下字符串 <鱼龙混杂的奇葩文件#> UI1|System.Windows.Forms.linklabel #创建用户对象 1.location.250.250 1.text.磁盘清理 1.autosize #自适应大小 #存在混淆风险…

分享一个UE的SmoothStep小技巧

SmoothStep节点可以制作更平滑的动画&#xff0c;而如果将max参数作为值传入将value和min参数作为约束&#xff0c;则可以做出类似冲击波的渐变效果&#xff1a; 并且通过修改value与min之间的数值差&#xff0c;可以调节渐变。 这个技巧主要就是可以产生硬边。 比如我们可…

Node.js的debug模块源码分析及在harmonyOS平台移植

Debug库 是一个小巧但功能强大的 JavaScript 调试工具库&#xff0c;可以帮助开发人员更轻松地进行调试&#xff0c;以便更快地发现和修复问题。它的主要特点是可以轻松地添加调试日志语句&#xff0c;同时在不需要调试时可以轻松地禁用它们&#xff0c;以避免在生产环境中对性…

【qt】类似微信扫描动画局部paint,防止cpu占用过高

实现类似微信扫码扫描效果&#xff0c;arm性能不高&#xff0c;如果直接定时器move线条的位置全局paint&#xff0c;会导致cpu占用过高&#xff0c;UI卡顿。所以需要仅仅绘制需要绘制的区域&#xff0c;减少cpu占用。 主要代码 #define MOVE_STEP 2 #define START_Y 300 #de…

使用HiveMQ实现Android MQTT

MQTT官网&#xff1a;https://mqtt.org/ 百度Android MQTT&#xff0c;或者B站上搜索&#xff0c;发现大多使用https://github.com/eclipse/paho.mqtt.android&#xff0c;这是Eclipse的一个Android MQTT客户端实现库&#xff0c;但是我发现这个库在运行到高版本的手机上时报错…

第九节HarmonyOS 常用基础组件27-Rating

1、描述 提供在给定范围内选择评分的组件。 2、接口 Rating(options?:{rating:number, indicator?:boolean}) 3、参数 参数名 参数类型 必填 描述 rating number 是 设置并接收评分值。默认值&#xff1a;0&#xff1b;取值范围[0, stars]&#xff0c;小于0取0&am…

运维SRE-17 自动化批量管理-ansible3

--- - hosts:alltasks:- name: 01 打开冰箱门shell: echo 01 >> /tmp/bingxiang.log- name: 02 把大象放进冰箱里shell: echo 02 >> /tmp/bingxiang.log- name: 03 关上冰箱门shell: echo 03 >> /tmp/bingxiang.log[rootm01 /server/ans/playbook]# cat 05-n…