一種網絡掃描方法及網絡掃描系統與流程
2024-03-28 23:43:05
本申請涉及一種網絡安全技術領域,更具體地說,涉及一種網絡掃描方法及網絡掃描系統。
背景技術:
網際網路技術(Information Technology,IT)的出現深刻而且久遠地改變著人們的生活方式。隨著網際網路技術的飛速發展,網絡安全逐漸成為一個潛在的巨大問題,網絡信息的盜取愈加猖獗,如何保障聯入網際網路的主機的自身安全成為網絡安全技術領域關注的焦點。
現在主流的對主機的網絡安全檢測就是利用網絡掃描軟體對主機進行定時的掃描,以發現主機中存在的漏洞或潛在威脅並提示主機用戶採取措施進行防護。具有網絡掃描功能的網絡掃描軟體種類繁多,但是這些網絡掃描軟體的掃描參數單一,僅能對主機的單一內容(例如系統漏洞、主機提供的網絡服務等)進行掃描,導致主機用戶無法利用單一網絡掃描軟體實現對主機的全面掃描;並且這些網絡掃描軟體往往不保留最終掃描結果的文件,也不提供掃描結果的保存功能,導致主機用戶無法系統了解主機的歷史狀態。
技術實現要素:
為解決上述技術問題,本發明提供了一種網絡掃描方法及網絡掃描系統,以解決現有技術中的網絡掃描軟體的掃描參數單一和不保留最終掃描結果文件並且不提供掃描結果保持功能的問題。
為解決上述技術問題,本發明實施例提供了如下技術方案:
一種網絡掃描方法,包括:
提供配置文件,所述配置文件中存儲有多個待選掃描參數;
獲取用戶指令,並根據用戶指令生成掃描參數指令,所述掃描參數指令中包括一個或多個所述待選掃描參數;
獲取目的主機地址;
根據所述目的主機地址和所述掃描參數指令生成掃描指令;
根據所述掃描指令調用掃描動態庫開放的接口,通過所述掃描動態庫開放的接口尋找目的主機,所述目的主機與所述目的主機地址相對應;
根據所述掃描指令調用網絡掃描和嗅探工具包,對所述目的主機進行掃描,並將掃描結果保存為預設文件,所述預設文件受所述網絡掃描和嗅探工具包約束;
對所述預設文件進行解析,生成目標文件。
優選的,所述對所述預設文件進行解析,生成目標文件之後還包括:
根據所述目標文件判斷所述目的主機是否存在系統漏洞,如果是,則根據所述目的主機存在的系統漏洞向所述目的主機推送補丁安裝信息。
優選的,所述根據所述目的主機存在的系統漏洞向所述目的主機推送補丁安裝信息之後還包括:
備份向所述目的主機推送的補丁安裝信息並根據備份的補丁安裝信息生成系統還原點;
在接收到所述目的主機發送的還原信息後,根據所述還原信息選擇系統還原點,並將所述目的主機的作業系統還原至選擇的系統還原點。
優選的,所述對所述預設文件進行解析,生成目標文件之後還包括:
根據所述目標文件判斷所述目的主機提供的網絡服務是否存在被入侵風險,如果是,則向所述目的主機推送關閉存在被入侵風險的網絡服務的預警提示。
優選的,所述向所述目的主機推送關閉存在被入侵風險的網絡服務的提示後還包括:
在向所述目的主機推送所述預警提示後,判斷所述存在被入侵風險的網絡服務是否被關閉,如果否,則在所述預警提示發送後的預設時間後並且所述存在被入侵風險的網絡服務處於閒置狀態時,關閉所述存在被入侵風險的網絡服務,並向所述目的主機發送通知消息。
優選的,所述對所述預設文件進行解析,生成目標文件之後還包括:
根據所述目標文件確定所述目的主機需要更新的軟體,並根據所述需要更新的軟體向所述目的主機發送軟體更新信息。
一種網絡掃描系統,包括:
參數模塊,用於提供配置文件,所述配置文件中存儲有多個待選掃描參數;
配置模塊,用於獲取用戶指令,並根據用戶指令生成掃描參數指令,所述掃描參數指令中包括一個或多個所述待選掃描參數;
地址獲取模塊,用於獲取目的主機地址;
指令生成模塊,用於根據所述目的主機地址和所述掃描參數指令生成掃描指令;
第一調用模塊,用於根據所述掃描指令調用掃描動態庫開放的接口,通過所述掃描動態庫開放的接口尋找目的主機,所述目的主機與所述目的主機地址相對應;
第二調用模塊,用於根據所述掃描指令調用網絡掃描和嗅探工具包,對所述目的主機進行掃描,並將掃描結果保存為預設文件,所述預設文件受所述網絡掃描和嗅探工具包約束;
文件生成模塊,用於對所述預設文件進行解析,生成目標文件。
優選的,所述網絡掃描系統還包括:伺服器模塊;
所述文件生成模塊還用於向所述伺服器模塊上傳所述目標文件;
所述伺服器模塊用於根據所述目標文件判斷所述目的主機是否存在系統漏洞,如果是,則根據所述目的主機存在的系統漏洞向所述目的主機推送補丁安裝信息。
優選的,所述伺服器模塊還用於備份向所述目的主機推送的補丁安裝信息並根據備份的補丁安裝信息生成系統還原點,和用於在接收到所述目的主機發送的還原信息後,根據所述還原信息選擇系統還原點,並將所述目的主機的作業系統還原至選擇的系統還原點。
優選的,所述伺服器模塊還用於根據所述目標文件判斷所述目的主機提供的網絡服務是否存在被入侵風險,如果是,則向所述目的主機推送關閉存在被入侵風險的網絡服務的預警提示。
優選的,所述伺服器模塊還用於在向所述目的主機推送所述預警提示後,判斷所述存在被入侵風險的網絡服務是否被關閉,如果否,則在所述預警提示發送後的預設時間後關閉所述存在被入侵風險的網絡服務,並向所述目的主機發送通知消息。
優選的,所述伺服器模塊還用於根據所述目標文件確定所述目的主機需要更新的軟體,並根據所述需要更新的軟體向所述目的主機推送軟體更新消息。
從上述技術方案可以看出,本發明實施例提供了一種網絡掃描方法及網絡掃描系統,其中,所述網絡掃描方法通過提供配置文件的方式為所述目的主機的用戶提供多個待選掃描參數,用戶可以在所述多個待選掃描參數中根據網絡掃描需要選取一個或多個作為所述掃描參數指令,拓寬了所述掃描指令的種類,解決了現有技術中的網絡掃描軟體的掃描參數單一,僅能對主機的單一內容進行掃描的問題。
另外,所述網絡掃描方法在調用網絡掃描和嗅探工具包對所述目的主機進行掃描後,將掃描結果保存為受所述網絡掃描和嗅探工具包約束的預設文件,並對所述預設文件進行解析,以生成可被伺服器或計算機保存的目標文件,從而解決了現有技術中的網絡掃描軟體僅能根據掃描結果對用戶進行提示而不能進行保存的問題。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本申請的一個實施例提供的一種網絡掃描方法的流程示意圖;
圖2為本申請的另一個實施例提供的一種網絡掃描方法的流程示意圖;
圖3為本申請的一個實施例提供的利用nmap掃描目的主機的過程示意圖;
圖4為本申請的一個實施例提供的利用nmap掃描目的主機的結果示意圖;
圖5為本申請的一個實施例提供的一種網絡掃描系統的結構示意圖;
圖6為本申請的一個優選實施例提供的一種網絡掃描系統的結構示意圖;
圖7為本申請的一個實施例提供的一種採用星型拓撲結構布置網絡掃描系統的結構示意圖;
圖8為本申請的另一個實施例提供的一種採用子網星型拓撲結構布置網絡掃描系統的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本申請實施例提供了一種網絡掃描方法,如圖1所示,包括:
S101:提供配置文件,所述配置文件中存儲有多個待選掃描參數;
S102:獲取用戶指令,並根據用戶指令生成掃描參數指令,所述掃描參數指令中包括一個或多個所述待選掃描參數;
S103:獲取目的主機地址;
S104:根據所述目的主機地址和所述掃描參數指令生成掃描指令;
S105:根據所述掃描指令調用掃描動態庫開放的接口,通過所述掃描動態庫開放的接口尋找目的主機,所述目的主機與所述目的主機地址相對應;
S106:根據所述掃描指令調用網絡掃描和嗅探工具包,對所述目的主機進行掃描,並將掃描結果保存為預設文件,所述預設文件受所述網絡掃描和嗅探工具包約束;
S107:對所述預設文件進行解析,生成目標文件。
通常的,在生成所述目標文件中,會對所述目標文件進行展示,以使所述目的主機的用戶了解利用所述網絡掃描方法進行掃描的結果。
在上述實施例的基礎上,在本申請的一個優選實施例中,所述網絡掃描和嗅探工具包優選為the Network Mapper(nmap)。nmap可以提供豐富的待選掃描參數,具有較強的網絡掃描性能,並且由於nmap的開源特性,用戶可以通過腳本編寫實現對nmap的功能豐富。但本申請對所述網絡掃描和嗅探工具包的具體種類並不做限定,具體視實際情況而定。
需要說明的是,所述配置文件中存儲的多個待選掃描參數為網絡掃描和嗅探工具包提供的掃描參數。以nmap為例,nmap提供的配置文件中包括多個待選掃描參數,例如「detectParam=–A–T4–v–oX scanResult.xml」其中,待選掃描參數–A代表對所述目的主機的系統和補丁進行掃描;–T4代表掃描間隔參數,掃描間隔參數共有六個等級(T0、T1、T2、T3、T4和T5,從T0到T5掃描間隔依次縮短);–v代表啟用細節模式;–oX scanResult.xml代表掃描結束後的掃描結果的存儲路徑和存儲文件名。本申請僅提供四個nmap提供的常用的待選掃描參數,並不對所述配置文件中的待選掃描參數的具體內容做限定,具體視實際情況而定。
還需要說明的是,所述預設文件為受所述網絡掃描和嗅探工具包約束的預設文件,仍以nmap為例,當利用nmap對所述目的主機進行掃描後,nmap會將掃描結果以受其約束的xml(可擴展標記語言)文件格式進行保存,那麼在這裡所述預設文件就為受nmap約束的xml文件。相應的,所述目標文件為對所述受nmap約束的xml文件進行解析後生成的目標xml文件。但本申請對所述預設文件和目標文件的具體種類並不做限定,具體視實際情況而定。
下面將對根據所述目的主機地址和所述掃描參數指令生成掃描指令的過程進行說明:
在本實施例中,所述目的主機地址即為所述目的主機的網絡地址,所述目的主機地址可以是單個IP位址,也可以是IP位址段,還可以是域名。
當接收到用戶輸入的目的地址和根據用戶指令生成的掃描參數指令後,根據用戶輸入的IP位址或IP位址段或域名解析為單個的IP後,放入IP隊列;
將所述掃描參數指令中包括的待選掃描參數拼接成完整的指令,計算出所述指令中的參數個數;
將每個參數和IP隊列中的第一個IP分別作為字符串依次放入一個字符串數組;
最後將所述參數個數和所述字符串數組作為最終的掃描指令傳給接口函數int interface(int argc.char*argv[]),其中argc保持所述參數個數,argv保存所述字符串數組。
所述接口函數在接收到所述掃描指令後調用所述掃描動態庫開放的接口。
在上述實施例的基礎上,在本申請的另一個優選實施例中,如圖2所示,所述根據所述目的主機地址和所述掃描參數指令生成掃描指令之後,所述根據所述掃描指令調用掃描動態庫開放的接口之前還包括:
S1041:檢查網絡是否正常,如果是,則進入步驟S1042;如果否,則提示網絡異常,並判斷是否接收到重新掃描指令,若是,則返回獲取用戶指令的步驟,若否,則結束掃描;
S1042:判斷所述目的主機地址是否正確,如果是,則進入S105;如果否,則返回步驟S102。
在本實施例中,增加的步驟S1041和S1042避免了在網絡異常和所述目的主機地址錯誤的情況下的等待和誤掃描時間,提高了對目的主機進行掃描的效率。
在上述實施例的基礎上,在本申請的一個實施例中,所述對所述預設文件進行解析,生成目標文件之後還包括:
根據所述目標文件判斷所述目的主機是否存在系統漏洞,如果是,則根據所述目的主機存在的系統漏洞向所述目的主機推送補丁安裝信息。
在本實施例中,利用所述網絡掃描方法對所述目的主機進行定期的網絡掃描可以幫助所述目的主機及時發現自身的系統漏洞,並可以利用推送的補丁安裝信息對發現的系統漏洞進行修補,增強所述目的主機的網絡安全性。
仍然以利用nmap對所述目的主機進行掃描為例,如圖3所示,在圖3中,利用nmap的vuln腳本對IP為192.168.137.*的目的主機進行掃描,得到的作業系統漏洞如圖4所示:MS08-067:VULNERABLE。這個系統漏洞信息會封裝在所述目標文件中上傳至伺服器或雲伺服器,所述伺服器或雲伺服器對所述目標文件進行解析發現所述目的主機的系統漏洞後,將相應的系統補丁放在所述補丁安裝信息中向所述目的主機推送,以提示用戶進行相應系統補丁的安裝。
另外,在所述目的主機的用戶選擇對推送的系統補丁進行安裝時,所述伺服器或雲伺服器可以對所述目的主機進行靜默安裝或非靜默安裝。
在上述實施例的基礎上,在本申請的另一個實施例中,所述根據所述目的主機存在的系統漏洞向所述目的主機推送補丁安裝信息之後還包括:
備份向所述目的主機推送的補丁安裝信息並根據備份的補丁安裝信息生成系統還原點;
在接收到所述目的主機發送的還原信息後,根據所述還原信息選擇系統還原點,並將所述目的主機的作業系統還原至選擇的系統還原點。
在本實施例中,所述網絡掃描方法還可以將向所述目的主機推送的補丁安裝信息備份在伺服器或雲伺服器中,並根據備份的補丁安裝信息生成系統還原點以供所述目的主機的用戶在進行系統還原時選擇。
當所述目的主機的用戶需要對所述目的主機進行系統還原時,可以向備份有補丁安裝信息的伺服器或雲伺服器發送還原信息,所述伺服器或雲伺服器根據所述還原信息選擇系統還原點,並將所述目的主機的作業系統還原至選擇的系統還原點狀態,實現為所述目的主機的用戶提供系統還原的功能的目的。
在上述實施例的基礎上,在本申請的又一個實施例中,所述對所述預設文件進行解析,生成目標文件之後還包括:
根據所述目標文件判斷所述目的主機提供的網絡服務是否存在被入侵風險,如果是,則向所述目的主機推送關閉存在被入侵風險的網絡服務的預警提示。
在本實施例中,利用所述網絡掃描方法對所述目的主機進行定期的網絡掃描可以實現對所述目的主機提供的網絡服務進行監控,並在發現存在被入侵風險的網絡服務後向所述目的主機推送所述預警提示,以提示所述目的主機的用戶關閉相應的網絡服務。
同樣的,以利用nmap對所述目的主機進行掃描為例,如圖3所示,在圖3中,利用nmap的vuln腳本對IP為192.168.137.*的目的主機進行掃描,得到的存在被入侵風險的網絡服務如圖4所示:http-proxy服務。這個存在被入侵風險的網絡服務信息會封裝在所述目標文件中上傳至伺服器或雲伺服器,所述伺服器或雲伺服器對所述目標文件進行解析發現所述目的主機的http-proxy服務存在被入侵風險並向所述目的主機推送所述預警提示,以實現提醒所述目的主機的用戶關閉相應的網絡服務的目的。
在上述實施例的基礎上,在本申請的一個優選實施例中,所述向所述目的主機推送關閉存在被入侵風險的網絡服務的提示後還包括:
在向所述目的主機推送所述預警提示後,判斷所述存在被入侵風險的網絡服務是否被關閉,如果否,則在所述預警提示發送後的預設時間後並且所述存在被入侵風險的網絡服務處於閒置狀態時,關閉所述存在被入侵風險的網絡服務,並向所述目的主機推送通知消息。
在本實施例中,當所述伺服器或雲伺服器向所述目的主機發送所述預警信息後會持續監控存在被入侵風險的網絡服務,當在所述預警提示發送後的預設時間後並且所述存在被入侵風險的網絡服務處於閒置狀態時,關閉所述存在被入侵風險的網絡服務,並向所述目的主機發送通知消息,以避免所述目的主機的用戶由於種種原因不能及時對所述存在被入侵風險的網絡服務進行關閉,從而使得所述目的主機處於被入侵風險的狀態下的情況出現。
在本申請的一個實施例中,所述預設時間的取值範圍為10min-15min,包括端點值。但本申請對所述預設時間的具體取值和具體取值範圍並不做限定,具體視實際情況而定。
在上述實施例的基礎上,在本申請的再一個實施例中,所述對所述預設文件進行解析,生成目標文件之後還包括:
根據所述目標文件確定所述目的主機需要更新的軟體,並根據所述需要更新的軟體向所述目的主機推送軟體更新信息。
在本實施例中,根據所述目標文件確定所述目的主機需要更新的軟體,並根據所述需要更新的軟體向所述目的主機推送軟體更新信息的目的是保持所述目的主機的軟體進行優化。當生成所述目標文件後向伺服器或雲伺服器進行上傳,所述伺服器或雲伺服器對所述目標文件進行解析後獲取所述目的主機的常用軟體的版本信息,當所述伺服器或雲伺服器中的常用軟體的版本高於所述目的主機的常用軟體的版本時,向所述目的主機推送常用軟體的軟體更新信息,如果所述伺服器或雲伺服器中的常用軟體版本與所述目的主機的軟體版本包括多個歷代版本時,將所述多個歷代版本放入所述軟體更新信息中供所述目的主機的用戶進行選擇安裝或更新。當所述伺服器或雲伺服器中的常用軟體版本低於所述目的主機的常用軟體的版本時,所述伺服器或雲伺服器則可以選擇對相應的軟體進行更新。
所述常用軟體是指所述伺服器或雲伺服器中所具備的軟體,本申請對所述常用軟體所包含的具體內容並不做限定,具體視實際情況而定。
同樣的,所述伺服器或雲伺服器還可以存儲所述常用軟體的歷史迭代數據,並根據所述歷史迭代數據為所述目的主機提供軟體版本回退的功能。
相應的,本申請實施例還提供了一種網絡掃描系統,如圖5所示,包括:
參數模塊100,用於提供配置文件,所述配置文件中存儲有多個待選掃描參數;
配置模塊200,用於獲取用戶指令,並根據用戶指令生成掃描參數指令,所述掃描參數指令中包括一個或多個所述待選掃描參數;
地址獲取模塊300,用於獲取目的主機地址;
指令生成模塊400,用於根據所述目的主機地址和所述掃描參數指令生成掃描指令;
第一調用模塊500,用於根據所述掃描指令調用掃描動態庫開放的接口,通過所述掃描動態庫開放的接口尋找目的主機,所述目的主機與所述目的主機地址相對應;
第二調用模塊600,用於根據所述掃描指令調用網絡掃描和嗅探工具包,對所述目的主機進行掃描,並將掃描結果保存為預設文件,所述預設文件受所述網絡掃描和嗅探工具包約束;
文件生成模塊700,用於對所述預設文件進行解析,生成目標文件。
通常的,所述文件生成模塊700在生成所述目標文件中,會對所述目標文件進行展示,以使所述目的主機的用戶了解利用所述網絡掃描方法進行掃描的結果。
需要說明的是,所述配置文件中存儲的多個待選掃描參數為網絡掃描和嗅探工具包提供的掃描參數。以nmap為例,nmap提供的配置文件中包括多個待選掃描參數,例如「detectParam=–A–T4–v–oX scanResult.xml」其中,待選掃描參數–A代表對所述目的主機的系統和補丁進行掃描;–T4代表掃描間隔參數,掃描間隔參數共有六個等級(T0、T1、T2、T3、T4和T5,從T0到T5掃描間隔依次縮短);–v代表啟用細節模式;–oX scanResult.xml代表掃描結束後的掃描結果的存儲路徑和存儲文件名。本申請僅提供四個nmap提供的常用的待選掃描參數,並不對所述配置文件中的待選掃描參數的具體內容做限定,具體視實際情況而定。
還需要說明的是,所述預設文件為受所述網絡掃描和嗅探工具包約束的預設文件,仍以nmap為例,當利用nmap對所述目的主機進行掃描後,nmap會將掃描結果以受其約束的xml(可擴展標記語言)文件格式進行保存,那麼在這裡所述預設文件就為受nmap約束的xml文件。相應的,所述目標文件為對所述受nmap約束的xml文件進行解析後生成的目標xml文件。但本申請對所述預設文件和目標文件的具體種類並不做限定,具體視實際情況而定。
下面將對根據所述目的主機地址和所述掃描參數指令生成掃描指令的過程進行說明:
在本實施例中,所述目的主機地址即為所述目的主機的網絡地址,所述目的主機地址可以是IP位址,也可以是IP位址段,還可以是域名。
當接收到用戶輸入的目的主機地址和根據用戶指令生成的掃描參數指令後,根據用戶輸入的IP位址或IP位址段或域名解析為單個的IP後,放入IP隊列;
將所述掃描參數指令中包括的待選掃描參數拼接成完整的指令,計算出所述指令中的參數個數;
將每個參數和IP隊列中的第一個IP分別作為字符串依次放入一個字符串數組;
最後將所述參數個數和所述字符串數組作為最終的掃描指令傳給接口函數int interface(int argc.char*argv[]),其中argc保存所述參數個數,argv保存所述字符串數組。
所述接口函數在接收到所述掃描指令後調用所述掃描動態庫開放的接口。
在上述實施例的基礎上,在本申請的另一個優選實施例中,所述指令生成模塊400還用於在根據所述目的主機地址和所述掃描參數指令生成掃描指令之後,判斷網絡是否正常,如果是,則判斷所述目的主機地址是否正確,若是,則進入所述第一調用模塊500;若否,則返回所述配置模塊200;
如果否,則提示網絡異常,並判斷是否接收到重新掃描指令,若是,則返回獲取用戶指令的步驟,若否,則結束掃描。
在本實施例中,增加的兩個判斷步驟避免了在網絡異常和掃描網絡地址錯誤的情況下的等待和誤掃描時間,提高了所述網絡掃描系統的掃描效率。
在上述實施例的基礎上,在本申請的一個實施例中,如圖6所示,所述網絡掃描系統還包括:伺服器模塊800;
所述文件生成模塊700還用於向所述伺服器模塊800上傳所述目標文件;
所述伺服器模塊800用於根據所述目標文件判斷所述目的主機是否存在系統漏洞,如果是,則根據所述目的主機存在的系統漏洞向所述目的主機推送補丁安裝信息。
需要說明的是,所述伺服器模塊800可以是伺服器或伺服器組或雲伺服器或雲伺服器組,本申請對所述伺服器模塊800的具體種類並不做限定,具體視實際情況而定。
在本實施例中,利用所述網絡掃描系統對所述目的主機進行定期的網絡掃描可以幫助所述目的主機及時發現自身的系統漏洞,並可以利用推送的補丁安裝信息對發現的系統漏洞進行修補,增強所述目的主機的網絡安全性。
仍然以利用nmap對所述目的主機進行掃描為例,如圖3所示,在圖3中,利用nmap的vuln腳本對IP為192.168.137.*的目的主機進行掃描,得到的作業系統漏洞如圖4所示:MS08-067:VULNERABLE。這個系統漏洞信息會封裝在所述目標文件中上傳至伺服器或雲伺服器,所述伺服器或雲伺服器對所述目標文件進行解析發現所述目的主機的系統漏洞後,將相應的系統補丁放在所述補丁安裝信息中向所述目的主機推送,以提示用戶進行相應系統補丁的安裝。
另外,在所述目的主機的用戶選擇對推送的系統補丁進行安裝時,所述伺服器或雲伺服器可以對所述目的主機進行靜默安裝或非靜默安裝。
在上述實施例的基礎上,在本申請的另一個實施例中,所述伺服器模塊800還用於備份向所述目的主機推送的補丁安裝信息並根據備份的補丁安裝信息生成系統還原點,和用於在接收到所述目的主機發送的還原信息後,根據所述還原信息選擇系統還原點,並將所述目的主機的作業系統還原至選擇的系統還原點。
在本實施例中,所述網絡掃描系統還可以將向所述目的主機推送的補丁安裝信息備份在所述伺服器模塊800中,並根據備份的補丁安裝信息生成系統還原點以供所述目的主機的用戶在進行系統還原時選擇。
當所述目的主機的用戶需要對所述目的主機進行系統還原時,可以向所述伺服器模塊800發送還原信息,所述伺服器模塊800根據所述還原信息選擇系統還原點,並將所述目的主機的作業系統還原至選擇的系統還原點狀態,實現為所述目的主機的用戶提供系統還原的功能的目的。
在上述實施例的基礎上,在本申請的又一個實施例中,所述伺服器模塊800還用於根據所述目標文件判斷所述目的主機提供的網絡服務是否存在被入侵風險,如果是,則向所述目的主機推送關閉存在被入侵風險的網絡服務的預警提示。
在本實施例中,利用所述網絡掃描系統對所述目的主機進行定期的網絡掃描可以實現對所述目的主機提供的網絡服務進行監控,並在發現存在被入侵風險的網絡服務後向所述目的主機推送所述預警提示,以提示所述目的主機的用戶關閉相應的網絡服務。
同樣的,以利用nmap對所述目的主機進行掃描為例,如圖3所示,在圖3中,利用nmap的vuln腳本對IP為192.168.137.*的目的主機進行掃描,得到的存在被入侵風險的網絡服務如圖4所示:http-proxy服務。這個存在被入侵風險的網絡服務信息會封裝在所述目標文件中上傳至所述伺服器模塊800,所述伺服器模塊800對所述目標文件進行解析發現所述目的主機的http-proxy服務存在被入侵風險並向所述目的主機推送所述預警提示,以實現提醒所述目的主機的用戶關閉相應的網絡服務的目的。
在上述實施例的基礎上,在本申請的一個優選實施例中,所述伺服器模塊800還用於在向所述目的主機推送所述預警提示後,判斷所述存在被入侵風險的網絡服務是否被關閉,如果否,則在所述預警提示發送後的預設時間後關閉所述存在被入侵風險的網絡服務,並向所述目的主機發送通知消息。
在本實施例中,當所述伺服器模塊800向所述目的主機發送所述預警信息後會持續監控存在被入侵風險的網絡服務,當在所述預警提示發送後的預設時間後並且所述存在被入侵風險的網絡服務處於閒置狀態時,關閉所述存在被入侵風險的網絡服務,並向所述目的主機推送通知消息,以避免所述目的主機的用戶由於種種原因不能及時對所述存在被入侵風險的網絡服務進行關閉,從而使得所述目的主機處於被入侵風險的狀態下的情況出現。
在本申請的一個實施例中,所述預設時間的取值範圍為10min-15min,包括端點值。但本申請對所述預設時間的具體取值和具體取值範圍並不做限定,具體視實際情況而定。
在上述實施例的基礎上,在本申請的再一個實施例中,所述伺服器模塊800還用於根據所述目標文件確定所述目的主機需要更新的軟體,並根據所述需要更新的軟體向所述目的主機推送軟體更新消息。
在本實施例中,根據所述目標文件確定所述目的主機需要更新的軟體,並根據所述需要更新的軟體向所述目的主機推送軟體更新信息的目的是保持所述目的主機的軟體進行優化。當生成所述目標文件後向所述伺服器模塊800進行上傳,所述伺服器模塊800對所述目標文件進行解析後獲取所述目的主機的常用軟體的版本信息,當所述伺服器模塊800中的常用軟體的版本高於所述目的主機的常用軟體的版本時,向所述目的主機推送常用軟體的軟體更新信息,如果所述伺服器或雲伺服器中的常用軟體版本與所述目的主機的軟體版本包括多個歷代版本時,將所述多個歷代版本放入所述軟體更新信息中供所述目的主機的用戶進行選擇安裝或更新。
在本申請的一個優選實施例中,當所述伺服器模塊800的常用軟體版本低於所述目的主機的常用軟體的版本時,所述伺服器模塊800則對相應的軟體進行更新。
所述常用軟體是指所述伺服器模塊800中所具備的軟體,本申請對所述常用軟體所包含的具體內容並不做限定,具體視實際情況而定。
在本申請的另一個優選實施例中,所述伺服器模塊800還可以存儲所述常用軟體的歷史迭代數據,並根據所述歷史迭代數據為所述目的主機提供軟體版本回退的功能。
在上述實施例的基礎上,在本申請的一個具體實施例中,所述網絡掃描系統可以布置為星型拓撲網絡結構,如圖7所示;
在所述星型拓撲網絡結構中,所述伺服器模塊800由資料庫伺服器、文件伺服器、管理伺服器和應用程式伺服器構成,負責解析、存儲、挖掘所述目的主機的掃描數據,分析主機安全性能,提供作業系統版本和系統補丁、常用軟體,推送消息,接收、響應用戶請求。
所述目的主機是執行網絡掃描過程的載體,通過不同深度和粒度的掃描,得到主機的作業系統、系統補丁、系統漏洞、埠、提供的網絡服務、防火牆等信息,以及哪些接口和服務容易被入侵或攻擊。
所述伺服器模塊800和所述目的主機採用星型拓撲結構,各個目的主機和所述伺服器模塊800直接連接,所述目的主機之間互不幹擾,在這種拓撲結構下,所述伺服器模塊800和所述目的主機點對點通信,效率高,即使一條線路故障,也不會影響其他目的主機與所述伺服器模塊800之間的通信。
在上述實施例的基礎上,在本申請的另一個實施例中,所述網絡掃描系統可以布置為子網星型拓撲網絡結構,如圖8所示;
在本實施例中,所述伺服器模塊800包括多個分布於企業中的子伺服器和一個總伺服器構成。當用戶數量龐大時,可以在每個企業網部署子伺服器,以減少總伺服器的負荷。
此結構對於每個企業來講,可以直接管理、維護自己的主機,對所述總伺服器來說,可以減小負荷。
綜上所述,本申請實施例提供了一種網絡掃描方法及網絡掃描系統,其中,所述網絡掃描方法通過提供配置文件的方式為所述目的主機的用戶提供多個待選掃描參數,用戶可以在所述多個待選掃描參數中根據所述目的主機掃描需要選取一個或多個作為所述掃描參數指令,拓寬了所述掃描指令的種類,解決了現有技術中的網絡掃描軟體的掃描參數單一,僅能對主機的單一內容進行掃描的問題。
另外,所述網絡掃描方法在調用網絡掃描和嗅探工具包對所述目的主機進行掃描後,將掃描結果保存為受所述網絡掃描和嗅探工具包約束的預設文件,並對所述預設文件進行解析,以生成可被伺服器或計算機保存的目標文件,從而解決了現有技術中的網絡掃描軟體僅能根據掃描結果對用戶進行提示而不能進行保存的問題。
進一步的,利用所述網絡掃描方法對所述目的主機進行掃描可以間接監控所述目的主機向外提供的網絡服務、防火牆、開放的埠和作業系統漏洞,並及時採取防護措施,極大地減少了所述目的主機被入侵的風險。
本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。