原创 GCC4的高級功能--緩衝區溢出和棧溢出檢測

選項-D_FORTIFY_SOURCE,可檢測緩衝區溢出 選項-fstack-protector,可檢測棧溢出 示例: CFLAGS+= -O1 -D_FORTIFY_SOURCE=2 -fstack-protector-all

原创 Linux內核參數-共享內存信號量設置

共享內存: 可以通過ipcs -lm命令查看目前系統共享內存的參數限制: # ipcs -lm —— Shared Memory Limits ——– max number of segments = 4096 max seg

原创 bash中使用隨機數

產生正數公式: rnumber=$(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+

原创 更改linux系統共享內存最大值

echo 1073741824 > /proc/sys/kernel/shmmax

原创 bash參數使用技巧

$0 = shell名稱或shell腳本名稱 $1 = 第一個shell參數 ... $9 = 第九個shell參數 $# = 位置參數的個數 "$

原创 bash中的if點滴

if 條件判斷: [ -a FILE ] 如果 FILE 存在則爲真。 [ -b FILE ] 如果 FILE 存在且是一個塊設備文件則爲真。 [ -c FILE ] 如果 FILE 存在且是一個字符設備文件則爲真。 [ -d FILE

原创 awk 內置變量的使用

awk是個優秀文本處理工具,可以說是一門程序設計語言。下面是awk內置變量。   一、內置變量表 屬性 說明 $0 當前記錄(作爲單個變量) $1~$n 當前記錄的第n個字段,字段間由FS分隔 FS 輸入字段分隔符

原创 vi比較有用的命令

1. 上下左右移動(hjkl) 2. 選中一整行(V) 3. 選中一部分(v) 4. 跳到文件頭(gg) 5. 跳到文件尾(G) 6. 撤銷(u) 7. 恢復(ctrl+r) 8. 將選中文字轉爲大寫(U) 9.

原创 bash字符串截取

1. ${var%suffix} 刪除位於var結尾的最小匹配模式 Example: var=abcdeeeeft ${var%e*} = abcdeee 2. ${var%%suffix} 刪除位於var結尾的最大匹配模式 Examp

原创 linux下用RAW socket發送syn包

源碼編譯方法:gcc -o syn syn.c 結果:在centos6上成功運行,用tcpdump抓包分析,發送的對端有syn,ack包返回,一切正

原创 通過netlink實現內核模塊和應用層通信

貼上代碼,方便以後查閱。 skb常用操作函數,比較容易弄混 skb_put : skb->tail += len, skb->len += len skb_pull: skb->data += len, skb->len -= le

原创 linux共享內存的使用--測試程序

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ipc.h> #include <sys/shm.h> #include <errno.h>

原创 linux中如何讓程序出錯產生core

ulimit -c unlimited

原创 bash 尋找包含特定關鍵字的文件

方法1: find . -exec grep "yourkeyword" '{}' \; -print 方法2: grep -R "yourkeyword" ./*

原创 bash中的信號捕獲

格式:trap 動作 信號 Example: trap `rm -f /var/run/test.pid` INT 信號名稱可通過kill -l查看