原创 linux stat

#include <sys/stat.h>   int stat(const char *file_name, struct stat *buf); 通過文件名filename獲取文件信息,並保存在buf所指的結構體stat中 返回值:

原创 SIG_STOP waitpid

學習了髒牛漏洞的提權代碼: 子進程 被 SIG_STOP 後,他的狀態變化,可以被父進程使用waitpid 捕獲。 ( kill(getpid(), SIGSTOP);) 如在在子進程裏面又創建了線程, 那麼子進程的這個主線程SIG_ST

原创 linux ptrace

#include <sys/ptrace.h> long ptrace(enum _ptrace_request request,pid_t pid,void * addr ,void *data);   ptrace()系統調用函數提供

原创 base64 編碼

源碼序列 base64序列 源碼序列3個字符一組, 3*8 = 24 base64 序列, 4*6    也即3個源碼字符編爲4個字符 規則爲 依次取源碼字節的bit序列的6個bit, 作爲低6位, 高2位補0 組成一個新的字節,這個字節

原创 linux /var/log/secure 安全日誌

/var/log/secure 一般用來記錄安全相關的信息,記錄最多的是哪些用戶登錄服務器的相關日誌,如果該文件很大,說明有人在破解你的 root 密碼   很多linux的新發行版已經不再使用,改爲使用rsyslog。 查看rsyslo

原创 c/c++ 無符號數減法

unsigned  int  a = 2; unsigned  int b = 3; unsigned int c = a- b;   printf("%u \r\n", c);   4294967295   a : 補碼   0x000

原创 sipp basic call 腳本

  1 <?xml version="1.0" encoding="ISO-8859-1" ?>   2 <!DOCTYPE scenario SYSTEM "sipp.dtd">   3    4 <!-- This program i

原创 sipp register 腳本

 1 <?xml version="1.0" encoding="ISO-8859-1" ?>   2 <!DOCTYPE scenario SYSTEM "sipp.dtd">   3 <!-- This program is free

原创 SIP DTMF

SIP DTMF 有三種方式 1) 帶外方式, 也就是指傳DTMF信號不走RTP, 通過信令的方式。用的比較多的是 sip INFO消息傳輸。 2)   帶內方式        a) 直接把DTMF 信息當做語音信號處理,但是他和語音的頻

原创 TLS

http://www.mamicode.com/info-detail-1846390.html 對稱加密:  在對稱加密中,數據發送方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理後,使其變成複雜的加密密文發送出去。接收方收到密文

原创 linux 句柄數設置

shell級限制 通過ulimit -n修改,如執行命令ulimit -n 1000,則表示將當前shell的當前用戶所有進程能打開的最大文件數量設置爲1000. 用戶級限制  ulimit -n是設置當前shell的當前用戶所有進程能打

原创 sip stale

ii. Stale   一個標誌,用來指示客戶端先前的請求因其nonce值過期而被拒絕。如果stale是TRUE(大小寫敏感),客戶端可能希望用新的加密迴應重新進行請求,而不用麻煩用戶提供新的用戶名和口令。服務器端只有在收到的請求nonc

原创 FreeSwitch DB Table of sip_authentication

剛開始對於表sip_authentication表中expire值怎麼用不是很清楚,而且對nonce的使用也不清楚。   在註冊鑑權過程中,首先FS會生成nonce值隨401帶給client,這個nonce值會被FS保存到數據庫sip_a

原创 linux c/c++ 程序崩潰時打印調用棧

本文章是在總結前人的帖子後實現的,經過驗證是可以使用的。但是在個別信號下,還是不能詳細的打印有效信息。void dump(void){        char szLog[MAX_LOG_LEN] = {0};        int j,

原创 linux 內存探測和初始化

  1、內存探測     linux在被bootloader加載到內存後, cpu最初執行的內核代碼是arch/x86/boot/header.S彙編文件中的_start例程,設置好頭部header,其中包括大量的bootloader