amass:深入攻擊面映射和資產發現工具!全參數詳細教程!Kali Linux教程!

簡介

OWASP Amass 項目使用開源信息收集和主動偵察技術執行攻擊面網絡映射和外部資產發現。

此軟件包包含一個工具,可幫助信息安全專業人員使用開源信息收集和主動偵察技術執行攻擊面網絡映射并執行外部資產發現。

使用的信息收集技術

技術數據來源
APIs(應用程序接口)360PassiveDNS, Ahrefs, AnubisDB, BeVigil, BinaryEdge, BufferOver, BuiltWith, C99, Chaos, CIRCL, DNSDB, DNSRepo, Deepinfo, Detectify, FOFA, FullHunt, GitHub, GitLab, GrepApp, Greynoise, HackerTarget, Hunter, IntelX, LeakIX, Maltiverse, Mnemonic, Netlas, Pastebin, PassiveTotal, PentestTools, Pulsedive, Quake, SOCRadar, Searchcode, Shodan, Spamhaus, Sublist3rAPI, SubdomainCenter, ThreatBook, ThreatMiner, URLScan, VirusTotal, Yandex, ZETAlytics, ZoomEye
Certificates(證書)Active pulls (可選), Censys, CertCentral, CertSpotter, Crtsh, Digitorus, FacebookCT
DNS(域名系統)Brute forcing, Reverse DNS sweeping, NSEC zone walking, Zone transfers, FQDN alterations/permutations, FQDN Similarity-based Guessing
Routing(路由)ASNLookup, BGPTools, BGPView, BigDataCloud, IPdata, IPinfo, RADb, Robtex, ShadowServer, TeamCymru
Scraping(爬取)AbuseIPDB, Ask, Baidu, Bing, CSP Header, DNSDumpster, DNSHistory, DNSSpy, DuckDuckGo, Gists, Google, HackerOne, HyperStat, PKey, RapidDNS, Riddler, Searx, SiteDossier, Yahoo
Web Archives(Web 檔案庫)Arquivo, CommonCrawl, HAW, PublicWWW, UKWebArchive, Wayback
WHOIS((讀作“Who is”,而非縮寫)是用來查詢互聯網中域名的IP以及所有者等信息的傳輸協議。)AlienVault, AskDNS, DNSlytics, ONYPHE, SecurityTrails, SpyOnWeb, WhoisXMLAPI

安裝

二進制文件安裝

通過以下命令來獲取文件的壓縮包。

wget https://github.com/owasp-amass/amass/releases/download/v4.1.0/amass_Linux_amd64.zip

通過 ls 命令可以看到已經下載成功了,出現了一個 zip 的文件,解壓縮這個文件。解壓完成后會出現一個文件夾。

ls
unzip unzip amass_Linux_amd64.zip
ls

進入目錄并查看

cd amass_Linux_amd64/
ls

運行以下命令,如果出現這個界面,就說明安裝成功了。

./amass -h

Docker安裝

通過以下命令克隆項目源碼,建議請先提前掛好代理。

git clone https://github.com/owasp-amass/amass.git

進入目錄并查看

cd amass
ls

拉取 golang 鏡像

sudo docker pull golang:1.19-alpine

?

拉取?alpine 鏡像

sudo docker pull alpine

?

修改一下Dockerfile,添加上代理。建議加代理,不然可能會報錯不成功。

#用 vim 工具去編輯文件。
vim Dockerfile#在代碼
FROM golang:1.19-alpine as build
#后面添加上ARG HTTP_PROXY
ARG HTTPS_PROXYENV HTTP_PROXY=${HTTP_PROXY}
ENV HTTPS_PROXY=${HTTPS_PROXY}
ENV http_proxy=${HTTP_PROXY}
ENV https_proxy=${HTTPS_PROXY}

構建 Docker 鏡像

sudo docker build --build-arg HTTP_PROXY=http://ip地址:端口 --build-arg HTTPS_PROXY=http://ip地址:端口 -t amass .

輸入以下命令,如果出現這個界面的話,就說明安裝成功了。

sudo docker run -it amass -h

源碼安裝

確保您已正確配置 Go 1.14 及以上版本的環境。如果還未安裝的話,可以通過以下命令來進行安裝

sudo apt install golang -y

驗證版本

go version

克隆項目源碼并進入目錄

git clone https://github.com/owasp-amass/amass.git
cd amass
ls

為 go 配置國內代理

go env -w GOPROXY=https://goproxy.cn
go env

安裝

go install ./...

安裝完成后,生成的可執行文件在 go/bin 文件夾里面。

cd go/bin/
ls

運行以下命令,如果出現這個界面就說明安裝成功了。

./amass -h

APT 包管理器安裝

Kali Linux 默認已經安裝好 amass 工具了。如果還未安裝的話,也可以通過以下命令來進行安裝

sudo apt install amass

使用

1.?-h

顯示程序使用信息

amass -h

2. -help

顯示程序使用信息

amass -help

?

3. -version

打印此 Amass 二進制文件的版本號

amass -version

注意:amass的字典文件位于

amass/examples/wordlists

子命令

amass 包含 5 個子命令,換句話說,就是功能:

  • amass intel——發現枚舉目標
  • amass enum——執行枚舉和網絡映射
  • amass viz——可視化枚舉結果
  • amass track——跟蹤枚舉之間的差異
  • amass db——操作 Amass 圖形數據庫

在某些情況下,Amass 的子命令可以結合使用,這允許您創建執行多個 Amass 操作的腳本。

作為其子域名發現和信息收集技術的一部分,它支持 55 個來源,例如 API 和網站。

它采用各種信息收集技術進行 DNS 枚舉

  • 使用域名詞表和修改詞表對子域名進行暴力破解
  • 通過讀取 SSL/TLS 證書、執行 DNS 區域傳輸或檢查證書透明度日志來識別子域名
  • 在已識別的域名上進行遞歸子域名發現
  • 使用 Hashcat 風格的掩碼對子域名進行暴力破解(如果您擁有關于命名約定等的內部信息,這將非常有用)

可以使用配置文件進行配置,這使得它易于維護、使用或與腳本集成

Amass Intel

Amass intel 子命令(或者說模塊)可以幫助收集有關該組織的開源情報,并允許你查找與該組織相關的更多根域名。要查看此子命令的可用選項,只需在終端中輸入:

amass intel

?

此時或許值得一提的是,Amass 的另一個重要優勢是所有子命令都會嘗試保持參數的一致性。

此子命令默認會使用多種信息收集技術和數據源,例如 WHOIS 和 IPv4Info,以獲取組織擁有的情報和父域名,除非在 Amass 的配置文件中明確禁用這些功能。

1.?-h

顯示程序使用信息

amass intel -h

2. -help

顯示程序使用信息

amass intel -help

3.?-active

嘗試獲取證書名稱

amass intel -active -whois -d kali.org

4.?-addr value

IP 地址和地址范圍 (192.168.1.1-254),以逗號分隔

5. -asn value

ASN 以逗號分隔(可多次使用)

6. -cidr value

CIDR 以逗號分隔(可多次使用)

amass intel -active -whois -d owasp.org -addr 104.22.26.77 -asn 14993 -cidr 104.22.26.0/24

7. -config string

YAML 配置文件的路徑。以下為更多詳細信息

amass intel -config examples/config.yaml -whois -d kali.org

8.?-d value

域名以逗號分隔(可多次使用)

amass intel -whois -d owasp.org,kali.org

9.?-demo

審查輸出以使其適合演示

amass intel -demo -whois -d owasp.org,kali.org

10.?-df value

提供根域名的文件路徑

amass intel -whois -df domains.txt

11.?-dir string

包含輸出文件的目錄路徑

amass intel -whois -d kali.org -dir output

12.?-ef string

提供要排除的數據源的文件路徑

amass intel -whois -d kali.org -ef exclude.txt

13.?-exclude value

要排除的數據源名稱以逗號分隔

amass intel -whois -d kali.org -exclude Shodan

14.?-if string

提供要包含的數據源的文件路徑

amass intel -whois -d kali.org -if include.txt

15.?-include value

要包含的數據源名稱以逗號分隔

amass intel -whois -d kali.org -include Shodan

16.?-ip

顯示已發現名稱的 IP 地址

amass intel -whois -d kali.org -ip

17.?-ipv4

顯示已發現名稱的 IPv4 地址

amass intel -whois -d kali.org -ipv4

18.?-ipv6

顯示已發現名稱的 IPv6 地址

amass intel -whois -d kali.org -ipv6

19.?-list

打印附加信息

amass intel -list

20.?-log string

將寫入錯誤的日志文件路徑

amass intel -whois -d kali.org -log errors.log

21.?-max-dns-queries int

最大并發 DNS 查詢數

amass intel -whois -d kali.org -max-dns-queries 10

22.?-o string

包含終端 stdout/stderr 的文本文件路徑

amass intel -whois -d kali.org -o result.txt

23.?-org string

針對 AS 描述信息提供的搜索字符串

amass intel -org "Bing"

24.?-p value

端口號(以逗號分隔)(默認值:80, 443)

amass intel -active -whois -d kali.org -p 80,443

25.?-r value

首選 DNS 解析器的 IP 地址(可多次使用)

amass intel -whois -d kali.org -r 114.114.114.114

26.?-rf value

提供首選 DNS 解析器的文件路徑

amass intel -whois -d kali.org -rf resolvers.txt

27.?-timeout int

退出前允許枚舉運行的分鐘數

amass intel -whois -d kali.org -timeout 3

28.?-v

輸出狀態/調試/故障排除信息

29.?-whois

所有提供的域名均通過反向 whois 查詢

amass intel -v -whois -d kali.org

Amass Enum

Amass 的大部分強大功能都集中于此。Amass 枚舉允許您執行目標的 DNS 枚舉和映射,以確定組織暴露的攻擊面。枚舉結果存儲在圖形數據庫中,該數據庫將位于 Amass 的默認輸出文件夾中,或使用“-dir”標志指定的輸出目錄中。其他 Amass 子命令也是如此。

Amass 枚舉可以在被動或主動配置模式下執行。被動模式速度更快,但 Amass 不會驗證 DNS 信息,例如通過解析子域名。您可以使用“-passive”標志被動運行它,但您將無法啟用許多技術或配置,例如 DNS 解析和驗證。有時選擇被動模式而不是主動模式有幾個原因,例如:

  • 您需要了解所有已使用且將來可能重復使用的子域名,這可能是因為您需要持續監控目標的攻擊面以發現變化,或者因為您正在進行網絡釣魚攻擊并尋找子域名。
  • 您的周邊安全測試流程會在后期驗證 DNS 信息,并且需要快速獲得 Amass 的結果。
  • 由于安全活動的限制或要求,您只能執行被動信息收集。

1.?-h

顯示程序使用情況消息

2. -help

顯示程序使用情況消息

amass enum -h

3.?-active

嘗試區域傳輸和證書名稱抓取

4.?-addr value

IP 地址和地址范圍 (192.168.1.1-254),以逗號分隔

amass enum -d owasp.org -addr 192.168.174.1-255

5.?-alts

啟用更改名稱生成

amass enum -d owasp.org -alts

6.?-asn value

ASN 以逗號分隔(可多次使用)

amass enum -d owasp.org -asn 23333

7.?-aw value

用于更改名稱的不同詞表文件的路徑

amass enum -d owasp.org -aw /usr/share/amass/wordlists/subdomains.lst

8.?-awm value

用于名稱更改的“hashcat 風格”詞表掩碼

amass enum -d owasp.org -awm '?1?l?l?l?l'

9.?-bl value

不予調查的子域名黑名單

amass enum -d owasp.org -bl admin,kali.org

10.?-blf string

提供黑名單子域名的文件路徑

amass enum -d owasp.org -blf blacklisted.txt

11.?-brute

搜索后執行暴力破解

amass enum -d owasp.org -brute

12. -cidr value

CIDR 以逗號分隔(可多次使用)

amass enum -d owasp.org -cidr 104.22.27.0/24

13.?-config string

YAML 配置文件的路徑。更多詳細信息如下

amass enum -d owasp.org -config 桌面/amass/examples/config.yaml

14.?-d value

域名以逗號分隔(可多次使用)

amass enum -d owasp.org,kali.org

15.?-demo

審查輸出以使其適合演示

amass enum -d kali.org -demo

16.?-df value

提供根域名的文件路徑

amass enum -df domains.txt

17.?-dir string

包含輸出文件的目錄路徑

amass enum -d kali.org -dir output

18.?-dns-qps int

所有解析器每秒的最大 DNS 查詢數

amass enum -d kali.org -dns-qps 5

19.?-ef string

提供要排除的數據源的文件路徑

amass enum -d kali.org -ef exclude.txt

20.?-exclude value

要排除的數據源名稱以逗號分隔

amass enum -d kali.org -exclude Yahoo

21.?-if string

提供要包含的數據源的文件路徑

amass enum -d kali.org -if include.txt

22.?-iface string

提供用于發送流量的網絡接口

amass enum -d kali.org -iface eth0

23.?-include value

要包含的數據源名稱以逗號分隔

amass enum -d kali.org -include Yahoo,Shodan

24.?-list

打印所有可用數據源的名稱

amass enum -list

25.?-log string

將寫入錯誤的日志文件的路徑

amass enum -d kali.org -log error.log

26.?-max-depth int

最大數量用于暴力破解的子域名標簽數量

amass enum -d kali.org -max-depth 5

27.?-max-dns-queries int

已棄用標志,將在 4.0 版中由 dns-qps 取代

amass enum -d kali.org -max-dns-queries 5

28.?-min-for-recursive int

遞歸暴力破解前檢測到的子域名標簽(默認值:1)(默認 1)

amass enum -d kali.org -min-for-recursive 1

29.?-nf value

提供已知子域名(來自其他工具/來源)的文件路徑

amass enum -d kali.org -nf known-subdomains.txt

30.?-nocolor

禁用彩色輸出

amass enum -d kali.org -nocolor

31.?-norecursive

關閉遞歸暴力破解

amass enum -d kali.org -norecursive

32.?-o string

包含終端 stdout/stderr 的文本文件的路徑

amass enum -d kali.org -o result.txt

33.?-oA string

用于命名所有輸出文件的路徑前綴

amass enum -d kali.org -oA kali

34.?-p value

端口號以逗號分隔(默認值:80, 443)

amass enum -d kali.org -active -p 80,443

35.?-passive

已棄用,因為默認設置是 passive

amass enum -d kali.org -passive

36.?-r value

不受信任 DNS 解析器的 IP 地址(可多次使用)

amass enum -d kali.org -r 114.114.114.114

37.?-rf value

提供不受信任 DNS 解析器的文件路徑

amass enum -d kali.org -rf resolvers.txt

38.?-rqps int

每個不受信任解析器每秒的最大 DNS 查詢數

amass enum -d kali.org -rqps 8

39.?-scripts string

包含 ADS 腳本的目錄路徑

amass enum -d kali.org -scripts alterations.ads

40.?-silent

執行期間禁用所有輸出

amass enum -d kali.org -silent

41.?-timeout int

退出前允許枚舉運行的分鐘數

amass enum -d kali.org -timeout 3

42.?-tr value

受信任 DNS 解析器的 IP 地址(可多次使用)

amass enum -d kali.org -tr 8.8.8.8

43.?-trf value

路徑提供可信 DNS 解析器的文件

amass enum -d kali.org -trf trusted.txt

44.?-trqps int

每個可信解析器每秒的最大 DNS 查詢次數

amass enum -d kali.org -trqps 3

45.?-v

輸出狀態/調試/故障排除信息

amass enum -d kali.org -v

46.?-w value

用于暴力破解的不同字典文件的路徑

amass enum -d kali.org -w /usr/share/amass/wordlists/subdomains.lst

47.?-wm value

用于 DNS 暴力破解的“hashcat 風格”字典掩碼

amass enum -d kali.org -wm 'zzz-?l?l?l'

Amass Viz

注意此子命令在新版本已被移出,老版本才有這個功能。我演示的時候用的是3.19.2的版本。

Amass viz 子命令允許您以多種方式可視化所有收集到的目標信息(存儲在 Amass 圖形數據庫中)。結果還可以導入 Maltego 進行進一步的 OSINT(開源情報)分析。

1.?-h

顯示程序使用信息

amass viz -h

2. -help

顯示程序使用信息

amass viz -help

3.?-config string

INI 配置文件的路徑。更多詳細信息請見下文

4.?-d value

域名以逗號分隔(可多次使用)

5. -d3

生成 D3 v4 強制模擬 HTML 文件

amass viz -d3 -d kali.org -config examples/config.ini

6.?-df string

提供根域名的文件路徑

amass viz -d3 -df domains.txt

7.?-dir string

包含圖形數據庫的目錄路徑

amass viz -d3 -d kali.org -config examples/config.ini -dir ./examples/

8.?-dot

生成 DOT 輸出文件

amass viz -dot -d kali.org

9.?-enum int

通過列表中的索引識別枚舉

amass viz -dot -enum 3

10.?-gexf

生成 Gephi 圖形交換 XML 格式 (GEXF) 文件

amass viz -gexf -d kali.org

11.?-graphistry

生成 Graphistry JSON 文件

amass viz -graphistry -d kali.org

12.?-i string

Amass 數據操作 JSON 文件

amass viz -gexf -d kali.org -i examples/indexes.bolt

13.?-maltego

生成 Maltego csv 文件

amass viz -maltego -d kali.org

14.?-nocolor

禁用彩色輸出

amass viz -maltego -d kali.org -nocolor

15.?-o string

生成輸出文件的目錄路徑

amass viz -maltego -d kali.org -o output

16.?-oA string

用于命名所有輸出文件的路徑前綴

amass viz -maltego -d kali.org -oA kali

17.?-silent

執行期間禁用所有輸出

amass viz -maltego -d kali.org -silent

Amass Track

注意此子命令在新版本已被移出,老版本才有這個功能。我演示的時候用的是3.19.2的版本。

Amass track 是第二有用的子命令。它有助于比較針對同一目標和域名執行的枚舉結果。

1.?-h

顯示程序使用信息

amass track -h

2. -help

顯示程序使用信息

amass track -help

3.?-config string

INI 配置文件的路徑。更多詳細信息見下文

amass track -d kali.org -config examples/config.ini

4.?-d value

域名以逗號分隔(可多次使用)

amass track -d kali.org,owasp.org

5.?-df string

提供根域名的文件路徑

amass track -df domains.txt

6.?-dir string

包含圖形數據庫的目錄路徑

amass track -d kali.org -dir /home/ubuntu/.config/amass/

7.?-history

顯示所有枚舉對之間的差異

amass track -d kali.org -history

8.?-last int

要包含在跟蹤中的最近枚舉的數量

amass track -d kali.org -last 2

9.?-nocolor

禁用彩色輸出

amass track -d kali.org -nocolor

10.?-silent

執行期間禁用所有輸出

amass track -d kali.org -silent

11.?-since string

排除之前的所有枚舉(格式:01/02 15:04:05 2006 MST)

amass track -d kali.org -since "05/08 00:00:00 2025 UTC"

Amass DB

注意此子命令在新版本已被移出,老版本才有這個功能。我演示的時候用的是3.19.2的版本。

您可以使用此子命令與 Amass 圖形數據庫進行交互,無論是默認數據庫還是使用“-dir”標志指定的數據庫。

1. -h

顯示程序使用信息

amass db -h

2. -help

顯示程序使用信息

amass db -help

3.?-config string

INI 配置文件的路徑。更多詳細信息如下

amass db -config examples/config.ini -list

4.?-d value

域名以逗號分隔(可多次使用)

amass db -d kali.org -names

5.?-demo

審查輸出以使其適合演示

amass db -d kali.org -names -demo

6.?-df string

提供根域名的文件路徑

amass db -df domains.txt -names

7.?-dir string

包含圖形數據庫的目錄路徑

amass db -d kali.org -names -dir /home/ubuntu/.config/amass

8.?-enum int

通過列表中的索引識別枚舉

amass db -d kali.org -names -enum 1

9.?-ip

顯示已發現名稱的 IP 地址

amass db -d kali.org -names -ip

10.?-ipv4

顯示已發現名稱的 IPv4 地址

amass db -d kali.org -names -ipv4

11.?-ipv6

顯示已發現名稱的 IPv6 地址

amass db -d kali.org -names -ipv6

12.?-json string

JSON 輸出文件的路徑

amass db -d kali.org -names -json output.json

13.?-list

根據提供的域名過濾的枚舉編號列表

amass db -list

14.?-names

打印剛發現的名稱

amass db -d kali.org -names

15.?-nocolor

禁用彩色輸出

amass db -d kali.org -names -nocolor

16.?-o string

包含終端 stdout/stderr 的文本文件的路徑

amass db -d kali.org -names -o output.txt

17.?-show

打印結果枚舉索引 + 提供的域名

amass db -d kali.org -names -show

18.?-silent

執行期間禁用所有輸出

amass db -d kali.org -names -silent

19.?-src

打印已發現名稱的數據源

amass db -d kali.org -names -src

20.?-summary

僅打印 ASN 表摘要

amass db -d kali.org -summary

總結

Amass 是一款功能強大的子域名枚舉和信息收集工具,適用于滲透測試和資產管理等多個安全場景。通過對 Amass 的使用與分析,我們不僅可以深入了解其模塊化設計和豐富的數據源,還能有效提升在實際工作中對目標域的掌控能力。總的來說,Amass 是信息收集階段不可或缺的重要利器。

在此特別強調,本教程僅在合法授權的情況下進行測試和研究,請勿用于其他用途。未經授權使用此類工具可能會侵犯他人隱私,觸犯相關法律,任何因此引發的法律或利益糾紛與本人無關。

歡迎各位大佬,小白來找我交流。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80464.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80464.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80464.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Web MVC響應

返回靜態頁面 第一步 創建html時,要注意創建的路徑,要在static下面 第二步 把需要寫的內容寫到body內 第三步 直接訪問路徑就可以 返回數據ResponseBody RestController Controller ResponseBody Controller:返回視圖 ResponseBody&…

?鴻蒙PC正式發布:國產操作系統實現全場景生態突破

鴻蒙PC正式發布:國產操作系統實現全場景生態突破? 2025年5月8日,華為在深圳舉辦發布會,正式推出搭載鴻蒙操作系統的個人電腦(PC),標志著國產操作系統在核心技術與生態布局上實現歷史性跨越。此次發布的鴻蒙…

【計算機視覺】OpenCV實戰項目:Text-Extraction-Table-Image:基于OpenCV與OCR的表格圖像文本提取系統深度解析

Text-Extraction-Table-Image:基于OpenCV與OCR的表格圖像文本提取系統深度解析 1. 項目概述2. 技術原理與算法設計2.1 圖像預處理流水線2.2 表格結構檢測算法2.3 OCR優化策略 3. 實戰部署指南3.1 環境配置3.2 核心代碼解析3.3 執行流程示例 4. 常見問題與解決方案4.…

Redis BigKey 問題是什么

BigKey 問題是什么 BigKey 的具體表現是 redis 中的 key 對應的 value 很大,占用的 redis 空間比較大,本質上是大 value 問題。 BigKey怎么找 redis-cli --bigkeysscanBig Key 產生的原因 1.redis數據結構使用不恰當 2.未及時清理垃圾數據 3.對業務預…

go-gin

前置 gin是go的一個web框架,我們簡單介紹一下gin的使用 導入gin :"github.com/gin-gonic/gin" 我們使用import導入gin的包 簡單示例: package mainimport ("github.com/gin-gonic/gin" )func main() {r : gin.Default(…

C# NX二次開發:判斷兩個體是否干涉和獲取系統日志的UFUN函數

大家好,今天要講關于如何判斷兩個體是否干涉和獲取系統日志的UFUN函數。 (1)UF_MODL_check_interference:這個函數的定義為根據單個目標體檢查每個指定的工具體是否有干擾。 Defined in: uf_modl.h Overview Checks each sp…

如何解決 Linux 系統文件描述符耗盡的問題

在Linux系統中,文件描述符(File Descriptor, FD)是操作系統管理打開文件、套接字、管道等資源的抽象標識。當進程或系統耗盡文件描述符時,會導致服務崩潰、連接失敗等嚴重問題。以下是詳細的排查和解決方案: --- ###…

LVGL簡易計算器實戰

文章目錄 📁 文件結構建議🔹 eval.h 表達式求值頭文件🔹 eval.c 表達式求值實現文件(帶詳細注釋)🔹 ui.h 界面頭文件🔹 ui.c 界面實現文件🔹 main.c 主函數入口? 總結 項目效果&…

使用countDownLatch導致的線程安全問題,線程不安全的List-ArrayList,線程安全的List-CopyOnWriteArrayList

示例代碼 package com.example.demo.service;import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;public class UnSafeCDTest {Executor…

ALLinSSL:一站式SSL證書管理解決方案

引言 在當今互聯網安全日益重要的背景下,SSL證書已成為保護網站安全的必備工具。然而,管理多個SSL證書常常是一項繁瑣且容易出錯的任務。ALLinSSL應運而生,它提供了一個一站式的SSL證書管理解決方案,大大簡化了證書的申請、安裝和更新過程。本文將深入介紹ALLinSSL的特性、…

嵌入式通信協議總覽篇:萬物互聯的基石

嵌入式系統的世界,是靠協議“說話”的世界。 在你設計一個智能設備、構建一個工業控制系統、開發一款 IoT 網關時,一個核心問題始終繞不開:**這些設備之間如何“對話”?**答案就是——通信協議。 本篇作為系列第一章,將帶你全面理解嵌入式通信協議的全貌,為后續深入學習…

【數據結構】紅黑樹(C++)

目錄 一、紅黑樹的概念 二、紅黑樹的性質 三、紅黑樹結點定義 四、紅黑樹的操作 1. 插入操作 1.1 插入過程 1.2 調整過程 1.2.1 叔叔節點存在且為紅色 1.2.2 叔叔節點存在且為黑色 1.2.3 叔叔節點不存在 2. 查找操作 2.1 查找邏輯 2.2 算法流程圖 2.3 使用示例 …

Oracle數據庫DBF文件收縮

這兩天新部署了一套系統,數據庫結構保持不變,牽扯導出表結構還有函數,圖省事就直接新建用戶,還原數據庫了。然后咔咔咔,一頓刪除delete,truncate,發現要不就是表刪了,還有num_rows&a…

【字節擁抱開源】字節豆包團隊開源首發 Seed-Coder 大模型

我們非常高興地向大家介紹 Seed-Coder,它是一個功能強大、透明、參數高效的 8B 級開源代碼模型系列,包括基礎變體、指導變體和推理變體。Seed-Coder 通過以下亮點促進開放代碼模型的發展。 以模型為中心:Seed-Coder主要利用大語言模型&#…

Qt 無邊框窗口,支持貼邊分屏

常規操作, 無法進行窗口的大小縮放和移動貼邊分屏等操作 // 去掉標題欄,去掉工具欄,窗口置頂 setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint);重點介紹 QWindowKit https://github.com/stdware/qwindowkit 跨平臺的支持Windows\…

Qt 樣式表:全面解析與應用指南

在 Qt 開發中,樣式表(Style Sheets)是定義應用程序界面外觀的關鍵工具。它采用文本格式的規則集合,借鑒了 CSS 語法,借助選擇器、屬性和值,能精準把控各類控件的外觀表現,極大提升了界面設計的靈活性與美觀性。 文章目錄 一、樣式可更改的效果?1、顏色相關效果?2、字體…

追蹤大型語言模型的思想(上)(來自針對Claude的分析)

概述 像 Claude 這樣的語言模型并非由人類直接編程,而是通過大量數據進行訓練。在訓練過程中,它們會學習解決問題的策略。這些策略被編碼在模型為每個單詞執行的數十億次計算中。對于我們這些模型開發者來說,這些策略是難以捉摸的。這意…

Python pandas 向excel追加數據,不覆蓋之前的數據

最近突然看了一下pandas向excel追加數據的方法,發現有很多人出了一些餿主意; 比如用concat,append等方法,這種方法的會先將舊數據df_1讀取到內存,再把新數據df_2與舊的合并,形成df_new,再覆蓋寫入,消耗和速…

MYSQL 索引和事 務

目錄 一 MYSQL 索引介紹 1.索引概念 2.索引作用 3.索引的分類 3.1普通索引 3.2唯一索引 3.3組合索引(最左前綴) 3.4全文索引 4.3查看索引 4.4刪除索引 二 MYSQL事務 一:MYSQL索引介紹 索引是一個排序的列表,在這個列表中存儲著索…