主頁 >  其他 > Linux系統結構詳解(轉)

Linux系統結構詳解(轉)

2020-12-20 06:46:32 其他

Linux系統一般有4個主要部分:

內核、shell、檔案系統和應用程式,內核、shell和檔案系統一起形成了基本的作業系統結構,它們使得用戶可以運行程式、管理檔案并使用系統,部分層次結構如圖1-1所示,

 

 

 

 

 1. linux內核


 

        Linux內核是世界上最大的開源專案之一,內核是與計算機硬體介面的易替換軟體的最低級別,它負責將所有以“用戶模式”運行的應用程式連接到物理硬體,并允許稱為服務器的行程使用行程間通信(IPC)彼此獲取資訊,

       內核是作業系統的核心,具有很多最基本功能,它負責管理系統的行程、記憶體、設備驅動程式、檔案和網路系統,決定著系統的性能和穩定性,

       Linux 內核由如下幾部分組成:記憶體管理、行程管理、設備驅動程式、檔案系統和網路管理等,如圖:

    系統呼叫介面:SCI 層提供了某些機制執行從用戶空間到內核的函式呼叫,這個介面依賴于體系結構,甚至在相同的處理器家族內也是如此,SCI 實際上是一個非常有用的函式呼叫多路復用和多路分解服務,在 ./linux/kernel 中您可以找到 SCI 的實作,并在 ./linux/arch 中找到依賴于體系結構的部分,

   1. 記憶體管理 
        對任何一臺計算機而言,其記憶體以及其它資源都是有限的,為了讓有限的物理記憶體滿足應用程式對記憶體的大需求量,Linux  采用了稱為“虛擬記憶體”的記憶體管理方式,Linux  將記憶體劃分為容易處理的“記憶體頁”(對于大部分體系結構來說都是 4KB),Linux 包括了管理可用記憶體的方式,以及物理和虛擬映射所使用的硬體機制,

     不過記憶體管理要管理的可不止 4KB 緩沖區,Linux 提供了對 4KB 緩沖區的抽象,例如 slab 分配器,這種記憶體管理模式使用 4KB 緩沖區為基數,然后從中分配結構,并跟蹤記憶體頁使用情況,比如哪些記憶體頁是滿的,哪些頁面沒有完全使用,哪些頁面為空,這樣就允許該模式根據系統需要來動態調整記憶體使用,
   為了支持多個用戶使用記憶體,有時會出現可用記憶體被消耗光的情況,由于這個原因,頁面可以移出記憶體并放入磁盤中,這個程序稱為交換,因為頁面會被從記憶體交換到硬碟上,記憶體管理的源代碼可以在 ./linux/mm 中找到,

 

    2 .行程管理
       行程實際是某特定應用程式的一個運行物體,在 Linux  系統中,能夠同時運行多個行程,Linux  通過在短的時間間隔內輪流運行這些行程而實作“多任務”,這一短的時間間隔稱為“時間片”,讓行程輪流運行的方法稱為“行程調度” ,完成調度的程式稱為調度程式,

 

       行程調度控制行程對CPU的訪問,當需要選擇下一個行程運行時,由調度程式選擇最值得運行的行程,可運行行程實際上是僅等待CPU資源的行程,如果某個行程在等待其它資源,則該行程是不可運行行程,Linux使用了比較簡單的基于優先級的行程調度演算法選擇新的行程, 

        通過多任務機制,每個行程可認為只有自己獨占計算機,從而簡化程式的撰寫,每個行程有自己單獨的地址空間,并且只能由這一行程訪問,這樣,作業系統避免了行程之間的互相干擾以及“壞”程式對系統可能造成的危害, 為了完成某特定任務,有時需要綜合兩個程式的功能,例如一個程式輸出文本,而另一個程式對文本進行排序,為此,作業系統還提供行程間的通訊機制來幫助完成這樣的任務,Linux 中常見的行程間通訊機制有信號、管道、共享記憶體、信號量和套接字等, 

       內核通過 SCI 提供了一個應用程式編程介面(API)來創建一個新行程(fork、exec 或 Portable Operating System Interface [POSⅨ] 函式),停止行程(kill、exit),并在它們之間進行通信和同步(signal 或者 POSⅨ 機制),

 

    3. 檔案系統 

       和 DOS 等作業系統不同,Linux 作業系統中單獨的檔案系統并不是由驅動器號或驅動器名稱(如 A:  或 C:  等)來標識的,相反,和 UNIX  作業系統一樣,Linux 作業系統將獨立的檔案系統組合成了一個層次化的樹形結構,并且由一個單獨的物體代表這一檔案系統,Linux  將新的檔案系統通過一個稱為“掛裝”或“掛上”的操作將其掛裝到某個目錄上,從而讓不同的檔案系統結合成為一個整體,Linux  作業系統的一個重要特點是它支持許多不同型別的檔案系統,Linux 中最普遍使用的檔案系統是 Ext2,它也是 Linux  土生土長的檔案系統,但 Linux  也能夠支持 FAT、VFAT、FAT32、MINIX 等不同型別的檔案系統,從而可以方便地和其它作業系統交換資料,由于 Linux  支持許多不同的檔案系統,并且將它們組織成了一個統一的虛擬檔案系統.

 

       虛擬檔案系統(VirtualFileSystem,VFS):隱藏了各種硬體的具體細節,把檔案系統操作和不同檔案系統的具體實作細節分離了開來,為所有的設備提供了統一的介面,VFS提供了多達數十種不同的檔案系統,虛擬檔案系統可以分為邏輯檔案系統和設備驅動程式,邏輯檔案系統指Linux所支持的檔案系統,如ext2,fat等,設備驅動程式指為每一種硬體控制器所撰寫的設備驅動程式模塊, 

 

       虛擬檔案系統(VFS)是 Linux 內核中非常有用的一個方面,因為它為檔案系統提供了一個通用的介面抽象,VFS 在 SCI 和內核所支持的檔案系統之間提供了一個交換層,即VFS 在用戶和檔案系統之間提供了一個交換層,

VFS         在用戶和檔案系統之間提供了一個交換層:

       

  在 VFS 上面,是對諸如 open、close、read 和 write 之類的函式的一個通用 API 抽象,在 VFS 下面是檔案系統抽象,它定義了上層函式的實作方式,它們是給定檔案系統(超過 50 個)的插件,檔案系統的源代碼可以在 ./linux/fs 中找到,
  檔案系統層之下是緩沖區快取,它為檔案系統層提供了一個通用函式集(與具體檔案系統無關),這個快取層通過將資料保留一段時間(或者隨即預先讀取資料以便在需要是就可用)優化了對物理設備的訪問,緩沖區快取之下是設備驅動程式,它實作了特定物理設備的介面,
      因此,用戶和行程不需要知道檔案所在的檔案系統型別,而只需要象使用 Ext2  檔案系統中的檔案一樣使用它們,

 

     4. 設備驅動程式 
      設備驅動程式是 Linux  內核的主要部分,和作業系統的其它部分類似,設備驅動程式運行在高特權級的處理器環境中,從而可以直接對硬體進行操作,但正因為如此,任何一個設備驅動程式的錯誤都可能導致作業系統的崩潰,設備驅動程式實際控制作業系統和硬體設備之間的互動,設備驅動程式提供一組作業系統可理解的抽象介面完成和作業系統之間的互動,而與硬體相關的具體操作細節由設備驅動程式完成,一般而言,設備驅動程式和設備
的控制芯片有關,例如,如果計算機硬碟是 SCSI  硬碟,則需要使用 SCSI  驅動程式,而不是 IDE 驅動程式, 

 

    5.網路介面(NET)   
       提供了對各種網路標準的存取和各種網路硬體的支持,網路介面可分為網路協議和網路驅動程式,網路協議部分負責實作每一種可能的網路傳輸協議,眾所周知,TCP/IP  協議是 Internet  的標準協議,同時也是事實上的工業標準,Linux  的網路實作支持 BSD 套接字,支持全部的TCP/IP協議,Linux內核的網路部分由BSD套接字、網路協議層和網路設備驅動程式組成, 
    網路設備驅動程式負責與硬體設備通訊,每一種可能的硬體設備都有相應的設備驅動程式,

 

 2 . linux shell



shell是系統的用戶界面,提供了用戶與內核進行互動操作的一種介面,它接收用戶輸入的命令并把它送入內核去執行,是一個命令解釋器,另外,shell編程語言具有普通編程語言的很多特點,用這種編程語言撰寫的shell程式與其他應用程式具有同樣的效果,
目前主要有下列版本的shell,
1.Bourne Shell:是貝爾實驗室開發的,  
2.BASH:是GNU的Bourne Again Shell,是GNU作業系統上默認的shell,大部分linux的發行套件使用的都是這種shell,
3.Korn Shell:是對Bourne SHell的發展,在大部分內容上與Bourne Shell兼容,    

4.C Shell:是SUN公司Shell的BSD版本,


 3 . linux 檔案系統



各作業系統使用的檔案系統并不相同,例如,Windows 98 以前的微軟作業系統使用 FAT(FAT16)檔案系統,Windows 2000 以后的版本使用 NTFS 檔案系統,而 Linux 的正統檔案系統是 Ext2,

在 CentOS 6.3 系統中,默認的檔案系統是 Ext4,它是 Ext3(Ext2) 檔案系統的升級版,在性能、伸縮性和可靠性方面進行了大量改進,變化可以說是翻天覆地的,比如:

  • 向下兼容 Ext3;
  • 最大 1EB 檔案系統和 16TB 檔案;
  • 無限數量子目錄;
  • Extents 連續資料塊概念;
  • 多塊分配、延遲分配、持久預分配;
  • 快速 FSCK、日志校驗、無日志模式、在線碎片整理、inode 增強、默認啟用 barrier 等;

Linux支持的常見檔案系統
Linux 系統能夠支持的檔案系統非常多,除 Linux 默認檔案系統 Ext2、Ext3 和 Ext4 之外,還能支持 fat16、fat32、NTFS(需要重新編譯內核)等 Windows 檔案系統,也就是說,Linux 可以通過掛載的方式使用 Windows 檔案系統中的資料,Linux 所能夠支持的檔案系統在 "/usr/src/kemels/當前系統版本/fs" 目錄中(需要在安裝時選擇),該目錄中的每個子目錄都是一個可以識別的檔案系統,我們介紹較為常見的 Linux 支持的檔案系統,如表 1 所示,

 

檔案系統 描 述
Ext Linux 中最早的檔案系統,由于在性能和兼容性上具有很多缺陷,現在已經很少使用
Ext2 是 Ext 檔案系統的升級版本,Red Hat Linux 7.2 版本以前的系統默認都是 Ext2 檔案系統,于 1993 年發布,支持最大 16TB 的磁區和最大 2TB 的檔案(1TB=1024GB=1024x1024KB)
Ext3 是 Ext2 檔案系統的升級版本,最大的區別就是帶日志功能,以便在系統突然停止時提高檔案系統的可靠性,支持最大 16TB 的磁區和最大 2TB 的檔案
Ext4

是 Ext3 檔案系統的升級版,Ext4 在性能、伸縮性和可靠性方面進行了大量改進,Ext4 的變化可以說是翻天覆地的,比如向下兼容 Ext3、最大 1EB 檔案系統和 16TB 檔案、無限數量子目錄、Extents 連續資料塊 概念、多塊分配、延遲分配、持久預分配、快速 FSCK、日志校驗、無日志模式、在線碎片整理、inode 增強、默認啟用 barrier 等,它是 CentOS 6.3 的默認檔案系統

swap swap 是 Linux 中用于交換磁區的檔案系統(類似于 Windows 中的虛擬記憶體),當記憶體不夠用時,使用交換磁區暫時替代記憶體,一般大小為記憶體的 2 倍,但是不要超過 2GB,它是 Linux 的必需磁區
NFS NFS 是網路檔案系統(Network File System)的縮寫,是用來實作不同主機之間檔案共享的一種網路服務,本地主機可以通過掛載的方式使用遠程共享的資源
iso9660 光碟的標準檔案系統,Linux 要想使用光碟,必須支持 iso9660 檔案系統
fat  就是 Windows 下的 fatl6 檔案系統,在 Linux 中識別為 fat
vfat 就是 Windows 下的 fat32 檔案系統,在 Linux 中識別為 vfat,支持最大 32GB 的磁區和最大 4GB 的檔案
NTFS 就是 Windows 下的 NTFS 檔案系統,不過 Linux 默認是不能識別 NTFS 檔案系統的,如果需要識別,則需要重新編譯內核才能支持,它比 fat32 檔案系統更加安全,速度更快,支持最大 2TB 的磁區和最大 64GB 的檔案
ufs Sun 公司的作業系統 Solaris 和 SunOS 所采用的檔案系統
proc Linux 中基于記憶體的虛擬檔案系統,用來管理記憶體存盤目錄 /proc
sysfs 和 proc —樣,也是基于記憶體的虛擬檔案系統,用來管理記憶體存盤目錄 /sysfs
tmpfs 也是一種基于記憶體的虛擬檔案系統,不過也可以使用 swap 交換磁區


檔案系統詳解:https://blog.csdn.net/hguisu/article/details/7401963

 

 4 . 用戶態和內核態


 應用程式是無法直接訪問硬體資源的,需要通過通過內核SCI 層提供的介面來訪問硬體資源,   

   Linux系統將自身劃分為兩部分,一部分為核心軟體,即是kernel,也稱作內核空間,另一部分為普通應用程式,這部分稱為用戶空間,

       區分用戶空間和內核空間的目的是為確保系統安全,在CPU的所有指令中,有一些指令是非常危險的,如果錯用,將導致整個系統崩潰,比如:清記憶體、設定時鐘等,因為如果應用程式和內核在同一個保護級別,那么應用程式就有可能有意或者不小心進入了內核空間,破壞了內核空間的代碼和資料,系統崩潰就不足為奇,所以CPU將指令分為特權指令和非特權指令,對于那些危險的指令,只允許作業系統及其相關模塊使用,普通的應用程式只能使用那些不會造成災難的指令,Intel的CPU將特權級別分為4個級別:RING0,RING1,RING2,RING3, 內核空間級別為“RING0”, 用戶空間級別為RING3,

      linux的內核是一個有機的整體,每一個用戶行程運行時都好像有一份內核的拷貝,每當用戶行程使用系統呼叫時,都自動地將運行模式從用戶級轉為內核級,此時行程在內核的地址空間中運行,

       當應用程式行程執行系統呼叫而陷入內核代碼中執行時,我們就稱行程處于內核運行態(或簡稱為內核態),此時處理器處于特權級最高的(RING0級)內核代碼中執行,當行程處于內核態時,執行的內核代碼會使用當前行程的內核堆疊,每個行程都有自己的內核堆疊,當行程在執行用戶自己的代碼時,則稱其處于用戶運行態(用戶態),即此時處理器在特權級最低的(RING3級)用戶代碼中運行,當正在執行用戶程式而突然被中斷程式中斷時,此時用戶程式也可以象征性地稱為處于行程的內核態,因為中斷處理程式將使用當前行程的內核堆疊,這與處于內核態的行程的狀態有些類似,

       內核態與用戶態是作業系統的兩種運行級別,跟intel cpu沒有必然的聯系, 如上所提到的intel cpu提供Ring0-Ring3四種級別的運行模式,Ring0級別最高,Ring3最低,Linux使用了Ring3級別運行用戶態,Ring0作為 內核態,沒有使用Ring1和Ring2,    

 

內核空間和用戶空間

x86 CPU采用了段頁式地址映射模型,行程代碼中的地址為邏輯地址,經過段頁式地址映射后,才真正訪問物理記憶體,

通常32位Linux內核地址空間劃分0~3G為用戶空間,3~4G為內核空間,64位內核地址空間劃分是不同的,

32位與64位具體地址分布如下圖:

 

64位地址時將0x0000,0000,0000,0000 – 0x0000,7fff,ffff,f000這128T地址用于用戶空間,參見定義:

#define TASK_SIZE_MAX   ((1UL << 47) - PAGE_SIZE),注意這里還減去了一個頁面的大小做為保護,

而0xffff,8000,0000,0000以上為系統空間地址,注意:該地址前4個都是f,這是因為目前實際上只用了64位地址中的48位(高16位是沒有用的),而從地址0x0000,7fff,ffff,ffff到0xffff,8000,0000,0000中間是一個巨大的空洞,是為以后的擴展預留的,

而真正的系統空間的起始地址,是從0xffff,8800,0000,0000開始的,參見:

#define __PAGE_OFFSET     _AC(0xffff,8800,0000,0000, UL)

而32位地址時系統空間的起始地址為0xC000,0000,

另外0xffff,8800,0000,0000 – 0xffff,c7ff,ffff,ffff這64T直接和物理記憶體進行映射,0xffff,c900,0000,0000 – 0xffff,e8ff,ffff,ffff這32T用于vmalloc/ioremap的地址空間,

而32位地址空間時,當物理記憶體大于896M時(Linux2.4內核是896M,3.x內核是884M,是個經驗值),由于地址空間的限制,內核只會將0~896M的地址進行映射,而896M以上的空間用做一些固定映射和vmalloc/ioremap,而64位地址時是將所有物理記憶體都進行映射,

內核態與用戶態

       用戶態Ring3狀態不能訪問內核態Ring0的地址空間,包括代碼和資料,(例如32位Linux行程的4GB地址空間,3G-4G部 分大家是共享的,是內核態的地址空間,這里存放在整個內核的代碼和所有的內核模塊,以及內核所維護的資料),用戶運行一個程式,該程式所創建的行程開始是運行在用戶態的,如果要執行檔案操作,網路資料發送等操作,必須通過write,send等系統呼叫,這些系統呼叫會呼叫內核中的代碼來完成操作,這時,必 須切換到Ring0,然后進入內核地址空間去執行這些代碼完成操作,完成后,切換回Ring3,回到用戶態,這樣,用戶態的程式就不能 隨意操作內核地址空間,具有一定的安全保護作用,

處理器總處于以下狀態中的一種:

1、內核態,運行于行程背景關系,內核代表行程運行于內核空間;

2、內核態,運行于中斷背景關系,內核代表硬體運行于內核空間;

3、用戶態,運行于用戶空間,

從用戶空間到內核空間有兩種觸發手段:

1.系統呼叫:

用戶空間的應用程式,通過系統呼叫,進入內核空間,這個時候用戶空間的行程要傳遞很多變數、引數的值給內核,內核態運行的時候也要保存用戶行程的一些暫存器值、變數等,所謂的“行程背景關系”,可以看作是用戶行程傳遞給內核的這些引數以及內核要保存的那一整套的變數和暫存器值和當時的環境等,

2.中斷:  

硬體通過觸發信號,導致內核呼叫中斷處理程式,進入內核空間,例如網卡發送一個資料包或硬碟驅動器提供一次 IO 請求等,這個程序中,硬體的一些變數和引數也要傳遞給內核,內核通過這些引數進行中斷處理,所謂的“中斷背景關系”,其實也可以看作就是硬體傳遞過來的這些引數和內核需要保存的一些其他環境(主要是當前被打斷執行的行程環境),


————————————————
著作權宣告:本文為CSDN博主「規速」的原創文章,遵循 CC 4.0 BY-SA 著作權協議,轉載請附上原文出處鏈接及本宣告,
原文鏈接:https://blog.csdn.net/hguisu/article/details/6122513

 

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

標籤:其他

上一篇:ZeroTier-One搭建moon-加速p2p穿透

下一篇:超詳細的網路抓包神器 tcpdump 使用指南

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