本發明專利技術公開了一種防DOS攻擊的系統和方法,該方法包含:S1,服務器端口模塊在預設的時刻,根據服務器系統當前時間生成對應的服務器端口號;S2,客戶端端口模塊根據客戶端系統時間生成對應的客戶端端口號,及與所述的服務器端口模塊進行數據通信。本發明專利技術可以定時變換通信端口,使得服務器不容易被攻擊。
【技術實現步驟摘要】
本專利技術涉及通訊防攻擊的系統和方法,特別涉及一種防DOS攻擊的系統和方法。
技術介紹
DOS是Denial of Service的簡稱,即拒絕服務,造成DOS的攻擊行為被稱為DOS攻擊,這種攻擊方式主要利用現在互聯網通信的缺陷,其手段非常暴力,攻擊者不停與服務器建立連接,但不接受服務,從而造成服務器資源的耗盡。現在對付DOS攻擊,最常用的方式是提升服務器的性能,使得服務器的性能大于攻擊者的最大攻擊量,若能如此,則服務器就不會被攻擊者弄癱瘓。現有技術的缺點是,提升服務器的性能必然要消耗成本,包括:提升服務器的帶寬、還需要利用分布式集群來部署,這樣便大大增加了硬件成本和維護成本。
技術實現思路
本專利技術的目的是提供一種防DOS攻擊的系統和方法,定時變換通信端口,使得服務器不容易被攻擊。為了實現以上目的,本專利技術是通過以下技術方案實現的: 一種防DOS攻擊的系統,其特點是,包含: 服務器端口模塊,其設置在服務器內,用于在預設的時刻,根據服務器系統當前時間生成對應的服務器端口號; 客戶端端口模塊,其設置在客戶端內,用于根據客戶端系統時間生成對應的客戶端端口號,及與所述的服務器端口模塊進行數據通信; 所述的客戶端端口模塊包含: 客戶端時間檢測單元,用于檢測客戶端系統時間; 客戶端處理單元,其輸入端與所述的客戶端時間檢測單元的輸出端相連,用于根據客戶端系統時間生成對應的客戶端端口號;客戶端I/O單元,其與所述的客戶端處理單元相連,用于將生成的客戶端端口輸出。所述的服務器端口模塊包含: 服務器時間檢測單元,用于在預設的時刻,檢測服務器當前的系統時間; 服務器處理單元,其輸入端與所述的服務器時間檢測單元的輸出端相連,用于根據服務器系統時間生成對應的服務器端口號;服務器I/o單元,其與所述的服務器處理單元相連,用于將生成的服務器端口輸出。所述的服務器處理單元還用于將所述的服務器端口號與所述的客戶端端口號進行匹配。一種防DOS攻擊的方法,其特點是,該方法包含如下步驟: Si,服務器端口模塊在預設的時刻,根據服務器系統當前時間生成對應的端口號; S2,客戶端端口模塊根據客戶端系統時間生成對應的端口號,及與所述的服務器端口模塊進行數據通信。所述的步驟SI包含: S1.1,服務器時間檢測單元在預設的時刻,檢測服務器當前的系統時間; S1.2,服務器處理單元根據服務器當前的系統時間生成對應的服務器端口號; 51.3,服務器I/0單元將生成的服務器端口輸出。所述的步驟S2包含: 52.1,客戶端時間檢測單元檢測客戶端系統時間; S2.2,客戶端處理單元根據服務器系統時間生成對應的客戶端端口號,所述的客戶端端口號與所述的服務器端口號相同; S2.3,客戶端I/O單元將生成的客戶端端口輸出。所述的步驟S2.3后還包含: S2.4,服務器處理單元將所述的服務器端口號與所述的客戶端端口號進行匹配,使得客戶端與服務器進行數據通信。本專利技術與現有技術相比,具有以下優點: 本專利技術定時變換通信端口,使得服務器不容易被攻擊。【附圖說明】圖1為本專利技術一種防DOS攻擊方法的流程圖。【具體實施方式】以下結合附圖,通過詳細說明一個較佳的具體實施例,對本專利技術做進一步闡述。一種防DOS攻擊的系統,包含:服務器端口模塊,其設置在服務器內,用于在預設的時刻,根據服務器系統當前時間生成對應的服務器端口號;客戶端端口模塊,其設置在客戶端內,用于根據客戶端系統時間生成對應的客戶端端口號,及與所述的服務器端口模塊進行數據通信; 上述的客戶端端口模塊包含:客戶端時間檢測單元,用于檢測客戶端系統時間;客戶端處理單元,其輸入端與所述的客戶端時間檢測單元的輸出端相連,用于根據客戶端系統時間生成對應的客戶端端口號;客戶端I/o單元,其與所述的客戶端處理單元相連,用于將生成的客戶端端口輸出。上述的服務器端口模塊包含:服務器時間檢測單元,用于在預設的時刻,檢測服務器當前的系統時間;服務器處理單元,其輸入端與所述的服務器時間檢測單元的輸出端相連,用于根據服務器系統時間生成對應的服務器端口號;服務器I/O單元,其與所述的服務器處理單元相連,用于將生成的服務器端口輸出。服務器處理單元還用于將所述的服務器端口號與所述的客戶端端口號進行匹配。如圖1所示,一種防DOS攻擊的方法,該方法包含如下步驟: SI,服務器端口模塊在預設的時刻,根據服務器系統當前時間生成對應的服務器端口號; S2,客戶端端口模塊根據客戶端系統時間生成對應的客戶端端口號,及與所述的服務器端口模塊進行數據通信。上述的步驟SI包含: S1.1,服務器時間檢測單元在預設的時刻,檢測服務器當前的系統時間; S1.2,服務器處理單元根據服務器當前的系統時間生成對應的服務器端口號; 51.3,服務器I/0單元將生成的服務器端口輸出。上述的步驟S2包含: 52.1,客戶端時間檢測單元檢測客戶端系統時間; S2.2,客戶端處理單元根據服務器系統時間生成對應的客戶端端口號,所述的客戶端端口號與所述的服務器端口號相同; S2.3,客戶端I/O單元將生成的客戶端端口輸出。上述步驟S1.2和步驟S1.3中,端口號的計算方法如下: P = hash(客戶端/服務器的Unix時間進行誤差處理)%65535 + 1024,P為得出的端口號,Unix時間是計算機的絕對時間(以秒為單位),其中誤差處理為:當客戶端與服務器的時間相差5秒以內,對Unix時間進行四舍五入運算(如I分23秒變成I分20秒,I分18秒也變成I分20秒),此時服務器須在10的整數倍時刻變化端口號(如I分20秒,I分30秒,I分40秒等);,當客戶端與服務器的時間相差10秒以內,此處之所以讓服務端在以10的整數倍時刻變化,是為了讓客戶端時間和服務器時間可以有5秒以內的時間誤差,若要允許客戶端與服務器時間有更大的時間誤差,則該值也要相應地放大,比如在20的整數倍時刻變化,就可以允許客戶端和服務器有10秒誤差,比如Unix時間128,則可得到20的最大倍數120,距離下一個20的倍數140比較遠,更靠近120,所以取值120。在比如Unix時間112,可得到20的最大倍數100,但是距離下一個20的倍數120更近,因此取值也是120,所以在120時刻左右10秒以內所得到的值是一樣的,也就是說允許客戶端和服務器的時間有10秒誤差。進一步的,計算Unix時間的哈希值,由于系統最大端口號為65535,所以將計算所得的哈希值除65535,得到余數。因為1-1024端口號是保留給一些知名程序使用的,為了避免與這些程序的端口號發生沖突,再將所得的余數加1024。在具體實施例中,上述的步驟S2.3后還包含: S2.4,服務器處理單元將所述的服務器端口號與所述的客戶端端口號進行匹配,使得客戶端與服務器進行數據通信。綜上所述,本專利技術一種防DOS攻擊的系統和方法,可以定時變換通信端口,使得服務器不容易被攻擊。盡管本專利技術的內容已經通過上述優選實施例作了詳細介紹,但應當認識到上述的描述不應被認為是對本專利技術的限制。在本領域技術人員閱讀了上述內容后,對于本專利技術的多種修改和替代都將是顯而易見的。因此,本專利技術的保護范圍應由所附的權利要求來限定。【主權項本文檔來自技高網...
【技術保護點】
一種防DOS攻擊的系統,其特征在于,包含:服務器端口模塊,其設置在服務器內,用于在預設的時刻,根據服務器系統當前時間生成對應的服務器端口號;客戶端端口模塊,其設置在客戶端內,用于根據客戶端系統時間生成對應的客戶端端口號,及與所述的服務器端口模塊進行數據通信;
【技術特征摘要】
【專利技術屬性】
技術研發人員:張偉,
申請(專利權)人:上海斐訊數據通信技術有限公司,
類型:發明
國別省市:上海;31
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。