【网络安全-信息收集】网络安全之信息收集和信息收集工具讲解

news2024/12/23 22:56:51

一,域名信息收集

1-1 域名信息查询

可以用一些在线网站进行收集,比如站长之家

域名Whois查询 - 站长之家站长之家-站长工具提供whois查询工具,汉化版的域名whois查询工具。icon-default.png?t=N7T8https://whois.chinaz.com/

可以查看一下有没有有用的信息,不过一些大网站优化的很好,一般没有什么可用信息的。

其他查询网站

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

1-2 SEO信息查询

站长之家可以查

可以看到一些备案信息,真实IP地址等一些信息 

 

1-3 子域名收集

首先为什么要进行子域名收集呢?因为往往网站首页或者一些主要网页安全做的很好,很难找到突破口,但是一些子网站安全不一定做的很好,所以有时候从子域名入手也是个思路,所以需要手机子域名信息

1-3-1 在线收集子域名

子域名查询 - 站长工具子域名查询icon-default.png?t=N7T8https://tool.chinaz.com/subdomain/

查到的子域名你一个个去访问一下,看看是否能访问,是否开放文本服务等 

1-3-2 子域名收集工具

2-1 JSFinder

工具下载地址:(Python写的工具,需要有Python环境)

GitHub - Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website.JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website. - GitHub - Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website.icon-default.png?t=N7T8https://github.com/Threezh1/JSFinder

需要安装模块

 pip install requests
 pip install bs4

 用法:(在JSFinder.py路径下打开终端,按住shift,鼠标右击可以看到打开终端选项)

 python JSFinder.py -u https://www.mi.com

2-2 Layer子域名挖掘机

(需要工具可以留言)

2-3 subDomainsBrute.py

需要工具可以留言,或者自行找一下,去github上搜

python  .\subDomainsBrute.py www.baigui.cloud
2-4 oneforall.py
python .\oneforall.py --target mi.com run  
 2-5 用Python自己写个脚本
5-1 ping命令+ 域名字典进行收集
## 基于ping 进行子域名扫描
import os
def ping_domain(P_domain):
	## xxx是二级域名字典
	with open('xxx') as f:
		domain_list = f.readlines()

	for domain in domain_list:
		full_domain = f'{domain.strip()}.{P_domain}'
		result = os.popen(f'ping -n 1 -w 1000 {full_domain}').read()
		if '请求超时' in result or "TTL=" in result:
			print(f'{full_domain} 存在')
		if "找不到主机" not in result:
			print(f'{full_domain} 存在')
5-2 基于socket库
import socket
## 基于socket库DNS解析记录实现扫描
def socket_domain(P_domain):
	## 读取域名字典文件
	with open('xxx') as f:
			domain_list = f.readlines()
	for domain in domain_list:
		try:
			full_domain = f'{domain.strip()}.{P_domain}'
			ip = socket.gethostbyname(full_domain)  
			## 如果这个域名存在则会返回IP地址,不存在报 socket.gaierror
			print(f"{ip} ------  {full_domain}")
		except socket.gaierror:
			pass
		except:
			pass

1-4  备案号和ssl证书查询子域名

1-4-1 域名备案信息查询

ICP备案查询 APP备案 小程序备案 - 站长工具通过域名可查询该域名是否有备案及相关的ICP备案许可信息。通过名称查询APP备案信息和小程序备案,快应用备案信息。icon-default.png?t=N7T8https://icp.chinaz.com/

1-4-2 ICP备案号查询

https://beian.miit.gov.cn/icon-default.png?t=N7T8https://beian.miit.gov.cn/ 

 有了备案号,可以通过备案号查询这个公司的其他备案的子域名

1-4-3 ssl证书查询

SSL状态检测本站提供的SSL状态检测工具,可以检测出证书详细信息、证书链详细信息、当前支持协议、加密套件详细信息,可以为您的服务器证书部署状态提供最详细说明,如果你的证书部署状态存在缺陷,我们还提供了详细的建议信息,协助你配置出最安全的SSL站点。icon-default.png?t=N7T8https://myssl.com/ssl.html

SSL证书在线检测工具-中国数字证书CHINASSLSSL证书在线检测工具-中国数字证书CHINASSLicon-default.png?t=N7T8https://www.chinassl.net/ssltools/ssl-checker.html

二,真实IP信息收集

为什么要找网站真实IP呢,因为网站有可能使用CDN服务器来进行加速,相当于说CDN服务器也缓存了一份服务器的数据,网站数据是从CDN服务器获取的,这样的话我们需要找出网站的真实IP来找出网站自己的真实服务器,所以我们需要找到网站的真实IP。要不然不找到真实IP,直接进行攻击,很有可能我们攻击的是CSDN服务器,

 有了CDN服务器加速以后,客户端只要到离自己最近的一个CDN服务器拿数据即可,这样网站访问速度会提高,但是我们要攻击的是网站的真实服务器,不是CDN服务器,那么就需要找出真实IP

如何判断有没有CDN加速呢? 下面有几种方法?

2-1 超级ping

原理:如果有了CDN加速的话,不同地方的客户端都会去离子最近的CND服务器去拿资源,所以你在新疆,海南,北京.....不同地方Ping对方服务器,拿到的IP不一样。如果没有CDN加速的话,你ping 对方服务器,无论你在哪里,都会去找真实服务器拿资源,ping出来的IP都一样

多个地点Ping服务器,网站测速 - 站长工具通过该工具可以多个地点Ping服务器以检测服务器响应速度。icon-default.png?t=N7T8https://ping.chinaz.com/

全国各地对域名进行ping 最后ping出来的只有一个IP,说明没有用CDN加速 

模拟全国各地进行ping 得到8个IP地址,说明很有可能使用了DNS加速

2-2 终端ping

上面看到的IP很有可能是真实IP,不过需要确认。

 

 2-3  nslookup(windows)

是查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题的工具,通过它也可以尝试获取一个域名对应的ip地址

命令格式:nslookup domain[dns-server]
示例:
    nslookup ainiai.top
还可以指定查询的DNS记录类型
命令格式:
	nslookup -qt=type domain[dns-server]
示例:
	nslookup -qt=CNAME ainiai.top

 2-4 dig(Linux)

Dig是一个在linux命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。也能探测到某个域名对应的ip地址。dig 最基本的功能就是查询域名信息

dig ainiai.top

 2-5 CDN绕过工具

2-5-1 使用工具绕过,效果不佳

## 工具1:fuckcdn
https://github.com/Tai7sy/fuckcdn

## 工具2:w8fuckcdn
https://github.com/boy-hack/w8fuckcdn

2-5-2 DNS历史解析

这种历史记录查询,有可能能够找到它没有使用cdn之前的真实ip地址

可以用如下网站试一试。我就不试了

https://x.threatbook.com/v5/domain/wulaoban.top
https://dnsdb.io/zh-cn/ ###DNS查询
https://x.threatbook.cn/ ###微步在线
http://toolbar.netcraft.com/site_report?url=www.wulaoban.top ###在线域名信息查询
http://viewdns.info/ ###DNS、IP等查询
https://tools.ipip.net/cdn.php ###CDN查询IP
https://securitytrails.com/domain/wulaoban.top/dns

三,旁站和C段

3-1 什么是旁站?

旁站:一般是指的是同ip,也就是同服务器下的不同站点,比如我们前面使用IIS部署了多个网站在同一个ip下。

比如一个服务192.168.31.20 分别用三个端口部署了三个网站

192.168.31.20:80

192.168.31.20:81

192.168.31.20:82 

3-2 什么是C段 ? 

比如在:127.127.127.4 这个IP上面有一个网站 127.4 这个服务器上面有网站我们可以想想..他是一个非常大的站几乎没什么漏洞!但是在他同C段 127.127.127.1~127.127.127.255 这 1~255 上面也有服务器而且也有网站并且存在漏洞,那么我们就可以来渗透 1~255任何一个站 之后提权来嗅探得到127.4 这台服务器的密码 甚至3389连接的密码后台登录的密码 如果运气好会得到很多的密码…

简单来讲就是一个大的公司可能在一个IP段买了很多连号服务器 ,这些服务器就是C段

3-3 IISPutScanner

用来收集旁站和C段(需要工具请留言)

四,收集端口和服务

4-1 常用端口

这些端口需要记住,很多都是很常用的

ftp           21
ssh\sftp     22
telnet   23 # 很多交换机、路由器会用到telnet来进行管理,主要是用来做远程主机管理的
smtp     25 # 发邮件
pop3     110 # 收邮件
dns     53
smb     445 # 微软的文件共享,netstat -an -p tcp|findstr "LISTENING" windows必开,139端口也是windows做共享的
https   443
http     80
apache   80 443
nginx   80 443
tomcat   8080
weblogic 7001
mysql 3306
mssql 1433
oracle 1521
postgresql 5432
redis 6379
mongdb 27017
vnc 5900 # 远程控制工具
IIS   80
jboss 8080
rdp == remote desktop protocol 3389

4-2 nmap工具扫描

这个工具kali上自带,可以直接在命令行使用

Windows的话需要下载,我已经下载并配置好了环境变量

nmap工具的详细使用步骤我写了一篇博客详细讲了,请看下面这篇博客

nmap工具的使用_ANii_Aini的博客-CSDN博客扫描网段判断存活主机;扫描端口;扫描操作系统;基于三次握手去扫描;基于ACK包进行探测https://blog.csdn.net/m0_67844671/article/details/132805990?spm=1001.2014.3001.5502可以简单用以下,比如判断一个IP段的存活主机

 收集一个主机开放的端口和服务

4-3 自己编写的Python脚本

4-3-1 基于单线程找开放端口

## 端口扫描
## 对目标IP进行进行端口扫描,尝试连接IP和端口
# 单线程
import socket
def socket_port(ip):
	for port in range(1,100):
		try:
			s = socket.socket()
			s.settimeout(0.1)
			s.connect((ip,port))
			print(f'端口:-----{port}可用 ----------- yes')
		except socket.timeout:
			pass
		except:
			pass

4-3-2 基于多线程找开放端口

# 基于多线程进行端口扫描
import socket
def socket_port_thread(ip,start):
	for port in range(start,start+50):
		try:
			s = socket.socket()
			s.settimeout(0.01)
			s.connect((ip,port))
			print(f'端口:-----{port}可用 ----------- yes')
		except:
			pass

from threading import Thread
port_list = [22,25,80,443,3306,1521]
if __name__ == "__main__":
	# socket_port('192.168.31.162')
	for i in range(1,10000,50):
		Thread(target=socket_port_thread,args=('192.168.31.160',i)).start()

4-3-3 优化

## 优化思路:对常用端口进行优先扫描
import socket
import time

def socket_port_noramal(ip):
	list = [7,21,22,23,25,53,67,68,69,79,80,81,88,109,110,113,135,137,138,139,143,161,162,179,194,220,389,443,445,465,513,520,546,547,554,563,631,636,991,993,995,1080,1194,1433,1434,1494,1521,1701,1723,1755,1812,1813,1863,3269,3306,3307,3389,3544,4369,5060,5061,5355,5432,5671,5672,6379,7001,8080,8081,8088,8443,8883,8888,9443,9988,15672,50389,61613,61614]
	for port in list:
		try:
			s = socket.socket()
			s.settimeout(0.01)
			s.connect((ip,port))
			print(f'端口:-----{port}可用 ----------- yes')
		except:
			pass

if __name__ == "__main__":
	socket_port_noramal('192.168.31.162')

 4-3-4 用Python进行IP扫描

4-1 Ping扫描
## 如果要内网渗透,则必须要知道哪些IP地址是存活的,可访问的
## IP地址工作在IP层,ICMP,ARP协议也存在IP信息
## 先使用ping 命令进行IP探测,不过一旦防火墙禁止ICMP协议,那么也会扫不出来
import socket,threading,os
def ping_ip():
	for i in range(1,255):
		ip = f'192.168.31.{i}'
		res = os.popen(f'ping -n 1 -w 100 {ip}').read()
		if 'TTL=' in res:
			print(f'ip {ip} online')

		## 第二种过滤,直接在命令里过滤
		# res = os.popen(f'ping -n 1 -w 100 {ip} | findstr TTL=').read()
		# if len(res) > 0:
		# 	print(f'ip {ip} online')
ping_ip()
4-2 基于ARP协议
2-1 单线程
import scapy
from scapy.layers.l2 import ARP
from scapy.sendrecv import sr1

## 设置日志级别,不让错误信息打印出来
import logging
logging.getLogger('scary.runtime').setLevel(logging.ERROR)

def scapy_ip():
	for i in range(1,255):
		ip = f'192.168.31.{i}'
		try:
			pkg = ARP(psrc='192.168.31.17', pdst=ip)
			reply = sr1(pkg, timeout=3, verbose=False)
			print(f'IP {ip} online ----- {reply[ARP].hwsrc} ')
		except:
			pass

if __name__ == '__main__':
	scapy_ip()
 2-2 多线程
import threading
from scapy.layers.l2 import ARP
from scapy.sendrecv import sr1
import scapy

## 设置日志级别,不让错误信息打印出来
import logging
logging.getLogger('scapy.runtime').setLevel(logging.ERROR)

def scapy_ip(start):
	for i in range(start,start+20):
		ip = f'192.168.31.{i}'
		try:
			pkg = ARP(psrc='192.168.31.17', pdst=ip)
			reply = sr1(pkg, timeout=3, verbose=False)
			print(f'IP {ip} online ----- {reply[ARP].hwsrc} ')
		except:
			pass

if __name__ == '__main__':
	for i in range(1,255,20):
		threading.Thread(target=scapy_ip,args=(i,)).start()
2-3 扫描端口 
## 基于半链接,SYN / SYN,ACK / RA等标志位来对端口进行判断
## 如果目标端口开放,则 SYN -> SYN,ACK; 如果目标端口未开放,则SYN -> RA

import threading

from scapy.layers.inet import IP, TCP
from scapy.layers.l2 import ARP
from scapy.sendrecv import sr1
import scapy

## 设置日志级别,不让错误信息打印出来
import logging
logging.getLogger('scapy.runtime').setLevel(logging.ERROR)

def scapy_port(ip):
	# 通过指定源IP地址,可以进行IP欺骗,进而导致半链接,此列操作也可以用于flags参数定义上
	for port in range(20,100):
		try:
			pkg = IP(src = '192.168.31.17', dst = ip)/TCP(dport=port,flags='S')
			reply = sr1(pkg,timeout=1,verbose=False)
			res = reply[TCP].flags
			if res == 0x12:
				print(f"{port} 开放")
		except:
			pass

scapy_port('192.168.31.162')

五,收集敏感信息

5-1 目录信息收集

5-1-1 7kbscan工具检测

可以用默认字典,也可以指定字典,只要字典足够强大,可以收集到很多目录

比如下面发现了有一个phpmyadmin 这个是后台数据库登录页面,可以使用爆破登录或者弱口令登录等方式尝试进行攻击

 除此之外有可能收集到源代码备份目录,git仓库目录,或者一些重要配置文件等重要目录

5-1-2  dirsearch工具 

这是一款Python写的工具,需要有Python环境

下面是简单使用收集目录,详细使用方法自己收集一下资料

-u   制动URL地址

-e   指定服务端编程语言

python3 .\dirsearch.py -u 192.168.31.162/pikachu -e php

 5-1-3 kali  dirbuster工具

六,综合信息收集

6-1 Google hack高级收集

Google搜索引擎之所以强大,关键在于它详细的搜索关键词,以下是几个常用的搜索关键词

inurl:  ## 用于查找含有该值的所有url网址网页。例:inurl:mail(可找一些免费邮箱)
related::## 找出和该网址类似的网站,比如想知道和amazon.com类似的大型网络书店有哪些时输入amazon.com网址。例:related:amazon.com

intext: ## 只搜索网页部分中包含的文字(也就是忽略了标题,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 内部
site:xxx.xxx 系统
site:xxx.xxx 邮件
site:xxx.xxx email
site:xxx.xxx qq
site:xxx.xxx 群
site:xxx.xxx 企鹅
site:xxx.xxx 腾讯
site:ooxx.com

练习

intext:管理
fietype:mdb ## 找到含有mdb类型文件的相关站点
site:baidu.com filetype:txt ### 查找百度这个域名下含有txt文件的相关站点
site:baidu.com intext:## 管理
site:baidu.com inurl:login
site:baidu.com intitle:## 后台
# 一般用于查找百度中能够找到的通过php、asp、jsp等语言开发的网站
site:baidu.com filetype:asp
site:baidu.com filetype:php
site:baidu.com filetype:jsp
site:baidu.com inurl:file # 这个一般用来找一些有上传文件动作的网站,之后可以检测是否有上传
文件漏洞。
# 查找某些国家或者地区的通过asp或php等语言开发的站点。
site:tw inurl:asp?id=   #查找台湾的相关网站的url中包含asp?id=这些关键字的站点
site:hk inurl:asp?id=   #查找香港的相关网站的url中包含asp?id=这些关键字的站点

6-2 FOFA

网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统FOFA 是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。icon-default.png?t=N7T8https://fofa.info/

查询语法自己了解一下,我不多说,可以搜一下一个IP看看

6-3 钟馗之眼

ZoomEye - Cyberspace Search Engineicon-default.png?t=N7T8https://www.zoomeye.org/

 查询语法自己了解一下,我不多说

6-4 ARL灯塔资产侦查系统

6-4-1 Docker 启动

需要有docker环境,可以参考下面这篇文章进行安装和学习docker相关知识

docker及docker命令详解_ANii_Aini的博客-CSDN博客docker及docker命令详解;docker是一个软件,是一个运行与linux和windows上的软件,用于创建、管理和编排容器;docker平台就是一个软件集装箱化平台,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,也可以实现虚拟化,并且容器之间不会有任何接口;https://blog.csdn.net/m0_67844671/article/details/132872790?spm=1001.2014.3001.5502

git clone https://github.com/TophantTechnology/ARL
cd ARL/docker/
docker volume create arl_db
docker-compose pull
docker-compose up -d 

6-4-2 docker-compose配置文件启动

mkdir docker_arl
wget -O docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.5.4/docker.zip
cd docker_arl
unzip -o docker.zip
docker-compose pull
docker volume create arl_db
docker-compose up -d

 6-4-3 用压缩包进行安装

(需要压缩包请留言,我可以分享)

unzip ARL-master   ## 进行解压缩
cd ARL-master
docker volume create arl_db
cd docker
docker-compose up -d 

安装完成以后可以访问了,5003端口

192.168.31.150:5003端口 

默认账号密码 admin/arlpass 

登录以后可以看到有非常多的功能

比如收集子域名 

任务列表------> 添加任务

 看到done,然后可以导出报告了 

 

可以自己多研究研究 

3-1 任务选项说明
编号选项说明
1任务名称任务名称
2任务目标任务目标,支持IP,IP段和域名。可一次性下发多个目标
3域名爆破类型对域名爆破字典大小, 大字典:常用2万字典大小。测试:少数几个字典,常用于测试功能是否正常
4端口扫描类型ALL:全部端口,TOP1000:常用top 1000端口,TOP100:常用top 100端口,测试:少数几个端口
5域名爆破是否开启域名爆破
6DNS字典智能生成根据已有的域名生成字典进行爆破
7域名查询插件已支持的数据源为12个,alienvault, certspotter,crtsh,fofa,hunter
8ARL 历史查询对arl历史任务结果进行查询用于本次任务
9端口扫描是否开启端口扫描,不开启站点会默认探测80,443
10服务识别是否进行服务识别,有可能会被防火墙拦截导致结果为空
11操作系统识别是否进行操作系统识别,有可能会被防火墙拦截导致结果为空
12SSL 证书获取对端口进行SSL 证书获取
13跳过CDN对判定为CDN的IP, 将不会扫描端口,并认为80,443是端口是开放的
14站点识别对站点进行指纹识别
15搜索引擎调用利用搜索引擎搜索下发的目标爬取对应的URL和子域名
16站点爬虫利用静态爬虫对站点进行爬取对应的URL
17站点截图对站点首页进行截图
18文件泄露对站点进行文件泄露检测,会被WAF拦截
19Host 碰撞对vhost配置不当进行检测
20nuclei 调用调用nuclei 默认PoC 对站点进行检测 ,会被WAF拦截,请谨慎使用该功能
3-2 配置参数说明

Docker环境配置文件路径 docker/config-docker.yaml

配置说明
CELERY.BROKER_URLrabbitmq连接信息
MONGOmongo 连接信息
QUERY_PLUGIN域名查询插件数据源Token 配置
GEOIPGEOIP 数据库路径信息
FOFAFOFA API 配置信息
DINGDING钉钉消息推送配置
EMAIL邮箱发送配置
GITHUB.TOKENGITHUB 搜索 TOKEN
ARL.AUTH是否开启认证,不开启有安全风险
ARL.API_KEYarl后端API调用key,如果设置了请注意保密
ARL.BLACK_IPS为了防止SSRF,屏蔽的IP地址或者IP段
ARL.PORT_TOP_10自定义端口,对应前端端口测试选项
ARL.DOMAIN_DICT域名爆破字典,对应前端大字典选项
ARL.FILE_LEAK_DICT文件泄漏字典
ARL.DOMAIN_BRUTE_CONCURRENT域名爆破并发数配置
ARL.ALT_DNS_CONCURRENT组合生成的域名爆破并发数
PROXY.HTTP_URLHTTP代理URL设置
3-3 忘记密码重置

当忘记了登录密码,可以执行下面的命令,然后使用 admin/admin123 就可以登录了。

docker exec -ti arl_mongodb mongo -u admin -p admin
use arl
db.user.drop()
db.user.insert({ username: 'admin',  password: hex_md5('arlsalt!@#'+'admin123') })

 今天的内容差不多就这些,需要工具或者有不懂的可以留言

欢迎技术交流,如果有错误希望能留言指正

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

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

相关文章

NPDP产品经理知识(产品设计与开发工具)

1.复习产品创新流程 -- 系统工程 -- 设计思维(DESIGN THINKING) -- 精益创业(LEAN STARTUP) 精益创业关键要素:BML -- 产品创新流程模型的比较: 2.产品设计与开发工具 2-1 创意生成阶段&#xff1a…

物流项目学习总结(在更)

物流项目的分类 技术架构图(面试时面试官会要求你画出技术架构图) 功能结构图 业务功能流程 流程说明: 用户在【用户端】下单后,生成订单 系统会根据订单生成【取件任务】,快递员上门取件后成功后生成【运单】 用户对…

【项目开发 | C语言项目 | C语言病人管理系统】

该项目旨在为医院或其他医疗机构提供一个简易的病人信息管理工具。用户可以通过命令行界面进行病人信息的增、删、查和改操作,并将数据持久化存储在txt文件中。 一,开发环境需求 操作系统 :Windows, Linux 开发环境工具 :Qt, VSC…

什么是数字资产?(修订精编版)

修订说明 整整三年前,2020 年 10 月 7 日,我在本公众号里发表了《什么是数字资产?》一文。这篇文章是我们三位作者长达两个月思考的结果,也可以说是 Solv 创新旅程的起点。这篇文章通过对比数字世界与现实世界里的凭证类型&#x…

[论文工具] LaTeX常见错误及解决方法汇总笔记(eps2pdf失败 | 特殊符号 | 参考文献未显示或越界)

祝大家中秋国庆双节快乐! 回过头来,我们在编程过程中,经常会遇到各种各样的问题。然而,很多问题都无法解决,网上夹杂着各种冗余的回答,甚至需要看自己多年前的博客来解决。为更好地从事科学研究和编程学习&…

免费服务器搭建网盘教程,给电脑挂载500G磁盘

免费服务器搭建网盘教程,给电脑挂载500G磁盘 请勿注册下载,注册下载是空白文件,使用免登录下载 免费搭建网盘教程,给电脑挂载500G磁盘 其他按照下载教程操作教程代码: 下载下来的文件pancn 文件拖到您创建的容器 手机的话点击…

linux内核分析:网络协议栈

从本质上来讲,所谓的建立连接,其实是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,并用这样的数据结构来保证面向连接的特性。TCP 无法左右中间的任何通路,也没有什么虚拟的连接,中间的通路根本意识不到两端使用了 TCP 还是 UDP。 所谓的连接…

触摸屏驱动

驱动框架 多点电容触摸芯片的接口,一般都为 I2C 接口,因此驱动主框架肯定是 I2C。 当设备树中触摸 IC的设备节点和驱动匹配以后 。进入probe入口函数。在此函数中初始化触摸 IC,中断和 input 子系统等 linux 里面一般都是通过中断来上报触…

PTrade获取交易日期——时间相关函数1

本系列文章将笔者平时在使用ptrade进行策略开发中使用到的与日期相关的函数进行记录,以便大家参考并一同改进优化。 如果读者还有其他日期相关的函数实现需求,也可以留言,大家一起讨论补充。 首先看一下ptrade提供的get_trading_day函数的用…

vivado杂项记录

文章目录 问题的解决Xilinx Vitis 启动时未响应的解决方法Spawn failed:No error错误vivado卡在Initializing Language Server的解决方法vivado中添加文件后出现non-module 其他关于MAX_FANOUT属性vviado 2018.3中IP的core container 问题的解决 Xilinx Vitis 启动…

typescript 分析泛型工具类Partial的实现原理理解索引查询类型

Partial实现原理 在 TypeScript 中,Partial 是一个非常有用的工具类型,它能够将一个对象类型的所有属性变为可选。Partial 的实现原理是通过使用映射类型(Mapped Type)和 keyof 关键字来实现的。 下面我们来看一下 Partial 的实现…

System Generator初体验FIR滤波器

文章目录 前言一、介绍1、目标2、过程 二、步骤 1&#xff1a;在 FPGA 中创建设计1、打开 Lab1_1.slx 文件2、运行仿真3、使用 System Generator 创建 FIR 滤波器<1>、从库浏览器寻找需要的模块<2>、配置系统生成器块<3>、在 FPGA 上实现设计 三、步骤 2&…

第一章 函数 极限 连续(解题方法须背诵)

&#xff08;一&#xff09;求极限的常用方法 方法1 利用有理运算法则求极限 方法2 利用基本极限求极限 方法3 利用等价无穷小求极限 方法4 利用洛必达法则求极限 方法5 利用泰勒公式求极限 方法6 利用夹逼准则求极限 方法7 利用定积分的定义求极限 方法8 利用单调有界…

JMeter界面和字体的调整

一、界面直接调整 二、调整界面比例&#xff08;分辨率&#xff09; jmeter.hidpi.modetrue jmeter.hidpi.scale.factor2.0用记事本打开 将如下代码中的第一行和第五行的注释去掉即可 #jmeter.hidpi.modetrue # HiDPI scale factor #jmeter.hidpi.scale.factor1.0 # Suggeste…

sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第三周测验

课程1_第3周_测验题 目录&#xff1a;目录 第一题 1.以下哪一项是正确的&#xff1f; A. 【  】 a [ 2 ] ( 12 ) a^{[2](12)} a[2](12)是第12层&#xff0c;第2个训练数据的激活向量。 B. 【  】X是一个矩阵&#xff0c;其中每个列都是一个训练示例。 C. 【  】 a 4 […

互联网Java工程师面试题·MyBatis 篇·第一弹

目录 1、什么是 Mybatis&#xff1f; 2、Mybaits 的优点 3、MyBatis 框架的缺点 4、MyBatis 框架适用场合 5、MyBatis 与 Hibernate 有哪些不同&#xff1f; 6、#{}和${}的区别是什么&#xff1f; 7、当实体类中的属性名和表中的字段名不一样 &#xff0c;怎么办 &#x…

ERROR 6400 --- [ main] com.zaxxer.hikari.pool.HikariPool : root - Exception

在引用的日志中&#xff0c;报告了Hikari连接池初始化期间的异常。具体异常信息是"Exception during pool initialization"。这个异常可能是由于与MySQL数据库的通信链接失败导致的。在引用中也提到了与SSL连接相关的错误。 根据引用中提供的代码&#xff0c;可以看到…

docker方式启动一个java项目-Nginx本地有代码,并配置反向代理

文章目录 案例导入说明1.安装MySQL1.1.准备目录1.2.运行命令1.3.修改配置1.4.重启 2.导入SQL3.导入Demo工程3.1.分页查询商品&#xff08;仔细看代码&#xff0c;很多新的MP编程技巧&#xff09;3.2.新增商品3.3.修改商品3.4.修改库存3.5.删除商品3.6.根据id查询商品3.7.根据id…

html 高性能 简易轮播图

目标 实现简易轮播图动画效果 设计理念 无论有多少个轮播图&#xff0c;仅使用常数个轮播图tab&#xff0c;通过js替换更新dom内容&#xff0c;实现性能优化&#xff1b;使用bfc避免回流&#xff0c;&#xff08;重绘是基本上无法避免&#xff0c;不在考虑&#xff09;&#…

CompletableFuture异步回调

CompletableFuture异步回调 CompletableFutureFuture模式CompletableFuture详解1.CompletableFuture的UML类关系2.CompletionStage接口3.使用runAsync和supplyAcync创建子任务4.设置子任务回调钩子5.调用handle()方法统一处理异常和结果6.线程池的使用 异步任务的串行执行thenA…