原创 爲什麼要這樣寫:readn(),writen()?

這裏就不貼代碼了。代碼來自《UNIX 網絡編程》第一卷(3rd edition)P72,P73 具體來看看爲什麼要這樣寫。 對於readn() 首先定義了兩個size_t的變量:nleft表示還剩下的字節數;nread表示已經讀取的字節數

原创 Snort:Barnyard2+MySQL+BASE 基於Ubuntu 14.04SNORT

首先明確操作系統平臺是Ubuntu 14.04 LTS 現在我們要在Ubuntu 14.04上部署snort NIDS(入侵檢測系統)。 需要這些東西: SNORT / Barnyard2 / Mysql / Apache2 / BASE

原创 Linux下彙編語言------計算n的階乘

用高級語言比如C語言寫個階乘很簡單,那現在就來熟悉下Linux使用AT&T彙編格式寫一個程序來計算階乘吧 寫法一是 使用跳轉指令實現,寫法二是使用函數來實現 約定:本程序沒有將結果打印在標準輸出上。需要使用GDB調試查看 寫法一 #as

原创 socket中的close和shutdown區別

很明顯這個兩個函數是有差別的。 close 關閉本進程的socket id,但鏈接還是開着的。怎麼理解?我們知道socket描述符是對內核中socket對象的引用。而close操作的正式socket描述符,可以理解爲斷開了當前進程和內核中

原创 TCP 回射服務器

TCP Reflect Server & Client TCP回射服務器。學習了《UNP》的第五章前面的知識,自己把代碼敲出來了,加深了理解吧。 概述 簡單地說就是,Client發送給Server一條消息(一行文本),Server再將同