主頁 >  其他 > 大資料—— Hadoop 常見面試題整理

大資料—— Hadoop 常見面試題整理

2021-09-08 08:53:38 其他

目錄

1. 大資料的特點(4V特征)

2. 談談 Hadoop 的優缺點

3. 為什么 HDFS 不適合存小檔案

4. Hadoop 的核心組件有哪些,并說明下功能

5. Hadoop 與關系型資料庫對比

6. 如果集群中 DataNode 出現錯誤(比如 DataNode 行程死亡或者網路故障造成無法與 NameNode 通信),集群能否立即將宕機的DataNode下線?另外DataNode 下線后,集群將進行什么作業?

7. 簡單說明下 HDFS 中,NameNode ,SecondaryNameNode 和 DataNode 的作用

8. 簡單描述一下 dfs-start.sh 的啟動流程(或者 NameNode 的啟動流程)

9. 什么情況下集群會進入安全模式

10. HDFS 的讀寫執行流程

11. HDFS 的可靠性策略有哪些

12. 如果一個 DataNode 宕機了,如何做恢復

13. MapReduce 的執行流程

14. Yarn 的 Job 提交流程

15. Hadoop 中資料塊(Block)大小如何確定,現有一個檔案大小為260M,Block大小設定為128MB,在進行 split 操作時,會生成幾個 Block

16. Block 大小設定成多少合適

17. MapReduce 中有哪些關鍵類

18. Mapper 中 setup 方法是干嘛的

19. Hadoop Shuffle 原理

20. MapReduce 的調優

21. Hadoop 中支持的存盤格式和壓縮演算法


1. 大資料的特點(4V特征)

  • Volume(大資料量):90% 的資料是過去兩年產生
  • Velocity(速度快):資料增長速度快,時效性高
  • Variety(多樣化):資料種類和來源多樣化 結構化資料、半結構化資料、非結構化資料
  • Value(價值密度低):需挖掘獲取資料價值

2. 談談 Hadoop 的優缺點

優點:

  • 高擴展性:在集群間分配任務資料,可方便的擴展數以千計的節點
  • 高可靠性:Hadoop底層維護多個資料副本
  • 高容錯性:Hadoop框架能夠自動將失敗的任務重新分配
  • 低成本:Hadoop架構允許部署在廉價的機器上
  • 靈活,可存盤任意型別資料
  • 開源,社區活躍

缺點:

  • Hadoop不適用于低延遲資料訪問
  • Hadoop不能高效存盤大量小檔案
  • Hadoop不支持多用戶寫入并任意修改檔案:一個檔案只能有一個寫者,僅支持append

3. 為什么 HDFS 不適合存小檔案

HDFS 檔案存盤是以 Block 進行存盤的(Hadoop 2.x 以后 Block 大小默認為128M),而 Block 元資料大小大概在 150 位元組左右,Block 的元資料會在 NameNode 啟動時加載到記憶體,也就意味著一個小檔案就要占用 NameNode 150 位元組記憶體,如果小檔案過多,NameNode 記憶體很有可能被消耗殆盡,但整個集群存盤資料的量卻很小,失去了HDFS的意義,同時也會影響 NameNode 的尋址時間,導致尋址時間過長

4. Hadoop 的核心組件有哪些,并說明下功能

HDFS:分布式檔案系統,解決分布式存盤

MapReduce:分布式計算框架

YARN:分布式資源管理系統,在 Hadoop 2.x 中引入

Common:支持所有其他模塊的公共工具程式

5. Hadoop 與關系型資料庫對比

6. 如果集群中 DataNode 出現錯誤(比如 DataNode 行程死亡或者網路故障造成無法與 NameNode 通信),集群能否立即將宕機的DataNode下線?另外DataNode 下線后,集群將進行什么作業?

(1)不能立即下線,NameNode不會立即把該節點判定死亡,HDFS 默認的超時時長為10分30秒,如果定義timeout為超時時長,則超時時長的計算公式為:timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval,默認的heartbeat.recheck.interval為5分鐘,dfs.heartbeat.interval默認為3秒

(2)DateNode 下線后,集群將復制下線的 DataNode 管理的塊,在其他 DataNode 上做備份

7. 簡單說明下 HDFS 中,NameNode ,SecondaryNameNode 和 DataNode 的作用

NameNode:

  • master 的角色,是 Hadoop 集群的管理者,也被稱為 HDFS 的元資料節點,集群中只能有一個 Active 的 NameNode 對外提供服務
  • 管理著 HDFS 的名稱空間(檔案目錄樹)及資料塊(Block)映射資訊及副本資訊
  • 負責對接客戶端的讀寫請求

SecondaryNameNode:

  • 負責鏡像備份
  • 完成日志和鏡像的定期合并,即合并 NameNode 的 edit logs 到 fsimage 檔案中

DataNode:

  • worker的角色,負責具體的執行操作
  • 存盤實際的資料塊(Block)
  • 執行資料塊的讀/寫操作

8. 簡單描述一下 dfs-start.sh 的啟動流程(或者 NameNode 的啟動流程)

第一階段:NameNode 啟動

  • 第一次啟動 NameNode 會執行格式化并創建 fsimage 和 edits 檔案,如果不是第一次啟動,則直接加載 fsimage 和 edits 到記憶體中
  • 客戶端對元資料進行增刪改的請求
  • NameNode 記錄操作日志,更新滾動日志
  • NameNode 在記憶體總隊資料進行增刪改查

第二階段:DataNode 啟動

  • 在集群啟動時向 NameNode 注冊存活狀態
  • 啟動時立即執行匯報 Block 資訊,之后每隔1小時匯報一次
  • 與 NameNode 建立 3秒一次的心跳機制,匯報當前健康狀態和磁盤使用情況

第三階段:SecondaryNameNode 啟動

  • SecondaryNameNode 詢問 NameNode 是否需要 checkpoint,直接帶回 NameNode 是否需要 checkpoint 的結果
  • SecondaryNameNode 請求執行 checkpoint
  • 將 NameNode 滾動前的編輯日志和鏡像檔案拷貝至 SecondaryNameNode
  • SecondaryNameNode 加載編輯日志和鏡像檔案到記憶體中進行合并
  • 生成新的鏡像檔案 fsimage.chkpoint
  • 拷貝 fsimage.chkpoint 到 NameNode
  • NameNode 將fsimage.chkpoint 重新命名成fsimage

另外,在這3個階段完成之前,集群處于安全模式

9. 什么情況下集群會進入安全模式

集群啟動時:

由于 NameNode 在啟動時加載的是所有塊位置的映射資訊,而非完整的塊資料,所以需要各個 DataNode 向 NameNode 發送最新的塊串列資訊來驗證塊是否有效,在此期間 NameNode 的檔案系統對于客戶端來說是只讀的

Block例外損壞:

當 NameNode 發現集群中的 Block 丟失數量大于設定閾值時,NameNode 會進入安全模式,對低于閾值的 Block 在其他 DataNode 節點上做備份

在執行負載均衡操作時需要進入安全模式:

由于在做負載均衡操作時會對Block進行復制和洗掉操作,所以需要進入安全模式

10. HDFS 的讀寫執行流程

寫資料執行流程

  • 客戶端通過 Distributed FileSystem 模塊向 NameNode 請求上傳檔案,NameNode 需要檢查目標檔案是否已存在,父目錄是否存在
  • NameNode 回傳是否可以上傳,不能上傳則會回傳例外
  • 確認可以上傳后,客戶端請求第一個 Block 上傳到哪幾個 DataNode 服務器上
  • NameNode 回傳3個 DataNode 節點,例如dn1、dn2、dn3
  • 客戶端通過 FSDataOutputStream 模塊請求 dn1 上傳資料,dn1 收到請求會繼續呼叫 dn2,然后dn2 呼叫 dn3,建立通信管道
  • dn1、dn2、dn3 逐級應答客戶端
  • 客戶端向 dn1 以 packet(64KB)為單位上傳第一個 Block,dn1 收到一個 packet 就會傳給 dn2,dn2 傳給 dn3,dn1 每傳一個 packet 會放入應答佇列等待應答
  • 當第一個 Block 上傳完之后,客戶端會再次請求 NameNode 上傳第二個 Block 服務,直至所有Block 都完成上傳

讀資料執行流程

  • 首先呼叫 FileSystem.open() 方法,獲取到 DistributedFileSystem 實體
  • DistributedFileSystem 向 NameNode 發起 RPC(遠程程序呼叫)請求獲得檔案的開始部分或者全部 Block 串列,對于每個回傳的 Block,都包含 Block 所在的 DataNode 地址,這些 DataNode 會按照 Hadoop 定義的集群拓撲結構得出與客戶端的距離,然后進行排序,如果客戶端本身就是一個 DataNode 節點,那么會優先從本地讀取檔案
  • DistributedFileSystem 會向客戶端回傳一個支持檔案定位的輸入流物件 FSDataInputStream,用于客戶端讀取資料,FSDataInputStream 包含一個 DFSInputStream 物件,這個物件用來管理 DataNode 和 NameNode 之間的 I/O
  • 客戶端呼叫 read() 方法,DFSInputSteam 就會找出離客戶端最近的 DataNode 并連接 DataNode
  • DFSInputStream 物件中包含檔案開始部分的資料塊所在的 DataNode 地址,首先它會連接包含檔案的第一個塊最近的 DataNode,隨后在資料流中重復呼叫 read() 函式,直到一個塊全部讀完為止,如果第一個塊資料全部讀完,就會關閉指向第一個塊的 DataNode 連接,接著讀取下一個塊
  • 如果所有塊都讀完,就會關閉掉所有的流

11. HDFS 的可靠性策略有哪些

檔案完整性:

  • 檔案建立時,每個資料塊都產生校驗和,校驗和保存在 .meta 檔案內
  • 客戶端獲取資料時可以檢查校驗和是否相同,從而發現資料塊是否損壞
  • 如果正在讀取的資料塊損壞,則可以繼續讀取其他副本,同時 NameNode 標記該資料塊已經損壞,然后復制資料塊達到預期的檔案備份數
  • DataNode 在其檔案創建后三周驗證其checksum

網路或機器失效時:

  • 副本冗余
  • 機架感知策略(副本放置策略)
  • 心跳機制策略

NameNode 掛掉時:

  • 主備切換(體現了 Hadoop 集群的高可用)
  • 鏡像檔案和操作日志磁盤存盤
  • 鏡像檔案和操作日志可一個存盤多份,多磁盤存盤

其他保障可靠性機制:

  • 快照:
  • 回收站機制
  • 安全模式

12. 如果一個 DataNode 宕機了,如何做恢復

將宕機的 DataNode 上的資料洗掉,重新當成新節點加入到集群即可

13. MapReduce 的執行流程

  • 預處理;CombineTextInputFormat(針對小檔案多的情形)
  • 切片:切片大小為設定的切片大小上下限和Block大小的中位值,根據切片的數量啟對應數量的Map數量
  • 在每個Map端呼叫readRecord中read()方法并發(mapper)按行讀取
  • 讀取內容存入OutputContainer(削峰) #第一次IO結束
  • 環形緩沖區讀取OutputContainer中的資料
  • 當環形緩沖區資料達到80%時溢寫成小檔案,小檔案中的內容磁區有序,磁區內鍵有序,采用的排序方法為快排() #第二次IO結束,如果有Combiner方法,會在此時執行
  • 小檔案合并成大檔案,歸并排序,大檔案磁區有序,磁區內鍵有序 #第三次IO結束
  • Reduce根據磁區號讀取各自對應的磁區檔案 #第四次IO結束
  • 讀取磁區檔案,根據鍵歸并排序后落盤 #第五次IO結束

14. Yarn 的 Job 提交流程

作業提交:

(1)client 呼叫 job.waitForCompletion 方法,想整個集群提交 MapReduce 作業,

(2)client 向 ResourceManager 申請一個作業 id

(3)ResourceManager 給 Client 回傳該 job 資源的提交路徑(HDFS 路徑)和作業 id,每個作業都有唯一的 id

(4)client 發送 jar 包、切片資訊和組態檔到指定的資源提交路徑

(5)client 提交完資源后,向 ResourceManager 申請運行 ApplicationMaster

作業初始化:

(6)當 ResourceManager 收到 client 的請求后,將該 job 添加到容器調度器(Resource Scheduler)中

(7)在某一個空閑的 NodeManager 領取到該 job

(8)該 NodeManager 創建 Container,并產生 ApplicationMaster

(9)下載 Client 提交的資源到本地,根據分片資訊生成 MapTask 和 ReduceTask

任務分配:

(10)ApplicationMaster 向 ResourceManager 申請運行多個 MapTask 任務資源

(11)ResourceManager 將運行 MapTask 任務分配給空閑的多個 NodeManager,NodeManager 分別領取任務并創建容器

任務運行:

(12)ApplicationMaster 向接收到任務的 NodeManager 發送程式啟動腳本,每個接收到任務的 NodeManager 啟動 MapTask,MapTask 對資料進行處理,并磁區排序

(13)ApplicationMaster 等待所有 MapTask 運行完畢后,向 ResourceManager 申請容器運行 ReduceTask

(14)程式運行完畢后,ApplicationMaster 會向 ResourceManager 申請注銷自己

(15)進度和狀態更新,Yarn 中的任務將其進度和狀態(包括 counter)回傳給應用管理器,客戶端每秒(通過 mapreduce.client.progressmonitor.pollinterval 設定)向應用管理器請求進度更新并展示給用戶,可以從 Yarn WebUI 查看任務執行狀態

作業完成:

除了向應用管理器請求作業進度外,客戶端每5分鐘都會通過呼叫 waitForCompletion() 方法來檢查作業是否完成,時間間隔可以通過 mapreduce.client.completion.polinterval 來設定,作業完成后,應用管理器和 container 會清理作業狀態,作業的資訊會被作業歷史服務器存盤以備之后用戶核查

15. Hadoop 中資料塊(Block)大小如何確定,現有一個檔案大小為260M,Block大小設定為128MB,在進行 split 操作時,會生成幾個 Block

根據官網描述,Hadoop 2.7.3 版本之前,Block 默認大小為 64MB,Hadoop 2.7.3 以后,Block 默認大小為 128MB,可以通過修改hdfs-site.xml檔案中的dfs.blocksize對應的值

會產生2個 Block,因為每次切片時,都要先判斷剩余部分是否大于 Block 大小的1.1倍,不大于1.1倍就劃分到一個 Block

16. Block 大小設定成多少合適

  • HDFS中平均尋址時間大概為10ms;
  • 經過前任的大量測驗發現,尋址時間為傳輸時間的1%時,為最佳狀態,所以最佳傳輸時間:10ms/0.01=1000s=1s
  • 目前磁盤的傳輸速度普遍為100MB/s,最佳block大小計算:100MB/s*1s=100MB,所以我們設定block大小為128MB
  • 實際中,磁盤傳輸速率為200MB/s時,一般設定block大小為256MB;磁盤傳輸速率為400MB/s時,一般設定block大小為512MB

17. MapReduce 中有哪些關鍵類

GenericOptionsParser:為了 Hadoop 框架決議命令列引數的工具類

InputFormate介面可以實作的類:FileInputFormat、ComposableInputformat 等,主要用于檔案為輸入及切割

Mapper:將輸入的 kv 對映射成中間資料 kv 對集合,Maps 將輸入記錄轉變為中間記錄

Reducer:根據 key 將中間資料集合處理合并為更小的資料結果集

Partitioner:對資料按照 key 進行磁區

OutputCollecter:檔案輸出

Combine:本地聚合,Mapper 端的 reduce

18. Mapper 中 setup 方法是干嘛的

setup 方法用于管理 Mapper 生命周期中的資源,加載一些初始化作業,每個 job 執行一次,setup 在完成 Mapper 構造,即將開始執行 map 動作前執行

19. Hadoop Shuffle 原理

定義:

把 map 方法之后 reduce 方法之前這段處理程序稱之為 Shuffle

具體步驟:

  • maptask 的輸出資料會被寫入環形緩沖區(起到削峰的作用),并記錄偏移量
  • 環形緩沖區默認大小為100M,當資料達到80%即80M時,記錄終止偏移量,并溢寫成小檔案
  • 將小檔案資料進行磁區,磁區內進行快速排序(磁區有序,磁區內鍵有序)
  • maptask 結束后,形成的多個小檔案會進行歸并排序并合并成大檔案(磁區有序,磁區內鍵有序)
  • 執行 reducetask 任務,去執行 maptask 的機器上拉取 屬于自己磁區的資料
  • reducetask 對拉取過來的資料進行歸并排序(磁區內鍵有序)

20. MapReduce 的調優

MapReduce 優化方法主要從6個方面考慮:資料輸入、Map 階段、Reduce 階段、IO 傳輸、資料傾斜和常用調優引數

資料輸入:

  • 合并小檔案,在執行 MapReduce 任務之前將小檔案合并,大量小檔案會產生大量的 map 任務,增大 map 任務裝載次數,而任務的裝載比較耗時,從而導致 MapReduce 運行較慢
  • 采用 CombineTextInputFormat.setMinInputSplitSize 來定義最小切片大小,解決輸入端大量小檔案的場景

Map 階段:

  • 減少溢寫次數,通過調整 io.sort.mb 及 sort.spill.percent 引數值,增大觸發溢寫的記憶體上限,減少溢寫次數,從而減少磁盤 IO
  • 減少合并次數,通過調整 io.sort.factor 引數,增大 merge 的檔案數目,減少 merge 次數,從而縮短 MapReduce 處理時間
  • 在 map 之后,不影響業務邏輯的前提下,先進行 combine 處理,減少 IO

Reduce 階段:

  • 合理設定 map 和 reduce 數量,兩個數量都不能太少或者太多,太少會導致 task 等待時間過長,延長處理時間,太多,會導致 map 和 reduce 任務之間競爭資源,造成處理超時等錯誤
  • 設定 map 和 reduce 共存,調整 slow start completedmaps 引數,使 map 運行到一定程度后,reduce 也開始執行,從而減少 reduce 等待時間
  • 規避使用 reduce,因為 reduce 在用于連接資料集的時候會產生大量的網路消耗
  • 合理設定 reduce 端的 buffer,可以通過設定引數來配置,使得 buffer 中的一部分資料可以直接輸送到 reduce,從而減少 IO 開銷,MapReduce.Reduce.input.buffer.percent 的默認值 為 0.0,當值大于 0 時,會保留在指定比例的記憶體讀 buffer 中的資料直接拿給 reduce 使用

IO傳輸:

  • 采用資料壓縮的方式,減少任務的 IO 時間
  • 使用 seq 二進制檔案

21. Hadoop 中支持的存盤格式和壓縮演算法

存盤格式:

  • SequenceFile:以二進制鍵值對的形式存盤資料
  • Avro:將資料定義和資料一起存盤在一條訊息中,其中資料定義以JSON格式存盤,資料以二進制格式存盤
  • RCFile:以列格式保存每個行組資料,他不是存盤第一行然后是第二行,而是存盤所有行上的第一列,然后是所有行上的第二列,以此類推
  • Parquet:是 Hadoop 的一種列存盤格式,提供了搞笑的編碼和壓縮方案

壓縮演算法:

壓縮演算法壓縮比壓縮速度解壓速度
gzip13.4%17.5 MB/s58 MB/s
bzip213.2%2.4 MB/s9.5 MB/s
lzo20.5%49.3 MB/s74.6 MB/s
snappy22.2%59.3 MB/s74.0 MB/s
  • gzip 演算法

?? 特點:
???? hadoop 內置支持,支持native庫,使用方便,壓縮比高
???? 不支持 split,
???? 在壓縮后的檔案大小與 HDFS 塊大小差距不大時,可使用此演算法

??應用場景:
???? 一天或者一個小時的日志壓縮成一個 gzip 檔案,運行mapreduce程式的時候通過多個gzip檔案達到并發,

  • bzip2 演算法

?? 特點:
???? hadoop 內置支持,支持 split,壓縮比很高,
???? 不支持 native 庫,壓縮/解壓速度慢
???? 對于歷史性很大的檔案,想盡可能節省磁盤空間,還要支持split

?? 應用場景:
???? mapreduce 的輸出,壓縮存檔,作為冷資料使用,通常是對大檔案的壓縮,

  • lzo 演算法

?? 特點:
???? 支持 native 庫,壓縮/解壓速度也比較快,合理的壓縮率;支持 split (需要建索引,檔案修改后需要重新建索引),yum 安裝 lzop 命令后,使用方便
???? hadoop 內置不支持,需要手動編譯安裝,
???? 大檔案的存盤,作為熱資料使用

?? 應用場景:
???? 一個大檔案壓縮后依然是兩個或多個 HDFS 塊的大小,還不希望作為冷資料使用

  • snappy 演算法

?? 特點:
???? 高速壓縮速度和合理的壓縮率,支持native庫
???? hadoop 內置不支持,需要手動編譯安裝,不支持 split,沒有 linux 命令可使用

?? 應用場景:
???? mapreduce 程序中 map 的輸出,reduce 或另一個 map 的輸入

22. Hadoop 的資源調度器有哪些

FIFO(先入先出調度器)

Hadoop 1.x 默認調度器

只有一個佇列,將一個一個 job 任務按照時間先后順序進行服務

Capacity Scheduler(容量調度器)

hadoop 2.x 默認調度器

支持多個佇列,每個佇列可以配置一定量的資源,每個采用 FIFO 的方式調度

防止同一個用戶的 job 任務獨占佇列中的資源,調度器會對同一用戶提交的 job 任務所占資源進行限制

分配新的 job 任務時,首先計算每個佇列中正在運行 task 個數與其佇列應該分配的資源量做比值,然后選擇最小的佇列

其次,按照 job 任務的優先級和時間順序,同時要考慮到用戶的資源量和記憶體的限制,對佇列中的 job 任務進行排序執行

多個佇列同時按照任務佇列內的先后順序一次執行,

Fair Scheduler(公平調度器)

支持多個佇列,每個佇列可以配置一定資源,每個佇列中的 job 任務公平共享器所在佇列的所有資源

佇列中的 job 任務都是按照優先級分配資源,優先級越高分配的資源越多,但是為了確保公平每個 job 任務都會分配到資源,游俠你是根據每個 job 任務的理想獲取資源量減去實際獲取資源量的差值決定的,差值越大優先級越高

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

標籤:其他

上一篇:淺談估值模型(一)實作GGM的理想國(附代碼)

下一篇:5G時代-運營商大資料企業獲客最佳手段

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