主頁 >  其他 > 學習搭建 Consul 服務發現與服務網格-有豐富的示例和圖片

學習搭建 Consul 服務發現與服務網格-有豐富的示例和圖片

2020-11-21 13:27:12 其他

目錄
  • 第一部分:Consul 基礎
    • 1,Consul 介紹
    • 2,安裝 Consul
      • Ubuntu/Debian 系統
      • Centos/RHEL 系統
      • 檢查安裝
    • 3,運行 Consul Agent
      • 啟動 agent
      • 發現資料中心成員
      • 查看 UI
    • 4,在 Consul Service Discovery 中注冊服務
      • 定義服務
      • 使用配置啟動服務
      • 如何重新加載組態檔
    • 5,查詢服務
      • 通過 HTTP API
      • 通過 UI 查詢
    • 6,DNS 知識與查詢
      • 基礎知識
      • 通過 DNS 查詢 Consul 服務資訊
      • 小結
    • 7,將資料存盤在Consul KV 中
  • 第二部分:深入 Consul
    • 8,Consul Service Mesh
      • 了解 Consul Service Mesh
      • 部署真實服務
      • 真實注冊服務
      • 注冊代理
      • 代理服務
      • 驗證代理
      • UI 界面查看
    • 9,Consul 集群/資料中心
      • 開始準備
      • 啟動 Consul 中心
      • 啟動客戶端
      • 檢查成員資訊
      • 關聯服務器
      • 打開 UI 查看服務節點資訊
    • 10,集群代理服務
      • 提供代理服務
      • 另一臺服務器代理
      • 驗證代理

第一部分:Consul 基礎

1,Consul 介紹

官網檔案描述:Consul 是一個網路工具,提供功能齊全的服務網格和服務發現,

它可以做什么:自動化網路配置,發現服務并啟用跨任何云或運行時的安全連接,

那么,我們對 Consul 的理解,就是服務網格、服務發現,官網檔案說的這兩個特征,到底是啥意思?跨什么云?

下面,我們將通過實踐操作,逐漸了解 Consul,搭建出一個真實的 Consul 服務來體驗,

2,安裝 Consul

兩臺服務器上都需要安裝 Consul,具體步驟可以參考下面的說明,

Ubuntu/Debian 系統

# 添加 GPG key

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

# 添加 倉庫
# 如果執行后提示  apt-add-repository: command not found
# 可先安裝: apt-get install software-properties-common

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

# 更新源以及安裝 consul

sudo apt-get update && sudo apt-get install consul

Centos/RHEL 系統

# 使用 yum-config-manager 管理倉庫
sudo yum install -y yum-utils

# 連接倉庫
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

# 安裝
sudo yum -y install consul

檢查安裝

可輸入 consul 檢查是否安裝成功,如果有資訊輸出即說明安裝成功,

root@50skbjiynxyxkcfh:~# consul
Usage: consul [--version] [--help] <command> [<args>]

Available commands are:
    acl            Interact with Consul's ACLs
    agent          Runs a Consul agent
    catalog        Interact with the catalog
    config         Interact with Consul's Centralized Configurations
    connect        Interact with Consul Connect
    debug          Records a debugging archive for operators
    event          Fire a new event
    exec           Executes a command on Consul nodes
... ...

3,運行 Consul Agent

文章一般都會說一個 Consul 服務或者一個 Consul 實體,官網檔案稱為 Agent,這個要記住,為了避免誤解,本文提到的代理指 proxy,一般使用 proxy 和 agent 單詞說明,

Agent 可以以服務器模式(server mode)或客戶端模式(client mode)運行,多個Agent 組成一個 Consul datacenter,每個 Consul datacenter 至少有一個 Agent 屬于 服務器模式,

官方不建議單服務器部署,

啟動 agent

前面說到過,agent 表示一個 Consul 實體,

因為現在處于探索實踐階段,為了避免各種加密安全問題等,我們需要使用 -dev 引數,以開發模式啟動,

# $> consul agent
# Runs a Consul agent

consul agent -dev

執行這個命令后,consul 會被啟動起來,并且占用終端,

啟用Consul成功

啟動程序中注意留意資訊,如果啟動失敗,需要自行根據提示解決問題,如埠沖突:

啟用Consul失敗

發現資料中心成員

執行 consul members 命令可以發現資料中心成員,

root@50skbjiynxyxkcfh:~# consul members
Node              Address          Status  Type    Build  Protocol  DC   Segment
50skbjiynxyxkcfh  172.31.0.6:8301  alive   client  0.5.2  2         dc1  <default>

意思是檢查當前 Consul 服務的成員組成,目前是單服務器,所以只有一個成員,

這里不需要留意有什么用途,只要記得這個命令就行,后面我們會使用到這個命令查看資訊,

查看 UI

假如服務器 IP 是 172.31.0.6 ,則可以通過 http://172.31.0.6:8500 訪問 consul 的 UI服務(http apis),

4,在 Consul Service Discovery 中注冊服務

本小節將介紹 Consul 中的一些網路知識,埠與dns的說明;

然后通過實體講解如何定義服務以及注冊服務到 Consul 中 -- Consul 服務發現,

這里先說明一些 Consul 的埠,

官網檔案:Before running Consul, you should ensure the following bind ports are accessible.

翻譯:在運行 Consul 之前,需要確保以下埠都是可以訪問的,

檔案地址:https://www.consul.io/docs/install/ports.html

對于一些重要的配置,要查看官方檔案原版,別百度,很多文章只是機器翻譯或者 copy 命令,會讓你進坑的,

Use Default Ports
DNS: The DNS server (TCP and UDP) 8600
HTTP: The HTTP API (TCP Only) 8500
HTTPS: The HTTPs API disabled (8501)*
gRPC: The gRPC API disabled (8502)*
LAN Serf: The Serf LAN port (TCP and UDP) 8301
Wan Serf: The Serf WAN port (TCP and UDP) 8302
server: Server RPC address (TCP Only) 8300
Sidecar Proxy Min: Inclusive min port number to use for automatically assigned sidecar service registrations. 21000
Sidecar Proxy Max: Inclusive max port number to use for automatically assigned sidecar service registrations. 21255

*For HTTPS and gRPC the ports specified in the table are recommendations.

  • 8500(http)、8501(https)、8502(gRPC) 三個介面可以通過遠程請求呼叫相關的服務,或者直接訪問,

  • 8501,8502 兩個埠都是 disabled,所以我們可以先看一下 8500 埠的作用,其他埠后面慢慢用到再解釋,

? 打開你的瀏覽器,訪問 http://{你的ip}:8500,會發現跳到了一個 UI 界面,

  • 如果要查看埠被哪個行程占用,可以使用 lsof -i:8081 命令,8081 是要查詢的埠,

定義服務

本小節講解如何通過組態檔以及命令形式,定義服務并向 Consul 注冊服務,

打開或新建(如果不存在) /etc/consul.d 目錄,后面使用此目錄作為 Consul 組態檔的存放位置,

在目錄中新建一個 web.json 檔案,用于定義服務,

touch web.json

編輯檔案,修改其內容為:

{
  "service": {
    "name": "web",
    "tags": [
      "rails"
    ],
    "port": 8080
  }
}

埠可自由設定;這里定義了一個名稱為 web 的服務,其埠為 8080,

使用配置啟動服務

我們定義配置目錄和組態檔后,可以使用組態檔重新啟動節點:

consul agent -dev -enable-script-checks -config-dir=/etc/consul.d

-enable-script-checks 可以開啟組態檔檢查,增強安全性,因為組態檔可以啟用腳本,導致可能會引入一個遠程執行漏洞,當然,本文的實踐步驟還用不上,這里先預熱,

如無意外,會提示以下資訊:

2020/11/21 10:09:25 [INFO] agent: Synced service "web"
2020/11/21 10:09:25 [DEBUG] agent: Node info in sync
2020/11/21 10:09:25 [DEBUG] agent: Service "web" in sync
2020/11/21 10:09:25 [DEBUG] agent: Node info in sync

如何重新加載組態檔

如果你修改了組態檔,可以使用命令讓 Consul 重新加載組態檔,而無需重啟,

$ consul reload
Configuration reload triggered

5,查詢服務

我們將服務添加到 Consul 后,可以使用 DNS介面 或 HTTP API 對其進行查詢,其它應用可以通過 Consul 網路介面查詢到 Consul 提供了什么服務,這就是服務發現(不知道我的理解對不對),

通過 HTTP API

通過 Consul HttpAPI 服務,我們可以查詢到服務串列,其 URL 為 /v1/catalog/service/web

通過命令查詢:

curl http://localhost:8500/v1/catalog/service/web

也可以使用瀏覽器訪問,

回傳的 json 中列出了所有服務節點,以及每個服務實體的資訊、狀態,根據 json 資訊,可以發現服務,

當你發現服務后,可以通過 json 中的資訊,獲取服務的 ip 和埠,這樣就可以正式連接到這個服務了,

通過 UI 查詢

訪問 http://{你的ip}:8500 ,在 UI 上會發現注冊了一個叫 web 的服務,

注冊web服務

6,DNS 知識與查詢

基礎知識

Linux 中,dig 命令用于查詢一個域名的 DNS 資訊,使用示例:

dig baidu.com
... ...
baidu.com.		375	IN	A	220.181.38.148
baidu.com.		375	IN	A	39.156.69.79
... ...

DNS 查詢的標準埠號是 53,通過這個埠號,可以向 DNS 服務器查詢更多的域名資訊,

DNS 有 A 記錄(決議到 IP)、CNAME(別名,決議到域名)等型別,有興趣的話自行查找資料了解,

dig 命令請參考 https://linux.die.net/man/1/dig

dig 的其中一個查詢格式為:

dig [@server] [-p {port}] [name]

dig @127.0.0.1 -p 8600 是指定 8600 埠作為 DNS 服務查詢的埠;name 名稱則表示要指定查詢的資源名稱,

記住這個查詢格式,

通過 DNS 查詢 Consul 服務資訊

前面已經注冊了 web 服務,那么 如何通過 Consul 的 DNS 介面(8600埠)查詢 web 服務的資訊?

可在在默認主機上執行:

dig @127.0.0.1 -p 8600 web.service.consul

關于 dig 命令,前面已經講解了,web.service.consul 就是 [name] 部分, Consul 會將注冊的服務名稱加上 .service.consul 做為命名,

那么,查詢這個 DNS 有啥用?這里先記下來,后面我們繼續搗鼓,

小結

目前我們已經學會使用 命令注冊服務,但是因為只是 “配置” 了一下,web(8080埠)服務,壓根不存在真正的服務,后面我們將通過部署真實的 web 服務,然后注冊到 Consul 中,

7,將資料存盤在Consul KV 中

打開你的 Consul UI 界面,如圖:

KVUI

你可以通過 UI 界面創建鍵值資料,也可以通過命令列形式 CURD 鍵值資料,命令列示例如下:

增加或修改:

consul kv put {key} {value}

獲取值:

consul kv get {key}

洗掉鍵:

consul kv delete {key}

示例:

consul kv put name 癡者工良

第二部分:深入 Consul

本章內容介紹如何使用 Consul Service Mesh 連接服務、代理服務;建立資料中心,部署多個實體;

8,Consul Service Mesh

了解 Consul Service Mesh

Consul Service Mesh 是通過基于身份的授權、L7流量管理和服務對服務加密,為現代應用程式網路和安全性創建一致的平臺,

它有什么用處?

例如,在多個集群和環境之間聯合領事,創建一個全球服務網格,跨平臺一致地應用策略和安全,如下圖所示:

筆者注:envoy 是第三方開源邊緣和服務代理,并不是 Consul 的功能,Consul 自帶的是 Consul connect,

ConsulServiceMesh

Consul Service Mesh 應用場景可參考:https://www.consul.io/use-cases/multi-platform-service-mesh

Consul Service Mesh 可以通過代理將多臺服務器中的服務關聯起來,使得其能夠通過專用網路相互訪問,

gateway

詳細請點擊 https://www.consul.io/docs/connect/gateways/mesh-gateway

部署真實服務

在 Consul 官網檔案,使用了 socat 來演示一個服務,并注冊到 Consul 中,,筆者覺得過于麻煩,這里筆者為了更好地學習 Consul ,使用 rust 撰寫了一個輕量的 web 服務,Windows 大小 4MB,Linux 下 8MB,無需安裝任何依賴,

建議讀者使用筆者寫的這個 Web demo 作為真實服務部署,這個 demo 已開源,下載地址:

https://github.com/whuanles/consulweb/releases

下載檔案完畢后,上傳到服務器空目錄中,

為了自定義系結 web 服務地址,需要新建一個 option.txt 檔案,其內容如下:

0.0.0.0:8081

快速創建檔案命令:

echo "0.0.0.0:8081" > option.txt

Web 服務支持部署靜態檔案,你可以新建靜態網頁檔案如 index.html,放到程式目錄下,然后通過系結的 ip 和埠即可訪問,

記得給 web 賦予權限:

chmod +x web

執行 ./web 啟動 web 服務,執行 nohup ./web & 后臺 運行 web 服務,

這樣我們就有一個真實的 web 服務了,大家可以使用瀏覽器訪問測驗,

真實注冊服務

使用筆者或者自定義撰寫的服務后,需要將這個服務注冊到 Consul 中,

在 /etc/consul.d 目錄,新建 realweb.json 檔案,

{
  "service": {
    "name": "realweb",
    "port": 8081,
    "connect": {
      "sidecar_service": {}
    }
  }
}

然后執行 consul reload 重新加載組態檔,

注冊代理

為啥要注冊代理呢?

前面經過實踐,我們已經學會了注冊服務以及服務發現,一開始介紹 Consul 時,我們還看到 “Consul 提供功能強大的 服務網格”、“安全的連接” 等,那么我們通過這里的步驟(代理),就是體會 Consul 的這個特征功能,

前面已經注冊了 realweb 這個服務,現在我們開啟代理,在新的終端視窗,執行:

 consul connect proxy -sidecar-for realweb

注冊代理

可以看到,Consul 使用 21000 埠來代理 realweb 服務,

這個代理功能稱為 Consul Connect,

但是這個埠是不能訪問的,其基本結構如下:

        源                       代理后
------------------        ------------------
|8081 <---> 21000| <----> |21001 <---> 9191|
------------------        ------------------

8081(源) 和 9191(代理的埠) 都可以訪問,21000 和 21001 都是屬于橋接埠,不能訪問,

代理服務

前面注冊 realweb 代理服務后(8081 <---> 21000),我們開始對其進行代理(21001 <---> 9191),

這里的代理,是通過 Consul Service Mesh 使用 Sidecar 代理將服務相互連接,這種功能就叫 服務網格

        源                                            代理后
--------------------------                --------------------------
|8081 <-----------> 21000|   <-------->   |21001 <-----------> 9191|
|     Consul Connect     |     Sidecar    |      Consul Connect    |
--------------------------                --------------------------

為了實作代理,需要創建新的組態檔,注冊服務,

新建一個終端視窗,在 /etc/consul.d/ 目錄新建一個 proxyweb.json 檔案,

其內容如下:

{
  "service": {
    "name": "proxyweb",
    "connect": {
      "sidecar_service": {
        "proxy": {
          "upstreams": [
            {
              "destination_name": "realweb",
              "local_bind_port": 9191
            }
          ]
        }
      }
    }
  }
}  

可以將 Connect 代理的每個上游配置為通過網狀網關進行路由,local_bind_port 表示代理服務后,使用哪個埠作為代理埠,

系結的代理埠可能是以下幾種情況(這里直接搬檔案):

  • local-在這種模式下,Connect代理建立與同一資料中心中運行的網關的出站連接,然后,該網關負責確保將資料轉發到目標資料中心中的網關,

  • remote-在此模式下,Connect代理建立與目標資料中心中運行的網關的出站連接,然后,該網關將資料轉發到最終目標服務,

  • none -在此模式下,不使用網關,并且Connect代理將其出站連接直接連接到目標服務,

創建配置完畢后(注冊服務),執行 consul reload 重新加載組態檔,

然后執行命令開始代理服務,

consul connect proxy -sidecar-for proxyweb

驗證代理

創建代理完畢后,我們檢查代理是否正常,

新建一個終端視窗,執行訪問目錄:

 curl http://127.0.0.1:9191
root@50skbjiynxyxkcfh:~# curl http://127.0.0.1:9191
<h3>恭喜你,部署 Consul 服務成功!</h3><br><br><br><br>記得給筆者 癡者工良 點一下贊喲~~~

原本 realweb 服務暴露的埠為 8081,然后創建一個叫 proxyweb 的代理,其埠變成 9191,之后我們可以使用 9191 來訪問這個 realweb 服務,

下圖是從官網淘過來的,大家可以根據圖片理解一下

proxy

假如搭建了一個微服務,其中一臺主機有個服務是 redis,埠是 9003,你會把 redis 暴露到公網上么?肯定不能呀,于是通過代理功能,將 redis 服務代理到另一臺 web 服務器,埠變成 5000,web 程式可以訪問 redis 服務,但是外界不能訪問,

然后 web 提供 9002 埠給用戶,用戶可以訪問 web 網頁服務,

UI 界面查看

打開 Consul 界面,可以看到代理服務,

ServiceProxyUI1

ServiceProxyUI2

9,Consul 集群/資料中心

本章內容將介紹如何將兩臺服務器的 Agent 關聯起來,建立資料中心,

開始準備

這里需要兩臺服務器才行,當然官方檔案提供了使用虛擬機的方法部署另一個系統,但是這里不提倡,還是老老實實搞兩臺服務器實際,不然你學啥集群和微服務,,,

在 Linux 快速部署虛擬機:https://learn.hashicorp.com/tutorials/consul/get-started-create-datacenter?in=consul/getting-started

切換到副服務器/虛擬機中,按照前面第二小節的安裝教程,安裝 consul,

主服務器上,停止 Consul,并關閉其它終端視窗,只留一個終端視窗就行,

root@50skbjiynxyxkcfh:~# top | grep consul
32318 root      20   0  785168  66096  49008 S  1.3  3.2  13:52.93 consul                                                                                  
root@50skbjiynxyxkcfh:~# kill 32318

啟動 Consul 中心

在主服務器中執行以下命令,啟動 Consul 實體,

# -bind 填寫子網ip或公網ip,另一臺服務器可以訪問的ip
consul agent \
  -dev
  -server \
  -bootstrap-expect=1 \
  -node=agent-one \
  -bind=172.31.0.6 \
  -data-dir=/tmp/consul \
  -config-dir=/etc/consul.d
  • server-提供此標志表示您希望代理以服務器模式啟動,

  • -bootstrap-expect-這告訴 Consul datacenter 總共應該有多少臺服務器,

  • -node-資料中心中的每個節點必須具有唯一的名稱,

  • -bind-這是該代理將偵聽其他 Consul 成員進行通信的地址,填子網ip或公網ip,

  • data-dir-此標志告訴 Consul Agent 他們應將狀態存盤在哪里,其中可以包括服務器和客戶端的敏感資料(如ACL令牌),

  • config-dir-此標志告訴Consul在哪里尋找其配置,

啟動成功后,會提示:

    2020-11-21T07:46:59.903+0800 [INFO]  agent.server: federation state anti-entropy synced
    2020-11-21T07:46:59.903+0800 [INFO]  agent: Synced node info
    2020-11-21T07:46:59.911+0800 [INFO]  agent: Synced service: service=web
    2020-11-21T07:46:59.923+0800 [INFO]  agent: Synced service: service=proxyweb
    2020-11-21T07:46:59.939+0800 [INFO]  agent: Synced service: service=proxyweb-sidecar-proxy
    2020-11-21T07:46:59.961+0800 [INFO]  agent: Synced service: service=realweb
    2020-11-21T07:46:59.971+0800 [INFO]  agent: Synced service: service=realweb-sidecar-proxy
  • 如果有報 realweb、proxy 代理錯誤的資訊,可以忽略掉,

啟動客戶端

在副服務器上,執行以下命令啟動一個新的 Agent,

consul agent \
  -node=agent-two \
  -bind=172.31.0.7 \
  -enable-script-checks=true \
  -data-dir=/tmp/consul \
  -config-dir=/etc/consul.d

檢查成員資訊

到目前為止,我們有兩臺服務器,每臺服務器都部署了 Consul 實體,但是他們都是獨立的,還沒有被關聯起來,

我們可以在每臺服務器上執行以下命令檢查其成員資訊:

consul members
# consul server 1
Node       Address          Status  Type    Build  Protocol  DC   Segment
agent-one  172.31.0.6:8301  alive   server  1.8.6  2         dc1  <all>

# consul server 2
Node       Address          Status  Type    Build  Protocol  DC   Segment
agent-two  172.31.0.7:8301  alive   client  1.8.6  2         dc1  <default>

關聯服務器

現在,我們把副服務器(172.31.0.7)加入到主服務器(172.31.0.6)中,

在副服務器上執行以下命令:

consul join 172.31.0.6

重新在每臺服務器下執行 consul members 命令查看成員資訊:

# consul server 1
Node       Address          Status  Type    Build  Protocol  DC   Segment
agent-one  172.31.0.6:8301  alive   server  1.8.6  2         dc1  <all>
agent-two  172.31.0.7:8301  alive   client  1.8.6  2         dc1  <default>


# consul server 2
Node       Address          Status  Type    Build  Protocol  DC   Segment
agent-one  172.31.0.6:8301  alive   server  1.8.6  2         dc1  <all>
agent-two  172.31.0.7:8301  alive   client  1.8.6  2         dc1  <default>

打開 UI 查看服務節點資訊

打開 Consul UI 界面(8500埠),點擊 Nodes ,即可看到 Consul 所有服務器節點,

Nodes

10,集群代理服務

本章內容講述如何通過代理功能,將一臺主機的服務在代理到另一臺服務器中訪問,

提供代理服務

在主服務器上把 proxyweb 終端關掉(已關掉請忽略),進入 /etc/consul.d 目錄把 proxyweb.json
洗掉,重新加載配置:

consul reload

然后啟動代理功能(Consul connect):

consul connect proxy -sidecar-for realweb

另一臺服務器代理

在副服務器的 /etc/consul.d/ 目錄中,新建一個 proxyweb.json 檔案,其內容如下:

{
  "service": {
    "name": "proxyweb",
    "connect": {
      "sidecar_service": {
        "proxy": {
          "upstreams": [
            {
              "destination_name": "realweb",
              "local_bind_port": 9191
            }
          ]
        }
      }
    }
  }
}  

重新加載配置:

consul reload

啟動代理服務

 consul connect proxy -sidecar-for proxyweb

驗證代理

在副服務器打開新的視窗,執行:

curl http://127.0.0.1:9191

發現

<h3>恭喜你,部署 Consul 服務成功!</h3><br><br><br><br>記得給筆者 癡者工良 點一下贊喲~~~

說明通過代理服務,可以將一臺主機的服務(埠),在另一臺主機上使用別的埠(相同埠也可以)訪問這個服務,

TwoServerProxy

關于 Consul 入門的教程就到這里為止~后面筆者會繼續寫 Consul ,歡迎關注~

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225957.html

標籤:其他

上一篇:postman檢查點詳解

下一篇:postman檢查點詳解

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more