原创 進程間通信(信號)

linux系統進程間通信有很多種方式:較多使用的有信號,管道以及System VIPC。各種通信方式各有優缺點。這部分主要就進程間通信方式進行總結。 1 信號。 信號進行進程間通信方式有一點需要明確:信號只能通知,不能在進程間共享數據資源

原创 vim使用(2)

vim的使用(2) 上一個系列寫了一些vim的基本使用情況,這部分寫一些vim的高級應用。不過這部分的內容不是特別重要,在學習中可以在上一個系列的基礎上已經掌握的情況下進一步使用的時候掌握。 vim的多文件編輯 在上一個博文中使用vim

原创 網絡安全編程心得——大學篇

        開設這個專欄,不是爲了炫耀技術,僅僅是因爲捨不得。這種捨不得來自於自己曾經的付出,付出就會傾注精力和時間。在讀研期間,研究內核、操作系統、網絡協議,傾注了自己大量的心血。可惜,最後自己選擇的卻是和這些不相關的工作,不得不說

原创 網絡安全編程——網絡接口信息獲取(1)

一、網絡接口信息獲取 1.1 獲取網絡接口信息 本代碼來源於《網絡安全開發包詳解》部分地方做了修改。 編譯方式:(懶人編譯法) gcc  1_1.c -lpcap 生成a.out可執行文件使用命令:./a.out執行。 與書上不同的地方

原创 網絡安全開發系列--筆記(1)

網絡安全技術 1.數據包捕獲技術操作系統提供的數據包捕獲技術主要存在三種: SOCK_PACKET類型套接口:利用操作系統提供的編程接口來實現 數據鏈路提供者接口DLPI: 伯克利數據包過濾(BPF):高效數據包捕獲技術,工作操作系統內核

原创 系統安全編程之文件操作(1)

參考來源《WINDOWS黑客技術揭祕與攻防》 文件操作技術 1.c語言標準庫函數進行文件操作          打開文件:fopen 關閉文件:fclose 讀取文件:fgetc、fread、fscan 寫入文件:fputc、fwrite

原创 Libpcap編程(5)理論總結

前幾篇文章分析和改寫了libpcap編程的源代碼,對libpcap有了一個初步的大致的瞭解。爲了堅持一貫的理論與實際相結合的原則,這篇博文將進行一些理論性的總結和描述。   網絡數據包捕獲技術          操作系統提供的捕獲機制主要

原创 選擇排序---堆排序

因爲很多書都介紹了原理,這裏就不過多闡述這裏直接貼上代碼再說。 測試代碼: //#include"b_heapsort.h" #include"s_heapsort.h" int main(int argc,char **argv) {

原创 Git的安裝和使用(1)

1 linux上安裝Git 首先使用git命名查看是否安裝: 上課可以看出,系統沒有安裝git(本系統使用的是Ubuntu)所以可以使用apt-get install git,如果是centos或者Redhat則可以使用yum inst

原创 ipv6和ipv4(1)

20174年7月5日 參考資料: 《Linux高性能服務器編程》        linux-2.6.32源代碼 《TCP/IP詳解》(卷一)          網絡編程最重要的一個環節就是要理清TCP/IP傳輸協議棧。而協議棧的學習自然

原创 libpcap編程(7)最後一篇

前面針對libpcap的編程可信部分已經記錄的差不多了,這裏進行最後一個部分的總結。協議分析,主要是以一個以太網協議作爲因子,後期別的協議採用同樣的方式。層層深入分析。 源代碼程序: #include #include #include

原创 數據結構之---順序表

源代碼: 本代碼僅僅顯示了順序表中基本的刪除,顯示等操作。其他相關操作可以進一步擴充。接下來是實現線性表中的鏈表結構。 #include #include #define MAXLINE 1000 typedef struct { i

原创 centos 下刪除啓動核

linux系統下伴隨升級可能存在多個啓動核或者因爲系統兼容性問題、安裝出錯出現一些啓動核不能正常使用。在centos下刪除這些啓動核如下步驟進行: 1 查看當前系統中存在的啓動核: [zhangyu@bogon ~]$ rpm -q ke

原创 linux下常用命令總結(文件和目錄)

該部分內容大多來自《鳥哥的私房菜》但是因爲涉及的內容繁雜且多樣,本內容主要針對常用命令和參數進行總結。主要目的是爲了在使用過程中進行查閱。 目錄和路徑 cd、pwd、mkdir、rmdir cd 切換目錄 .當前目錄;..

原创 排序算法--插入排序(直接插入排序)

引入我的代碼片: #include #include void dire_sort(int *,int); int main(int argc,char **argv) { unsigned int data[]={3,2,13,45