原创 netfilter鏈接跟蹤實現之nf_conntrack_in函數

1、數據包方向 要分析連接鏈接跟蹤的實現我們就要先分析數據包在協議棧中的方向,總的來說主要分爲三個方向:本機轉發的數據包、本機接受的數據包、本機產生的數據包,我們之前分析了連接跟蹤只在四個鏈上註冊了鉤子函數,分別是PRE_ROUTING鏈

原创 suricata初始化流程

                                            suricata初始化流程 1、簡介  suricata是一款高性能的IDS、IPS和網絡安全監測引擎。採用多線程模式,利用多核優勢。支持多種協議:例

原创 suricata應用層協議解析

                                              suricata應用層協議解析 1. 協議註冊 應用層協議保存在全局變量static AppLayerParserCtx alp_ctx; typ

原创 IPsec相關數據結構1

版權聲明:如有需要,可供轉載,但請註明出處:https://blog.csdn.net/City_of_skey/article/details/86562770 目錄 1、簡介 2、xfrm_state 3、xfrm_policy 4、

原创 IPsec協議過程

版權聲明:如有需要,可供轉載,但請註明出處:https://blog.csdn.net/City_of_skey/article/details/86618784 目錄 1、IKE 2、第一階段 2、第二階段 1、IKE 爲了解決固定祕鑰

原创 IPsec初始化

版權聲明:如有需要,可供轉載,但請註明出處:https://blog.csdn.net/City_of_skey/article/details/86586382 目錄 1、簡介 2、狀態初始化 3、策略初始化 4、輸入初始化 1、簡介

原创 IPsec協議相關結構2

版權聲明:如有需要,可供轉載,但請註明出處:https://blog.csdn.net/City_of_skey/article/details/86563402 目錄 1、xfrm_type 2、xfrm_mode 3、xfrm_pol

原创 golang之channel

1、channel簡介 go語言中併發程序非常簡單直接用關鍵字go就可以起一個協程,go語言的協程是語言級別的所以它的開銷比線程、進程要小,因爲線程和進程是系統級別的併發。go語言協程同步可以通過channel來解決。 channel有三

原创 linux下進程的狀態

Linux是一個多用戶,多任務的系統,可以同時運行多個用戶的多個程序,就必然會產生很多的進程,而每個進程會有不同的狀態。 Linux進程狀態:R (TASK_RUNNING),可執行狀態。      只有在該狀態的進程纔可能在CPU上運行

原创 linux同步機制之互斥鎖

 版權聲明:如有需要,可供轉載,但請註明出處:https://blog.csdn.net/City_of_skey/article/details/85494572   目錄 1、簡介 2、API 2.1 pthread_mutex_in

原创 linux同步機制條件變量

目錄   1、條件變量 2、條件變量API 2.1 pthread_cond_init 2.2 pthread_cond_wait 2.3 pthread_cond_timedwait 2.4 pthread_cond_signal 2.

原创 死鎖

版權聲明:如有需要,可供轉載,但請註明出處:https://blog.csdn.net/City_of_skey/article/details/85542643 目錄 1、產生死鎖條件 2、死鎖例子 3、避免死鎖 1、產生死鎖條件 死鎖