国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Libnids分析

2019-11-08 03:16:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、當(dāng)日工作(或?qū)W習(xí))內(nèi)容及進(jìn)展情況(以條目式陳述,必要時(shí)配圖說(shuō)明)

Libnids讀書(shū)筆記:

Libnids(Library Network Intusion Detection System)網(wǎng)絡(luò)入侵檢測(cè)開(kāi)發(fā)包,基于libpcap和libnet開(kāi)發(fā),是仿照linux內(nèi)核中的TCP/ip協(xié)議部分而實(shí)現(xiàn)的。

 

libnids主要功能包括捕獲網(wǎng)絡(luò)數(shù)據(jù)包、IP碎片重組、TCP數(shù)據(jù)流重組以及端口掃描攻擊檢測(cè)和異常數(shù)據(jù)包檢測(cè)等。IP碎片重組是libnids的一個(gè)重要內(nèi)容,是仿照l(shuí)inux內(nèi)核中的IP重組而實(shí)現(xiàn)的,所以非常可靠。libnids提供了TCP數(shù)據(jù)流重組功能,這是libpcap所不具備的,利用TCP數(shù)據(jù)流重組,可以分析基于TCP協(xié)議的各種應(yīng)用層協(xié)議。另外,LIBNIDS還提供了檢測(cè)TCP端口掃描攻擊的功能,檢測(cè)異常數(shù)據(jù)包的功能,這是入侵檢測(cè)系統(tǒng)(IDS)最基本的功能。

 

LIBNIDS的使用范圍:

入侵檢測(cè)系統(tǒng)網(wǎng)絡(luò)協(xié)議分析網(wǎng)絡(luò)嗅探(網(wǎng)絡(luò)監(jiān)視)

除此之外利用LIBSNIDS還可以重現(xiàn)網(wǎng)絡(luò)內(nèi)容,還原網(wǎng)絡(luò)數(shù)據(jù),如重現(xiàn)HTTP協(xié)議中傳輸?shù)木W(wǎng)頁(yè)、POP3協(xié)議中傳輸?shù)碾娮余]件等。

 

LIBNIDS數(shù)據(jù)結(jié)構(gòu)

基本常量

1.報(bào)警類型

下面是在LIBSNIDS中定義的警告描述常量

 

2. LIBNIDS狀態(tài)

在對(duì)TCP數(shù)據(jù)流進(jìn)行重組時(shí),必須考慮到TCP的連接狀態(tài),在LIBNIDS中為了方便開(kāi)發(fā)而定義了LIBNIDS狀態(tài),共有如下6種:

LIBNIDS描述的是連接的邏輯狀態(tài)。真正的TCP連接狀態(tài)有11種,它們對(duì)應(yīng)于TCP協(xié)議的狀態(tài)變遷圖中的各個(gè)狀態(tài),定義如下:

 

3.校驗(yàn)和

實(shí)現(xiàn)了關(guān)于是否計(jì)算校驗(yàn)和的功能

 

tuple4

是LIBNIDS中最基本的一種數(shù)據(jù)結(jié)構(gòu)

 

half_stream

用來(lái)描述TCP連接中一端的所有信息,客戶端或服務(wù)器端。

 

tcp_stream

是一個(gè)TCP連接的所有信息

 

nids_PRm

描述了LIBNIDS的一些全局參數(shù)信息

 

其中ip_filter函數(shù)指針,當(dāng)IP數(shù)據(jù)包到達(dá)時(shí),默認(rèn)函數(shù)nids_ip_filter被調(diào)用,如果此函數(shù)返回非零值,此數(shù)據(jù)包就被處理;如果返回零,就被丟棄。nids_ip_filter函數(shù)定義如下:

 

在LIBNIDS中用nids_prm數(shù)據(jù)結(jié)構(gòu)定義了一個(gè)全部變量nids_params,其定義和初始值如下:

在使用LIBNIDS開(kāi)發(fā)程序時(shí),可以首先對(duì)nids_params全局變量的值進(jìn)行修改,這樣對(duì)整個(gè)libnids就全部有效。

 

nids_chksum_ctl

描述的是計(jì)算檢驗(yàn)和

 

LIBNIDS函數(shù)

1.基本函數(shù)

int nids_init(void);

函數(shù)返回值:函數(shù)調(diào)用成功返回1,失敗返回0

對(duì)LIBNIDS進(jìn)行初始化,主要內(nèi)容包括打開(kāi)網(wǎng)絡(luò)接口、打開(kāi)文件、編譯過(guò)濾規(guī)則、設(shè)置過(guò)濾規(guī)則、判斷網(wǎng)絡(luò)鏈路類型、進(jìn)行必要的初始化工作。

 

void nids_run(void);

欲行LIBNIDS,進(jìn)入循環(huán)捕獲數(shù)據(jù)包狀態(tài)。實(shí)際上是調(diào)用LIBPCAP函數(shù)pcap_loop()來(lái)循環(huán)捕獲數(shù)據(jù)包。

 

int nids_getfd(void);

函數(shù)返回值:執(zhí)行成功就返回文件描述符,失敗就返回-1。

獲得文件描述符號(hào)

 

int nids_dispatch(int cnt);

函數(shù)返回值:函數(shù)執(zhí)行成功就返回個(gè)數(shù)、失敗就返回負(fù)數(shù)

參數(shù)描述:參數(shù)cnt表示捕獲的數(shù)據(jù)包的個(gè)數(shù)

功能是調(diào)用LIBPCAP中的捕獲數(shù)據(jù)包函數(shù)pcap_dispatch();

 

int nids_next(void);

函數(shù)返回值:成功1,失敗0

調(diào)用LIBPCAP中捕獲數(shù)據(jù)包函數(shù)pcap_next();

 

void nids_register_chksum_ctl(struct nids_chksum_ctl *ptr, int nr)

參數(shù)描述:參數(shù)ptr表示nids_chksum_ctl列表,參數(shù)nr表示列表中的個(gè)數(shù)

決定是否計(jì)算檢驗(yàn)和。是根據(jù)數(shù)據(jù)結(jié)構(gòu)nids_chjsum_ctl中的action進(jìn)行決定的,如果所要計(jì)算的對(duì)象不在列表中,則必須都要計(jì)算檢驗(yàn)和。

 

2.IP碎片函數(shù)

void nids_register_ip_frag(void(*));

參數(shù)描述:參數(shù)應(yīng)該是一個(gè)回調(diào)函數(shù)的名字

注冊(cè)一個(gè)能夠檢測(cè)所有IP數(shù)據(jù)包的回調(diào)函數(shù),包括IP碎片。例如可用如下方式調(diào)用:

nids_register_ip_frag(ip_frag_function);

這樣就注冊(cè)了一個(gè)回調(diào)函數(shù)ip_ftag_function的定義類型如下:

void ip_frag_function(struct ip *a_packet, int len);

其中a_packet表示接受的IP數(shù)據(jù)包,參數(shù)len表示接受的數(shù)據(jù)包的長(zhǎng)度。

此回調(diào)函數(shù)中可以檢測(cè)所有的IP數(shù)據(jù)包,包括IP碎片。

 

void nids_register_ip(void(*));

參數(shù)描述:參數(shù)應(yīng)該是一個(gè)回調(diào)函數(shù)的名字。

注冊(cè)一個(gè)回調(diào)函數(shù),可以接受正常的IP數(shù)據(jù)包。可以使用如下方式調(diào)用:

nids_register_ip(ip_function);

注冊(cè)一個(gè)回調(diào)函數(shù)ip_function,此回調(diào)函數(shù)的定義類型如下:

void ip_function(struct ip *a_packet);

其中a_packet表示的是所捕獲的IP數(shù)據(jù)包。

 

3.TCP數(shù)據(jù)流重組函數(shù)

void nids_register_tcp(void(*));

參數(shù)是一個(gè)回調(diào)函數(shù)

注冊(cè)一個(gè)TCP連接的回調(diào)函數(shù)。定義如下:

void tcp_callback(struct tcp_stream *ns,  void **param);

其中參數(shù)ns表示一個(gè)TCP連接的所有信息,它的類型是tcp_stream數(shù)據(jù)結(jié)構(gòu);參數(shù)param表示要傳遞的連接參數(shù)信息,可以指向一個(gè)TCP連接的私有數(shù)據(jù)。

此回調(diào)函數(shù)接受的TCP數(shù)據(jù)存放在half_stream的緩存中,應(yīng)該馬上取出來(lái),一旦此回調(diào)函數(shù)返回,此數(shù)據(jù)緩存中存儲(chǔ)的數(shù)據(jù)就不存在了。half_stream成員offset描述了唄丟地的數(shù)據(jù)字節(jié)數(shù)。如果不想馬上取出來(lái),而是等到存儲(chǔ)一定數(shù)量的數(shù)據(jù)之后再取出來(lái),那么可以使用函數(shù)nids_discard(struct tcp_stream *a_tcp, int num_bytes);來(lái)處理。這樣回調(diào)函數(shù)返回時(shí),LIBNIDS將丟棄緩存數(shù)據(jù)之前的num_bytes字節(jié)的數(shù)據(jù)。如果不調(diào)用nids_discard()函數(shù),那么緩存數(shù)據(jù)的字節(jié)應(yīng)該為count_new字節(jié)。一般情況下,緩存中的數(shù)據(jù)應(yīng)該是count_offset字節(jié)。

 

void nids_killtcp(struct tcp_stream * a_tcp)

a_tcp表示一個(gè)TCP連接

終止TCP連接。實(shí)際上是調(diào)用LIBNET的函數(shù)進(jìn)行構(gòu)造數(shù)據(jù)包,然后發(fā)送出去。

 

void nids_discard(struct tcp_stream *a_tcp, int num)

a_tcp表示一個(gè)TCP連接,參數(shù)num表示個(gè)數(shù)

丟棄num字節(jié)TCP數(shù)據(jù),用于存儲(chǔ)更多的數(shù)據(jù)。

 

4. UDP注冊(cè)函數(shù)

LIBNIDS也提供了對(duì)UDP協(xié)議的分析,其注冊(cè)函數(shù)定義如下:

void nids_register_udp(void(*))

參數(shù)是一個(gè)回調(diào)函數(shù)

注冊(cè)一個(gè)分析UDP協(xié)議的回調(diào)函數(shù),定義如下:

void udp_callback(struct tuple4 *addr,  char  * buf,  int  len,  struct  ip *iph)

addr表示地址端口信息,包括UDP發(fā)送端的IP地址和端口,以及UDP接收端額IP地址和端口;buf表示UDP協(xié)議負(fù)載數(shù)據(jù)內(nèi)容;len表示UDP負(fù)載數(shù)據(jù)的長(zhǎng)度;iph表示一個(gè)IP數(shù)據(jù)包,包括IP首部、UDP首部以及UDP負(fù)載內(nèi)容。

定以后,在此回調(diào)函數(shù)中就可以對(duì)UDP數(shù)據(jù)包進(jìn)行分析了。

 

LIBNIDS的使用

1.顯示TCP連接

見(jiàn)附件

次程序的功能是重組TCP數(shù)據(jù)流,顯示它們的連接狀態(tài)以及傳輸?shù)脑敿?xì)數(shù)據(jù)。利用此程序可以分析使用LIBNIDS的開(kāi)發(fā)流程。首先用函數(shù)nids_init()進(jìn)行初始化,然后注冊(cè)相應(yīng)的回調(diào)函數(shù),最后讓調(diào)用函數(shù)nids_run()進(jìn)入循環(huán)捕獲數(shù)據(jù)包的狀態(tài)。不同的回調(diào)函數(shù)實(shí)現(xiàn)不同的功能,主要的工作都是在回調(diào)函數(shù)中實(shí)現(xiàn)的。

編譯:gcc –o show_tcp_connection tcp.c –lnids –lpcap –lnet

結(jié)果如下:

 

2.顯示UDP數(shù)據(jù)包

在LIBNIDS中,函數(shù)nids_register_udp()提供了捕獲UDP協(xié)議的接口,在此函數(shù)中注冊(cè)回調(diào)函數(shù),然后在回調(diào)函數(shù)中對(duì)UDP協(xié)議進(jìn)行分析。其回調(diào)函數(shù)類型如下:

void udp_callback(struct tuple4 *addr, char *buf, int len, struct ip *iph)

addr一對(duì)協(xié)議地址和端口;buf表示UDP協(xié)議的負(fù)載內(nèi)容;len為buf長(zhǎng)度;

代碼見(jiàn)附件;

ping了一下suda網(wǎng)站,結(jié)果如下:

 

3.HTTP協(xié)議分析

HTTP協(xié)議用來(lái)實(shí)現(xiàn)WEB服務(wù)器和WEB瀏覽器之間的通信,其設(shè)計(jì)簡(jiǎn)單而靈活,它是基于客戶端、服務(wù)器模型的,使用HTTP可以傳輸任何類型的數(shù)據(jù),它是一個(gè)無(wú)連接的協(xié)議,每次連接只限處理一個(gè)請(qǐng)求。HTTP

協(xié)議是一個(gè)無(wú)狀態(tài)的協(xié)議,其系統(tǒng)運(yùn)行效率高,服務(wù)器應(yīng)答速度快,但如果后續(xù)處理需要用到前面的信息,則必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。

HTTP協(xié)議的運(yùn)行基本過(guò)程主要有四步:首先瀏覽器與服務(wù)器建立連接;其次瀏覽器向服務(wù)器發(fā)送請(qǐng)求信息;然后服務(wù)器對(duì)請(qǐng)求做出應(yīng)答,并發(fā)送給瀏覽器;最后數(shù)據(jù)傳送完畢,關(guān)閉瀏覽器和服務(wù)器之間的連接。

其中最重要的是瀏覽器發(fā)送請(qǐng)求消息給服務(wù)器。請(qǐng)求消息包括的內(nèi)容非常廣泛,其中一般有請(qǐng)求行、普通頭、HTTP請(qǐng)求頭、實(shí)體頭和實(shí)體。所有請(qǐng)求消息都由1個(gè)請(qǐng)求行、0個(gè)或多個(gè)頭部行和1個(gè)回車換行組成。其中頭部行可以是普通頭、HTTP請(qǐng)求頭或?qū)嶓w頭,頭部行之后是回車換行,回車換行之后可能有一個(gè)實(shí)體,也可以沒(méi)有實(shí)體。回車換行表示實(shí)體的開(kāi)始。

HTTP請(qǐng)求頭中包括請(qǐng)求方法,HTTP請(qǐng)求方法有GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT。但是最常用的方法是GET,HEAD和POST。

瀏覽器向服務(wù)器發(fā)送一個(gè)請(qǐng)求,稱為請(qǐng)求行,使用方式如下:

Method SP Request-URI SP HTTP-Version CRLF

其中Method表示請(qǐng)求方法。例如,GET表示請(qǐng)求指定的頁(yè)面信息,并返回實(shí)體主體;HEAD表示只請(qǐng)求頁(yè)面的首部;從客戶機(jī)到服務(wù)器傳送數(shù)據(jù),在要求服務(wù)器和CGI做進(jìn)一步處理時(shí)會(huì)用到POST方法,它主要用于HTML文本中FORM的內(nèi)容,讓CGI程序處理。Request-URI表示資源。HTTP-Version表示HTTP的版本。

請(qǐng)求頭的內(nèi)容有很多,在這里就不一一列舉了。

瀏覽器發(fā)送給服務(wù)器請(qǐng)求信息后,服務(wù)器及時(shí)做出應(yīng)答。服務(wù)器應(yīng)答向?yàn)g覽器返回的應(yīng)答小異一般包括狀態(tài)行、普通頭、響應(yīng)頭、實(shí)體頭和實(shí)體。

狀態(tài)行的格式如下:

HTTP-Version SP Status-Code SP Reason-Phrase CRLF

其中Status-Code表示狀態(tài)碼,是3個(gè)數(shù)字碼,分為五類,以1開(kāi)頭的表示信息響應(yīng)類,以2開(kāi)頭的表示請(qǐng)求被成功處理,以3開(kāi)頭的表示請(qǐng)求被重定向,以4開(kāi)頭的表示客戶的請(qǐng)求有錯(cuò),以5開(kāi)頭的表示服務(wù)器不能滿足要求。其詳細(xì)描述也不一一列舉了。

無(wú)論是客戶端的請(qǐng)求信息還是服務(wù)器端的應(yīng)答信息,都可能包括普通頭、實(shí)體頭和實(shí)體。其中普通頭內(nèi)容如下。見(jiàn)書(shū)。實(shí)體頭內(nèi)容也見(jiàn)書(shū)。

實(shí)體是傳輸?shù)馁Y源內(nèi)容,是整個(gè)HTTP協(xié)議所要傳輸?shù)恼嬲齼?nèi)容。實(shí)體和頭部用一個(gè)空行分隔開(kāi)。

在理解了HTTP協(xié)議的格式和運(yùn)行機(jī)理之后,可利用LIBNIDS的TCP數(shù)據(jù)流重組機(jī)制來(lái)分析HTTP協(xié)議的內(nèi)容。要實(shí)現(xiàn)的目標(biāo)是把HTTP協(xié)議中的所有信息都進(jìn)行詳細(xì)分析。其完整源代碼見(jiàn)附件。

結(jié)果如下:

 

4.FTP協(xié)議分析

待看

 

5.Telnet協(xié)議分析

待看

 

6.POP3協(xié)議分析

POP3(Post Office Protocol 3)是適用于客戶-服務(wù)器結(jié)構(gòu)的脫機(jī)模型的電子郵件協(xié)議。它規(guī)定了怎樣將個(gè)人計(jì)算機(jī)連接到Internet郵件服務(wù)器和下載電子郵件的電子協(xié)議,允許用戶從服務(wù)器上把郵件存儲(chǔ)到本地主機(jī)上,同時(shí)刪除保存在郵件服務(wù)器上的郵件。POP3服務(wù)器是遵循POP3協(xié)議的接收郵件服務(wù)器,用來(lái)接收電子郵件。

在POP3協(xié)議中有三種狀態(tài):認(rèn)可狀態(tài)、處理狀態(tài)和更新?tīng)顟B(tài)。

當(dāng)客戶機(jī)和服務(wù)器建立聯(lián)系時(shí),一旦客戶機(jī)提供了自己身份并成功確認(rèn),即由認(rèn)可狀態(tài)轉(zhuǎn)入處理狀態(tài),在完成相應(yīng)的操作后客戶機(jī)發(fā)出QUIT命令,則進(jìn)入更新?tīng)顟B(tài),更新之后重返認(rèn)可狀態(tài)。大多數(shù)現(xiàn)有的POP3客戶機(jī)與服務(wù)器執(zhí)行采用ASCII明文發(fā)送用戶名和口令,在認(rèn)可狀態(tài)等待用戶連接的情況下,客戶發(fā)出連接,并由命令user/pass對(duì)在網(wǎng)絡(luò)上發(fā)送明文用戶名和口令給服務(wù)器進(jìn)行身份確認(rèn)。一旦確認(rèn)成功,便轉(zhuǎn)入處理狀態(tài)。

POP3命令你剛由1個(gè)命令和一些參數(shù)組成。所有命令以一個(gè)回車換行CRLF結(jié)束。命令和參數(shù)由可打印的ASCII字符組成,它們之間由空格隔開(kāi)。命令一般是3到4個(gè)字母,每個(gè)參數(shù)卻可達(dá)40個(gè)字符長(zhǎng)。POP3響應(yīng)是由1個(gè)狀態(tài)碼和1個(gè)可能有附加信息的命令組成。所有響應(yīng)也是由回車換行CRL結(jié)束的。有兩周年高狀態(tài)碼,狀態(tài)碼”+OK”表示成功,狀態(tài)碼“-ERR”表示失敗。

對(duì)POP3命令進(jìn)行詳細(xì)介紹,請(qǐng)參考書(shū)。

代碼見(jiàn)附件

 

7.SMTP和ESMTP協(xié)議分析

簡(jiǎn)單郵件傳輸協(xié)議(SMTP, Simple Mail Transfer Protocol)是一組用于由源地址到目的地址傳送郵件的協(xié)議,用以控制新建的中轉(zhuǎn)方式。SMTP協(xié)議用于TCP/IP協(xié)議族,它幫助每臺(tái)計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。通過(guò)SMTP協(xié)議所指定的服務(wù)器,可以把E-mail寄到收信人的服務(wù)器上。SMTP服務(wù)器則是遵循SMTP協(xié)議的郵件發(fā)送服務(wù)商,用來(lái)發(fā)送或中轉(zhuǎn)電子郵件。SMTP工作再兩種情況下,一是電子郵件從客戶機(jī)傳輸?shù)椒?wù)器,二是從某一個(gè)服務(wù)器傳輸?shù)搅硪粋€(gè)服務(wù)器。SMTP提供了一種郵件傳輸機(jī)制,當(dāng)收件方和發(fā)件方都在一個(gè)網(wǎng)絡(luò)上時(shí),可以把郵件直接傳給對(duì)方。當(dāng)雙方不在同一個(gè)網(wǎng)絡(luò)上時(shí),需要通過(guò)一個(gè)或幾個(gè)中間服務(wù)器轉(zhuǎn)發(fā)。SMTP首先由發(fā)件方提出申請(qǐng),要求與接收方SMTP建立雙向的通信渠道。收件方可以是最終收件人,也可以是中間轉(zhuǎn)發(fā)的服務(wù)器。收件方服務(wù)器確認(rèn)可以建立連接后,雙方就可以開(kāi)始通信。

SMTP協(xié)議的基本流程如下:首先,建立連接;其次,客戶端發(fā)送命令,以標(biāo)識(shí)發(fā)件人自己的身份,然后發(fā)送郵件命令,服務(wù)器端做出響應(yīng),表明是否準(zhǔn)備接受;再次,客戶端發(fā)送郵件,以標(biāo)識(shí)該電子郵件的計(jì)劃接收人,服務(wù)器端則表示是否愿意為收件人接收郵件,如果協(xié)商成功,則發(fā)送郵件;最后,結(jié)束此次發(fā)送,退出連接。

在SMTP協(xié)議中,最重要的內(nèi)容是SMTP命令和響應(yīng)狀態(tài),這是STMP運(yùn)行的基礎(chǔ)。SMTP命令都以回車換行作為結(jié)束標(biāo)志,下面對(duì)它們做詳細(xì)描述。(見(jiàn)書(shū))

SMTP客戶端向SMTP服務(wù)器發(fā)送命令之后,SMTP服務(wù)器就會(huì)返回一個(gè)應(yīng)答碼。應(yīng)答碼的每一個(gè)數(shù)字都有特定含義,第一個(gè)數(shù)字為2時(shí)表示命令成功,為5時(shí)表示失敗,3時(shí)表示沒(méi)有完成。詳細(xì)描述應(yīng)答碼的含義(見(jiàn)書(shū))

ESMTP待看。

用LIBNIDS分析SMTP的操作過(guò)程,代碼見(jiàn)附件。

 

8.IP數(shù)據(jù)包的捕獲和分析

LIBNIDS不僅可以捕獲正常的IP數(shù)據(jù)包,也可以捕獲異常的IP數(shù)據(jù)包和IP碎片。LIBNIDS提供了捕獲IP碎片的接口,可對(duì)IP碎片進(jìn)行重組。

代碼見(jiàn)附件

 

9.檢測(cè)攻擊的一個(gè)例子

使用LIBNIDS可以檢測(cè)網(wǎng)絡(luò)攻擊,它是入侵檢測(cè)系統(tǒng)的開(kāi)發(fā)包。在LIBNIDS中提供了一些基本的檢測(cè)技術(shù),如對(duì)網(wǎng)絡(luò)掃描攻擊的檢測(cè),以及對(duì)異常IP數(shù)據(jù)包、異常TCP數(shù)據(jù)包和異常UDP數(shù)據(jù)包的檢測(cè)。

在LIBNIDS提供的所有功能的基礎(chǔ)上還可以進(jìn)行更深入的開(kāi)發(fā),以檢測(cè)更多的入侵行為,它為進(jìn)一步的開(kāi)發(fā)提供了最基本的功能,其中最鎮(zhèn)南關(guān)要的就是TCP數(shù)據(jù)流重組功能。在此基礎(chǔ)上,可以檢測(cè)更多的網(wǎng)絡(luò)攻擊行為,另外LIBNIDS已經(jīng)為開(kāi)發(fā)者提供了一些檢測(cè)攻擊的功能,如上述的端口掃描檢測(cè)功能,數(shù)據(jù)包異常檢測(cè)功能。

檢測(cè)端口掃描攻擊,主要功能來(lái)自LIBNIDS中提供的默認(rèn)函數(shù)sys_log()

代碼見(jiàn)附件

 

二、存在問(wèn)題及分析(以條目式陳述,必要時(shí)配圖說(shuō)明)

       

三、明日工作計(jì)劃(以條目式陳述)

將對(duì)下列例程序的源代碼進(jìn)行分析和改寫(xiě),著重HTTP協(xié)議分析,SMTP和POP3協(xié)議分析

1.顯示TCP連接

2.顯示UDP數(shù)據(jù)報(bào)

3.HTTP協(xié)議分析

4.FTP協(xié)議分析

5.TELNET協(xié)議分析

6.POP3協(xié)議分析

7.SMTP和ESMTP協(xié)議分析

8.IP數(shù)據(jù)包的捕獲和分析

9.檢測(cè)攻擊的一個(gè)例子


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黎城县| 高雄县| 花莲县| 黄平县| 皮山县| 南昌市| 菏泽市| 闸北区| 得荣县| 红安县| 会东县| 富锦市| 故城县| 株洲县| 内江市| 聂荣县| 娄底市| 贡嘎县| 清流县| 锡林浩特市| 涿鹿县| 松原市| 大港区| 台前县| 班戈县| 资阳市| 潼关县| 伊春市| 肥西县| 陆丰市| 剑阁县| 徐汇区| 泗洪县| 丰原市| 普安县| 侯马市| 谢通门县| 海阳市| 宝丰县| 靖边县| 深泽县|