主頁 >  其他 > 網路協議知識串講:雙十一故事串起碎片網路協議(下)

網路協議知識串講:雙十一故事串起碎片網路協議(下)

2020-11-12 06:33:49 其他

上一節,我們封裝了一個長長的網路包,“大炮”準備完畢,開始發送,

發送的時候可以說是重重關隘,從手機到移動網路、互聯網,還要經過多個運營商才能到達資料中心,到了資料中心就進入第二個復雜的程序,從網關到 VXLAN 隧道,到負載均衡,到 Controller 層、組合服務層、基礎服務層,最終才下單入庫,今天,我們就來看這最后一段程序,

7. 一座座城池一道道關,流控擁塞與重傳

網路包已經組合完畢,接下來我們來看,如何經過一道道城關,到達目標公網 IP,

對于手機來講,默認的網關在 PGW 上,在移動網路里面,從手機到 SGW,到 PGW 是有一條隧道的,在這條隧道里面,會將上面的這個包作為隧道的乘客協議放在里面,外面 SGW 和 PGW 在核心網機房的 IP 地址,網路包直到 PGW(PGW 是隧道的另一端)才將里面的包解出來,轉發到外部網路,

所以,從手機發送出來的時候,網路包的結構為:

  • 源 MAC:手機也即 UE 的 MAC;
  • 目標 MAC:網關 PGW 上面的隧道端點的 MAC;
  • 源 IP:UE 的 IP 地址;
  • 目標 IP:SLB 的公網 IP 地址,

進入隧道之后,要封裝外層的網路地址,因而網路包的格式為:

  • 外層源 MAC:E-NodeB 的 MAC;
  • 外層目標 MAC:SGW 的 MAC;
  • 外層源 IP:E-NodeB 的 IP;
  • 外層目標 IP:SGW 的 IP;
  • 內層源 MAC:手機也即 UE 的 MAC;
  • 內層目標 MAC:網關 PGW 上面的隧道端點的 MAC;
  • 內層源 IP:UE 的 IP 地址;
  • 內層目標 IP:SLB 的公網 IP 地址,

當隧道在 SGW 的時候,切換了一個隧道,會從 SGW 到 PGW 的隧道,因而網路包的格式為:

  • 外層源 MAC:SGW 的 MAC;
  • 外層目標 MAC:PGW 的 MAC;
  • 外層源 IP:SGW 的 IP;
  • 外層目標 IP:PGW 的 IP;
  • 內層源 MAC:手機也即 UE 的 MAC;
  • 內層目標 MAC:網關 PGW 上面的隧道端點的 MAC;
  • 內層源 IP:UE 的 IP 地址;
  • 內層目標 IP:SLB 的公網 IP 地址,

在 PGW 的隧道端點將包解出來,轉發出去的時候,一般在 PGW 出外部網路的路由器上,會部署 NAT 服務,將手機的 IP 地址轉換為公網 IP 地址,當請求回傳的時候,再 NAT 回來,

因而在 PGW 之后,相當于做了一次歐洲十國游型的轉發,網路包的格式為:

  • 源 MAC:PGW 出口的 MAC;
  • 目標 MAC:NAT 網關的 MAC;
  • 源 IP:UE 的 IP 地址;
  • 目標 IP:SLB 的公網 IP 地址,

在 NAT 網關,相當于做了一次玄奘西游型的轉發,網路包的格式變成:

  • 源 MAC:NAT 網關的 MAC;
  • 目標 MAC:A2 路由器的 MAC;
  • 源 IP:UE 的公網 IP 地址;
  • 目標 IP:SLB 的公網 IP 地址,

 

 出了 NAT 網關,就從核心網到達了互聯網,在網路世界,每一個運營商的網路成為自治系統 AS,每個自治系統都有邊界路由器,通過它和外面的世界建立聯系,

對于云平臺來講,它可以被稱為 Multihomed AS,有多個連接連到其他的 AS,但是大多拒絕幫其他的 AS 傳輸包,例如一些大公司的網路,對于運營商來說,它可以被稱為 Transit AS,有多個連接連到其他的 AS,并且可以幫助其他的 AS 傳輸包,比如主干網,

如何從出口的運營商到達云平臺的邊界路由器?在路由器之間需要通過 BGP 協議實作,BGP 又分為兩類,eBGP 和 iBGP,自治系統之間、邊界路由器之間使用 eBGP 廣播路由,內部網路也需要訪問其他的自治系統,

邊界路由器如何將 BGP 學習到的路由匯入到內部網路呢?通過運行 iBGP,使內部的路由器能夠找到到達外網目的地最好的邊界路由器,

網站的 SLB 的公網 IP 地址早已經通過云平臺的邊界路由器,讓全網都知道了,于是這個下單的網路包選擇的下一跳是 A2,也即將 A2 的 MAC 地址放在目標 MAC 地址中,

到達 A2 之后,從路由表中找到下一跳是路由器 C1,于是將目標 MAC 換成 C1 的 MAC 地址,到達 C1 之后,找到下一跳是 C2,將目標 MAC 地址設定為 C2 的 MAC,到達 C2 后,找到下一跳是云平臺的邊界路由器,于是將目標 MAC 設定為邊界路由器的 MAC 地址,

你會發現,這一路,都是只換 MAC,不換目標 IP 地址,這就是所謂下一跳的概念,

在云平臺的邊界路由器,會將下單的包轉發進來,經過核心交換,匯聚交換,到達外網網關節點上的 SLB 的公網 IP 地址,

我們可以看到,手機到 SLB 的公網 IP,是一個端到端的連接,連接的程序發送了很多包,所有這些包,無論是 TCP 三次握手,還是 HTTPS 的密鑰交換,都是要走如此復雜的程序到達 SLB 的,當然每個包走的路徑不一定一致,

網路包走在這個復雜的道路上,很可能一不小心就丟了,怎么辦?這就需要借助 TCP 的機制重新發送,

既然 TCP 要對包進行重傳,就需要維護 Sequence Number,看哪些包到了,哪些沒到,哪些需要重傳,傳輸的速度應該控制到多少,這就是 TCP 的滑動視窗協議

 

 整個 TCP 的發送,一開始會協商一個 Sequence Number,從這個 Sequence Number 開始,每個包都有編號,滑動視窗將接收方的網路包分成四個部分:

  • 已經接收,已經 ACK,已經交給應用層的包;
  • 已經接收,已經 ACK,未發送給應用層;
  • 已經接收,尚未發送 ACK;
  • 未接收,尚有空閑的快取區域,

對于 TCP 層來講,每一個包都有 ACK,ACK 需要從 SLB 回復到手機端,將上面的那個程序反向來一遍,當然路徑不一定一致,可見 ACK 也不是那么輕松的事情,

如果發送方超過一定的時間沒有收到 ACK,就會重新發送,只有 TCP 層 ACK 過的包,才會發給應用層,并且只會發送一份,對于下單的場景,應用層是 HTTP 層,

你可能會問了,TCP 老是重復發送,會不會導致一個單下了兩遍?是否要求服務端實作冪等?從 TCP 的機制來看,是不會的,只有收不到 ACK 的包才會重復發,發到接收端,在視窗里面只保存一份,所以在同一個 TCP 連接中,不用擔心重傳導致二次下單,

但是 TCP 連接會因為某種原因斷了,例如手機信號不好,這個時候手機把所有的動作重新做一遍,建立一個新的 TCP 連接,在 HTTP 層呼叫兩次 RESTful API,這個時候可能會導致兩遍下單的情況,因而 RESTful API 需要實作冪等,

當 ACK 過的包發給應用層之后,TCP 層的快取就空了出來,這會導致上面圖中的大三角,也即接收方能夠容納的總快取,整體順時針滑動,小的三角形,也即接收方告知發送方的視窗總大小,也即還沒有完全確認收到的快取大小,如果把這些填滿了,就不能再發了,因為沒確認收到,所以一個都不能扔,

8. 從資料中心進網關,公網 NAT 成私網

包從手機端經歷千難萬險,終于到了 SLB 的公網 IP 所在的公網網口,由于匹配上了 MAC 地址和 IP 地址,因而將網路包收了進來,

 

 

在虛擬網關節點的外網網口上,會有一個 NAT 規則,將公網 IP 地址轉換為 VPC 里面的私網 IP 地址,這個私網 IP 地址就是 SLB 的 HAProxy 所在的虛擬機的私網 IP 地址,

當然為了承載比較大的吞吐量,虛擬網關節點會有多個,物理網路會將流量分發到不同的虛擬網關節點,同樣 HAProxy 也會是一個大的集群,虛擬網關會選擇某個負載均衡節點,將某個請求分發給它,負載均衡之后是 Controller 層,也是部署在虛擬機里面的,

當網路包里面的目標 IP 變成私有 IP 地址之后,虛擬路由會查找路由規則,將網路包從下方的私網網口發出來,這個時候包的格式為:

  • 源 MAC:網關 MAC;
  • 目標 MAC:HAProxy 虛擬機的 MAC;
  • 源 IP:UE 的公網 IP;
  • 目標 IP:HAProxy 虛擬機的私網 IP,

9. 進入隧道打標簽,RPC 遠程呼叫下單

在虛擬路由節點上,也會有 OVS,將網路包封裝在 VXLAN 隧道里面,VXLAN ID 就是給你的租戶創建 VPC 的時候分配的,包的格式為:

  • 外層源 MAC:網關物理機 MAC;
  • 外層目標 MAC:物理機 A 的 MAC;
  • 外層源 IP:網關物理機 IP;
  • 外層目標 IP:物理機 A 的 IP;
  • 內層源 MAC:網關 MAC;
  • 內層目標 MAC:HAProxy 虛擬機的 MAC;
  • 內層源 IP:UE 的公網 IP;
  • 內層目標 IP:HAProxy 虛擬機的私網 IP,

在物理機 A 上,OVS 會將包從 VXLAN 隧道里面解出來,發給 HAProxy 所在的虛擬機,HAProxy 所在的虛擬機發現 MAC 地址匹配,目標 IP 地址匹配,就根據 TCP 埠,將包發給 HAProxy 行程,因為 HAProxy 是在監聽這個 TCP 埠的,因而 HAProxy 就是這個 TCP 連接的服務端,客戶端是手機,對于 TCP 的連接狀態、滑動視窗等,都是在 HAProxy 上維護的,

在這里 HAProxy 是一個四層負載均衡,也即它只決議到 TCP 層,里面的 HTTP 協議它不關心,就將請求轉發給后端的多個 Controller 層的一個,

HAProxy 發出去的網路包就認為 HAProxy 是客戶端了,看不到手機端了,網路包格式如下:

  • 源 MAC:HAProxy 所在虛擬機的 MAC;
  • 目標 MAC:Controller 層所在虛擬機的 MAC;
  • 源 IP:HAProxy 所在虛擬機的私網 IP;
  • 目標 IP:Controller 層所在虛擬機的私網 IP,

當然這個包發出去之后,還是會被物理機上的 OVS 放入 VXLAN 隧道里面,網路包格式為:

  • 外層源 MAC:物理機 A 的 MAC;
  • 外層目標 MAC:物理機 B 的 MAC;
  • 外層源 IP:物理機 A 的 IP;
  • 外層目標 IP:物理機 B 的 IP;
  • 內層源 MAC:HAProxy 所在虛擬機的 MAC;
  • 內層目標 MAC:Controller 層所在虛擬機的 MAC;
  • 內層源 IP:HAProxy 所在虛擬機的私網 IP;
  • 內層目標 IP:Controller 層所在虛擬機的私網 IP,

在物理機 B 上,OVS 會將包從 VXLAN 隧道里面解出來,發給 Controller 層所在的虛擬機,Controller 層所在的虛擬機發現 MAC 地址匹配,目標 IP 地址匹配,就根據 TCP 埠,將包發給 Controller 層的行程,因為它在監聽這個 TCP 埠,

在 HAProxy 和 Controller 層之間,維護一個 TCP 的連接,

Controller 層收到包之后,它是關心 HTTP 里面是什么的,于是解開 HTTP 的包,發現是一個 POST 請求,內容是下單購買一個課程,

10. 下單扣減庫存優惠券,資料入庫回傳成功

下單是一個復雜的程序,因而往往在組合服務層會有一個專門管理下單的服務,Controller 層會通過 RPC 呼叫這個組合服務層,

假設我們使用的是 Dubbo,則 Controller 層需要讀取注冊中心,將下單服務的行程串列拿出來,選出一個來呼叫,

Dubbo 中默認的 RPC 協議是 Hessian2,Hessian2 將下單的遠程呼叫序列化為二進制進行傳輸,

Netty 是一個非阻塞的基于事件的網路傳輸框架,Controller 層和下單服務之間,使用了 Netty 的網路傳輸框架,有了 Netty,就不用自己撰寫復雜的異步 Socket 程式了,Netty 使用的方式,就是咱們講Socket 編程的時候,一個專案組支撐多個專案(IO 多路復用,從派人盯著到有事通知)這種方式,

Netty 還是作業在 Socket 這一層的,發送的網路包還是基于 TCP 的,在 TCP 的下層,還是需要封裝上 IP 頭和 MAC 頭,如果跨物理機通信,還是需要封裝的外層的 VXLAN 隧道里面,當然底層的這些封裝,Netty 都不感知,它只要做好它的異步通信即可,

在 Netty 的服務端,也即下單服務中,收到請求后,先用 Hessian2 的格式進行解壓縮,然后將請求分發到執行緒中進行處理,在執行緒中,會呼叫下單的業務邏輯,

下單的業務邏輯比較復雜,往往要呼叫基礎服務層里面的庫存服務、優惠券服務等,將多個服務呼叫完畢,才算下單成功,下單服務呼叫庫存服務和優惠券服務,也是通過 Dubbo 的框架,通過注冊中心拿到庫存服務和優惠券服務的串列,然后選一個呼叫,

呼叫的時候,統一使用 Hessian2 進行序列化,使用 Netty 進行傳輸,底層如果跨物理機,仍然需要通過 VXLAN 的封裝和解封裝,

咱們以庫存為例子的時候,講述過冪等的介面實作的問題,因為如果扣減庫存,僅僅是誰呼叫誰減一,這樣存在的問題是,如果扣減庫存因為一次呼叫失敗,而多次呼叫,這里指的不是 TCP 多次重試,而是應用層呼叫的多次重試,就會存在庫存扣減多次的情況,

這里常用的方法是,使用樂觀鎖(Compare and Set,簡稱 CAS),CAS 要考慮三個方面,當前的庫存數、預期原來的庫存數和版本,以及新的庫存數,在操作之前,查詢出原來的庫存數和版本,真正扣減庫存的時候,判斷如果當前庫存的值與預期原值和版本相匹配,則將庫存值更新為新值,否則不做任何操作,

這是一種基于狀態而非基于動作的設計,符合 RESTful 的架構設計原則,這樣的設計有利于高并發場景,當多個執行緒嘗試使用 CAS 同時更新同一個變數時,只有其中一個執行緒能更新變數的值,而其它執行緒都失敗,失敗的執行緒并不會被掛起,而是被告知這次競爭中失敗,并可以再次嘗試,

最終,當下單更新到分布式資料庫中之后,整個下單程序才算真正告一段落,

好了,經過了十個程序,下單終于成功了,你是否對這個程序了如指掌了呢?如果發現對哪些細節比較模糊,可以回去看一下相應的章節,相信會有更加深入的理解,

到此,我帶著你用下單程序把網路協議的知識都復習了一遍,授人以魚不如授人以漁,下一節,我將會帶你來搭建一個網路實驗環境,配合實驗來說明理論,

 

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

標籤:其他

上一篇:網路協議知識串講:雙十一故事串起碎片網路協議(中)

下一篇:網路協議知識串講:搭建一個網路試驗環境:授人以魚不如授人以漁

標籤雲
其他(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