一種端口防掃描方法、系統(tǒng)、及一種電子裝置的制造方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,特別是涉及一種端口防掃描方法、系統(tǒng)、及一種電子裝置。【
背景技術(shù):
】[0002]隨著網(wǎng)絡(luò)的不斷發(fā)展,路由器作為現(xiàn)在商鋪以及家庭網(wǎng)絡(luò)終端的對外接口,安全問題越來越受到別人的重視,外部的技術(shù)手段越來越先進,以前的技術(shù)越來越難防住現(xiàn)在的外部攻擊,端口掃描的意思是指外部通過掃描家庭或者商鋪路由器判斷是開啟了哪些端口,哪些端口開啟就可以判斷是開啟哪些服務(wù),發(fā)現(xiàn)開啟哪些服務(wù)就可以獲取對方的信息,目前的解決方案通常為配置iptables命令來實現(xiàn)防端口掃描功能,但是這個功能模塊實現(xiàn)起來不夠靈活,所以需要一種更靈活的端口防掃描的實現(xiàn)方案?!?br/>發(fā)明內(nèi)容】[0003]鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種端口防掃描方法、系統(tǒng)、及一種電子裝置,用于解決現(xiàn)有技術(shù)中不能靈活高效的防止端口掃描的問題。[0004]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種端口防掃描方法,所述方法包括以下步驟:在prerouting鏈中添加一鉤子函數(shù);通過所述鉤子函數(shù)添加端口掃描的邏輯判斷規(guī)則,其中,所述鉤子函數(shù)根據(jù)鏈表以及數(shù)組來實現(xiàn)所述邏輯判斷規(guī)則;根據(jù)所述邏輯判斷規(guī)則,對端口收到的報文進行邏輯判斷,以接收所述報文或者丟棄所述報文。[0005]可選的,所述邏輯判斷規(guī)則包括:獲取發(fā)送報文的發(fā)送源的IP地址,當在一預設(shè)時間內(nèi),收到同一IP地址的發(fā)送源發(fā)送的報文達到一閾值時,丟棄所述報文。[0006]可選的,所述邏輯判斷規(guī)則為自定義設(shè)置的邏輯判斷規(guī)則。[0007]可選的,所述鉤子函數(shù)包括:鏈表數(shù)據(jù)判斷結(jié)構(gòu)體,用以對收到的所述報文依據(jù)一預設(shè)的邏輯判斷標準進行邏輯判斷;黑名單數(shù)據(jù)結(jié)構(gòu)體,用于將所述被判斷丟棄的報文的發(fā)送源加入一預設(shè)的黑名單;以及設(shè)置邏輯判斷標準結(jié)構(gòu)體,用于設(shè)置所述鏈表數(shù)據(jù)判斷結(jié)構(gòu)體的所述邏輯判斷標準。[0008]可選的,當根據(jù)所述邏輯判斷規(guī)則,丟棄所述報文時,獲取所述報文的發(fā)送源,并利用數(shù)組對所述發(fā)送源進行存儲。[0009]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種端口防掃描系統(tǒng),所述系統(tǒng)包括:函數(shù)添加模塊,用以在prerouting鏈中添加一鉤子函數(shù);規(guī)則設(shè)置模塊,用以通過所述鉤子函數(shù)添加端口掃描的邏輯判斷規(guī)則,其中,所述鉤子函數(shù)根據(jù)鏈表以及數(shù)組來實現(xiàn)所述邏輯判斷規(guī)則;邏輯判斷模塊,用以根據(jù)所述邏輯判斷規(guī)則,對端口收到的報文進行邏輯判斷,以接收所述報文或者丟棄所述報文。[0010]可選的,所述邏輯判斷規(guī)則包括:獲取發(fā)送報文的發(fā)送源的IP地址,當在一預設(shè)時間內(nèi),收到同一IP地址的發(fā)送源發(fā)送的報文達到一閾值時,丟棄所述報文。[0011]可選的,所述邏輯判斷規(guī)則為自定義設(shè)置的邏輯判斷規(guī)則。[0012]可選的,所述鉤子函數(shù)包括:鏈表數(shù)據(jù)判斷結(jié)構(gòu)體,用以對收到的所述報文依據(jù)一預設(shè)的邏輯判斷標準進行邏輯判斷;黑名單數(shù)據(jù)結(jié)構(gòu)體,用于將所述被判斷丟棄的報文的發(fā)送源加入一預設(shè)的黑名單;以及設(shè)置邏輯判斷標準結(jié)構(gòu)體,用于設(shè)置所述鏈表數(shù)據(jù)判斷結(jié)構(gòu)體的所述邏輯判斷標準。[0013]可選的,當所述邏輯判斷模塊根據(jù)所述邏輯判斷規(guī)則,丟棄所述報文時,獲取所述報文的發(fā)送源,并利用數(shù)組對所述發(fā)送源進行存儲。[0014]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種電子裝置,具有如上任一項所述的端口防掃描系統(tǒng)。[0015]如上所述,本發(fā)明的一種端口防掃描方法、系統(tǒng)、及一種電子裝置,在prerouting鏈中添加一鉤子函數(shù);通過所述鉤子函數(shù)添加端口掃描的邏輯判斷規(guī)則,其中,所述鉤子函數(shù)根據(jù)鏈表以及數(shù)組來實現(xiàn)所述邏輯判斷規(guī)則,所述鏈表可實現(xiàn)對數(shù)據(jù)的時時刪除或添加,操作靈活;根據(jù)所述邏輯判斷規(guī)則,對端口收到的報文進行邏輯判斷,以接收所述報文或者丟棄所述報文,可靈活的根據(jù)用戶的自定義設(shè)置,設(shè)置多種邏輯判斷規(guī)則,用于對多種端口掃描的攔截,保證電子設(shè)備運行的安全性。【附圖說明】[0016]圖1顯示為本發(fā)明的一種端口防掃描方法在一具體實施例中的流程示意圖。[0017]圖2顯示為本發(fā)明的一種端口防掃描系統(tǒng)在一具體實施例中的模塊示意圖。[0018]圖3顯示為本發(fā)明的一種電子裝置在一具體實施例中的模塊示意圖。[0019]元件標號說明[0020]1、21端口防掃描系統(tǒng)[0021]11函數(shù)添加模塊[0022]12規(guī)則設(shè)置模塊[0023]13邏輯判斷模塊[0024]2電子裝置[0025]Sll~S13步驟【具體實施方式】[0026]以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實施方式加以實施或應(yīng)用,本說明書中的各項細節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施例中的特征可以相互組合。[0027]需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖示中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。[0028]請參閱圖1,顯示為本發(fā)明的一種端口防掃描方法在一具體實施例中的流程示意圖。所述方法包括以下步驟:[0029]Sll:在prerouting鏈中添加一鉤子函數(shù);[0030]S12:通過所述鉤子函數(shù)添加端口掃描的邏輯判斷規(guī)則,其中,所述鉤子函數(shù)根據(jù)鏈表以及數(shù)組來實現(xiàn)所述邏輯判斷規(guī)則,所述鏈表可實現(xiàn)對數(shù)據(jù)的時時刪除或添加,操作靈活。[0031]S13:根據(jù)所述邏輯判斷規(guī)則,對端口收到的報文進行邏輯判斷,以接收所述報文或者丟棄所述報文。于一具體實施例中,優(yōu)選的,當根據(jù)所述邏輯判斷規(guī)則,丟棄所述報文時,獲取所述報文的發(fā)送源,并利用數(shù)組對所述發(fā)送源進行存儲,并將所述發(fā)送源存儲于一黑名單中,以在下次檢測到處于所述黑名單中的發(fā)送源發(fā)送的報文時,直接丟棄所述報文。[0032]在一具體實施例中,所述邏輯判斷規(guī)則包括:獲取發(fā)送報文的發(fā)送源的IP地址,當在一預設(shè)時間內(nèi),收到同一IP地址的發(fā)送源發(fā)送的報文達到一閾值時,丟棄所述報文。[0033]且在一具體實施例中,所述邏輯判斷規(guī)則為自定義設(shè)置的邏輯判斷規(guī)則。用戶可以在設(shè)備運行過程中,發(fā)現(xiàn)新的端口掃描情況時,根據(jù)所述端口掃描的規(guī)則,設(shè)置新的與所述端口掃描相對應(yīng)的邏輯判斷規(guī)則。[0034]在一具體實施例中,所述鉤子函數(shù)包括:鏈表數(shù)據(jù)判斷結(jié)構(gòu)體,用以對收到的所述報文依據(jù)一預設(shè)的邏輯判斷標準進行邏輯判斷;黑名單數(shù)據(jù)結(jié)構(gòu)體,用于將所述被判斷丟棄的報文的發(fā)送源加入一預設(shè)的黑名單;以及設(shè)置邏輯判斷標準結(jié)構(gòu)體,用于設(shè)置所述鏈表數(shù)據(jù)判斷結(jié)構(gòu)體的所述邏輯判斷標準。所述邏輯判斷標準例如包括判斷一個所述鏈表在規(guī)定時間里面有沒有達到最大/最小限度。[0035]下面通過具體實例對本實施例的應(yīng)用原理進行說明:[0036]首先:在prerouting鏈里面添加一個鉤子函數(shù),具體程序為:[0037]staticstructnfJiQok^opsportal_auth^tips?.Iioofc^directfun,.owner=THISMODULE,.pi'=NFPR0T0_IPV4,,hooknum=NFJNETPREROIJTING,.priority=NFlPPRIFlRST,[0038]接著,direct_fun里面實現(xiàn)通過對應(yīng)的邏輯進來的每個報文包都會進入到這個鏈的hook里面。[0039]接著:direct_fun里面實現(xiàn)接口有三個結(jié)構(gòu)體,分別為:[0040]typedeΓstructDaiaJistf//inisrcpori;unsignedimsourip:unsignedlongjiffies;iniindex;siruclTimePorlTimpori[TIME_NUM];:unsignedini!lag;/7numisfullstructDataIist^ncxl;^SYN_LIST;[0041]這個結(jié)構(gòu)是一個鏈表,用以判斷符合條件的報文,如果在規(guī)定時間里面沒有達到最大??ΜΕ_ΝΙΜ就刪除鏈表里面的數(shù)據(jù)結(jié)構(gòu),如果??ΜΕ_ΝΙΜ達到最大,那就將報文發(fā)送的發(fā)送源加入到Black_Total這個這個黑名單里面,再把其刪除掉,其中黑名單的數(shù)據(jù)結(jié)構(gòu)為:[0042]structBlaek_Total{unsignedintilag;/7()noblackIyesBLACK_LISTpblack[BLACK_NUM];lblack_lotal;[0043]typedefstructBlaek_listfintsrc_port;unsignedinisourip;//ini.attacknum;unsignedinillag;//0whileIblack}BLACKJLIST;[0044]這是黑名單的數(shù)據(jù)結(jié)構(gòu),flag是標志位,用于判斷是否有黑白名單。[0045]siruclTimePort[inisrcpori;unsignedlongjinios;};[0046]這個結(jié)構(gòu)相當重要,這個就相當于隊列的形式,如果HME_NUM在規(guī)定時間里面達到最大個數(shù)就把它加入到黑名單當中。當前第1頁1 2