Time of Update: 2018-12-05
文章目錄 netfilter各個HOOK的關係 netfilter各個HOOK的關係最近哥們兒們對網路核心問的問題逐漸增多,本人 從前分析過2。2的網路原始碼,並且對BSD也有所瞭解。但是我也注意到由於2。4對於SMP更好的支援以及改寫了防火牆部分代碼,因而網路源碼IP層的變化較大。本人在北京理工大學xumei_bit網友邀請下協助他(她)分析防火牆部分。因此正好也可以藉此機會,將自己的拙作與大家共用。
Time of Update: 2018-12-05
ww7109(stranger)04-08-23 14:10請問如何在核心中得到網卡的mac地址?根據網卡名子得到mac地址也可 回複 文章選項: dl_dht(addict)04-08-23 18:56Re: 請問如何在核心中得到網卡的mac地址?根據網卡名子得到mac地址也可 [re: ww7109]回複 struct net_device *dev = dev_get_by_name("ethx"); dev->dev_addr -----------------
Time of Update: 2018-12-05
1. #include <iostream.h>2. int main(int argc, char* argv[])3. {4. char str[10];5. char *pStr = str;6. cout << sizeof(str) << endl;7. cout << sizeof(pStr) << endl;8. return 0;9. }1。char str[10];後,我們應該把 str 看作一個類型為
Time of Update: 2018-12-05
lzgogogo(stranger)03-11-16 18:45怎麼樣在核心中按照自己的需要的向外發送一個資料包? 回複 我在Netfilter架構下面寫了一段包處理的函數,現在要實現一個功能,是按照自己的要求產生一個資料包並且發送出去.比如說我現在要發送一個資料包,該資料包從192.168.1.154:80發送到192.168.1.155, Seq為3187958690 ACK為 3187958691,SYN ACK置位等等
Time of Update: 2018-12-05
USB的重要關鍵字:1、端點:位於USB裝置或主機上的一個資料緩衝區,用來存放和發送USB的各種資料,每一個端點都有惟一的確定地址,有不同的傳輸特性(如輸入端點、輸出端點、配置端點、批量傳輸端點)2、幀:時間概念,在USB中,一幀就是1MS,它是一個獨立的單元,包含了一系列匯流排動作,USB將1幀分為好幾份,每一份中是一個USB的傳輸動作。3、上行、下行:裝置到主機為上行,主機到裝置為下行問題一:USB的傳輸線結構是如何的呢?答案一:一條USB的傳輸線分別由地線、電源線、D+、D-四條線構成,
Time of Update: 2018-12-05
我們知道,當我們在瀏覽器裡面輸入網址時,DNS伺服器會自動把它解析為IP地址,瀏覽器實際上尋找的是IP地址而不是網址。那麼IP地址是如何轉換為第二層物理地址(即MAC地址)的呢?在區域網路中,這是通過ARP協議來完成的。ARP協議對網路安全具有重要的意義。通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網路中產生大量的ARP通訊量使網路阻塞。所以網管們應深入理解ARP協議。一、什麼是ARP協議 ARP協議是“Address Resolution Protocol”(位址解析通訊協定)的縮寫。
Time of Update: 2018-12-05
〈是男人就下一百層〉,是我們工作室組建以來的第一個作品。由於時間原因,當時開發的時候我都是拼了命地趕進度。有幾天晚上我都累得眼睛都睜不開了。而對於美工,我要求也不是很嚴格。 遊戲提交給歡熊公司後,我們都輕鬆了。 這都快一個月了,可是依然沒被發布。昨天問了一下,還好還好,今天就要在官網上發布了。發布地址為:http://www.ca8.com.cn/Download/DownloadView.aspx?ID=99
Time of Update: 2018-12-05
網路裝置的IP地址結構 回複 網路裝置的IP地址結構====================(1) 在TCPIP協議環境下,網路裝置結構(net_device)具有一個ip_ptr指標指向IP協議的裝置參數區塊(in_device),它包含裝置IP地址結構(in_ifaddr)的鏈表指標(ifa_list).IP地址結構鏈可以為一個網路裝置配置多個IP地址,使得區域網路中的單台主機能類比多台主機的作用. (2) 裝置IP地址的配置由應用程式通過ioctl()系統調用使用ifreq參數結構來完成.
Time of Update: 2018-12-05
啟動的時候,PCI匯流排驅動會掃描匯流排上所有的PCI裝置,為每一個裝置建立一個struct pci_dev結構,相當於裝置的配置空間的資訊結構,所以系統在啟動後,沒有載入驅動前,列出所有PCI裝置的資訊。當系統檢測到某個PCI裝置時,將為該裝置分配中斷號、儲存空間基址等,這些資訊都被填入PCI裝置的配置空間中,即填入struct pci_dev
Time of Update: 2018-12-05
以下的語句居然是正確的: char *p ; p = "abcd"; p = "abcdef"; 就因為這幾句代碼,讓我丟大了臉。不過靜下心來想想,其正確性也不是沒理由的: 對於代碼裡的字串,例如上面的"abcd","abcdef",編譯器在編譯時間就會開闢記憶體來儲存這些字串----事實上它們是屬於const string。你可以寫個簡單的程式,然後讓編譯器輸出彙編代碼看看。當程式運行時,p只是換了地址,當p=
Time of Update: 2018-12-05
ARP協議實現原理 作者<asdjf@163.com> 2002/11/01 ARP是Address Resolution Protocol的縮寫。中文譯做“位址解析通訊協定”,本質是完成網路地址到物理地址的映射。從概念上講就是找到一個映射方法f,使得“物理地址 =
Time of Update: 2018-12-05
當用OpenProcess函數開啟某個進程的控制代碼時,如果事先沒有設定使用者的SeDebugPrivilege許可權的話會返回INVALID_HANDLE_VALUE,所以必須先設定許可權再調用OpenProcess,代碼如下: BOOL SetPrivilege( HANDLE hToken, // access token handle LPCTSTR lpszPrivilege, // name
Time of Update: 2018-12-05
Strong ARM SA1110的USB解決方案USB Interface Solution For Strong ARM SA1110■洛陽工業高等專科學校電腦系 李 蒙 舒雲星由於Intel Strong ARM SA1110
Time of Update: 2018-12-05
“類的友員函數可以直接存取該類的所有成員,但它不是成員函數,可以象普通函數一樣在任何地方被調用” 這樣看上去,友員函數與成員函數的區別就僅僅在於友員函數可以在任何地方被調用,於是我寫了下面的代碼:class CDemo{ private: int m_a; public: friend void ShowMsg(void); int Get_m_a() const; void Set_m_a(int a); };void ShowMsg(void){
Time of Update: 2018-12-05
Linux2.4.0IP層轉寄流程 Email:getmoon@163.com QQ:505333 欲攬明月 :http://linuxsouce.home.sohu.com/download/ipforward.zip 其他文檔下載:http://linuxsouce.home.sohu.com/download/index.html /*關於本地接收到一個資料包是本地發送還是轉寄的分流,請看我畫的IP層資料流程*/ /*轉寄一個資料包*/ /*所有的選項都沒有沒有細節到每個選項裡面*/
Time of Update: 2018-12-05
先看傳統的遊戲訊息主迴圈:while(1) { if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { if(msg.message==WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } else { //there is no message and now to due the game
Time of Update: 2018-12-05
以下資料翻譯自:http://gpwiki.org/index.php/HGE:Tutorials:Resource_Manager Resource Manager The resource manager is a way of defining textures, sprites, sounds, and other items that your application makes use of. hgeresourceManager is an HGE helper class
Time of Update: 2018-12-05
堆和棧的區別 一、預備知識—程式的記憶體配置一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。2、堆區(heap) — 一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收 。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鏈表,呵呵。3、全域區(靜態區)(static)—,全域變數和靜態變數的儲存是放在一塊的,初始化的全域變數和靜態變數在一塊地區,
Time of Update: 2018-12-05
我的DirectDraw7學習之旅 學習DirectDraw大概兩個月,這兩個月也是我系統地學習遊戲編程的兩個月。所以在這個時間段裡,我還學習了其他的東西,例如C++----當然,C++不是容易學的,我只學了點皮毛-----後來看《C++編程經典》,看到滿世界的對象,頓時覺得自己的程式中的那些“物件導向”是多麼粗糙!我的整個學習過程都是以漸進式做東西而推進的,即是學到一個階段了就會去做一個遊戲---這樣學習很快,可以很快的把握住一個整體的脈絡!下面是我在自己的學習日誌中記錄的一些東西,前面一些
Time of Update: 2018-12-05
const傳奇xlander譯 簡介當我自己寫程式需要用到const的時候,或者是讀別人的代碼碰到const的時候,我常常會停下來想一會兒。許多程式員從來不用const,理由是即使沒用const他們也這麼過來了。本文僅對const的用法稍作探討,希望能夠對提高軟體的原始碼品質有所協助。 常變數變數用const修飾,其值不得被改變。任何改變此變數的代碼都會產生編譯錯誤。Const加在資料類型前後均可。例如:void main(void){const int i = 10;