當前位置:編程學習大全網 - 編程語言 - 經典的網絡安全技術

經典的網絡安全技術

互聯網上的新技術壹旦出現,黑客就必須立刻學習,並用最短的時間掌握這項技術,這裏所說的掌握並不是壹般的了解,而是閱讀有關的“協議”(rfc)、深入了解此技術的機理,否則壹旦停止學習,那麽依靠他以前掌握的內容,並不能維持他的“黑客身份”超過壹年。

黑客的種類和行為

以我的理解,“黑客”大體上應該分為“正”、“邪”兩類,正派黑客依靠自己掌握的知識幫助系統管理員找出系統中的漏洞並加以完善,而邪派黑客則是通過各種黑客技能對系統進行攻擊、入侵或者做其他壹些有害於網絡的事情,因為邪派黑客所從事的事情違背了《黑客守則》,所以他們真正的名字叫“駭客”(Cracker)而非“黑客”(Hacker),也就是我們平時經常聽說的“黑客”(Cacker)和“紅客”(Hacker)。黑客的行為主要有以下幾種:

壹、學習技術:

互聯網上的新技術壹旦出現,黑客就必須立刻學習,並用最短的時間掌握這項技術,這裏所說的掌握並不是壹般的了解,而是閱讀有關的“協議”(rfc)、深入了解此技術的機理,否則壹旦停止學習,那麽依靠他以前掌握的內容,並不能維持他的“黑客身份”超過壹年。

初級黑客要學習的知識是比較困難的,因為他們沒有基礎,所以學習起來要接觸非常多的基本內容,然而今天的互聯網給讀者帶來了很多的信息,這就需要初級學習者進行選擇:太深的內容可能會給學習帶來困難;太“花哨”的內容又對學習黑客沒有用處。所以初學者不能貪多,應該盡量尋找壹本書和自己的完整教材、循序漸進的進行學習。

二、偽裝自己:

黑客的壹舉壹動都會被服務器記錄下來,所以黑客必須偽裝自己使得對方無法辨別其真實身份,這需要有熟練的技巧,用來偽裝自己的IP地址、使用跳板逃避跟蹤、清理記錄擾亂對方線索、巧妙躲開防火墻等。

偽裝是需要非常過硬的基本功才能實現的,這對於初學者來說成的上“大成境界”了,也就是說初學者不可能用短時間學會偽裝,所以我並不鼓勵初學者利用自己學習的知識對網絡進行攻擊,否則壹旦自己的行跡敗露,最終害的害是自己。

三、發現漏洞:

漏洞對黑客來說是最重要的信息,黑客要經常學習別人發現的漏洞,並努力自己尋找未知漏洞,並從海量的漏洞中尋找有價值的、可被利用的漏洞進行試驗,當然他們最終的目的是通過漏洞進行破壞或著修補上這個漏洞。

黑客對尋找漏洞的執著是常人難以想象的,他們的口號說“打破權威”,從壹次又壹次的黑客實踐中,黑客也用自己的實際行動向世人印證了這壹點——世界上沒有“不存在漏洞”的程序。在黑客眼中,所謂的“天衣無縫”不過是“沒有找到”而已。

四、利用漏洞:

對於正派黑客來說,漏洞要被修補;對於邪派黑客來說,漏洞要用來搞破壞。而他們的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情:

1、獲得系統信息:有些漏洞可以泄漏系統信息,暴露敏感資料,從而進壹步入侵系統;

2、入侵系統:通過漏洞進入系統內部,或取得服務器上的內部資料、或完全掌管服務器;

3、尋找下壹個目標:壹個勝利意味著下壹個目標的出現,黑客應該充分利用自己已經掌管的服務器作為工具,尋找並入侵下壹個系統;

黑客應掌握的基本技能

從這壹節開始,我們就真正踏上學習黑客的道路了,首先要介紹的是作為壹名初級黑客所必須掌握的基本技能,學習這可以通過這壹節的閱讀了解到黑客並不神秘,而且學習起來很容易上手。為了保證初學者對黑客的興趣,所以本書采取了循環式進度,也就是說每壹章節的內容都是獨立、全面的,學習者只有完整的學習過壹章的內容,才能夠進而學習下壹章的內容。

壹、了解壹定量的英文:

二、學會基本軟件的使用:

這裏所說的基本軟件是指兩個內容:壹個是我們日常使用的各種電腦常用命令,例如ftp、ping、net等;另壹方面還要學會有關黑客工具的使用,這主要包括端口掃描器、漏洞掃描器、信息截獲工具和密碼破解工具等。因為這些軟件品種多,功能各不相同,所以本書在後面將會介紹幾款流行的軟件使用方法,學習者在掌握其基本原理以後,既可以選擇適合自己的,也可以在“第二部分”中找到有關軟件的開發指南,編寫自己的黑客工具。

三、初步了解網絡協議和工作原理:

所謂“初步了解”就是“按照自己的理解方式”弄明白網絡的工作原理,因為協議涉及的知識多且復雜,所以如果在壹開始就進行深入研究,勢必會大大挫傷學習積極性。在這裏我建議學習者初步了解有關tcp/ip協議,尤其是瀏覽網頁的時候網絡是如何傳遞信息、客戶端瀏覽器如何申請“握手信息”、服務器端如何“應答握手信息”並“接受請求”等內容,此部分內容將會在後面的章節中進行具體介紹。

四、熟悉幾種流行的編程語言和腳本:

同上面所述壹樣,這裏也不要求學習者進行深入學習,只要能夠看懂有關語言、知道程序執行結果就可以了。建議學習者初步學習C語言、asp和cgi腳本語言,另外對於htm超文本語言和php、java等做基本了解,主要學習這些語言中的“變量”和“數組”部分,因為語言之間存在內在聯系,所以只要熟練掌握其中壹們,其他語言也可以壹脈相同,建議學習C語言和htm超文本語言。

基本理論和基本知識之網絡安全術語解釋

壹、協議:

網絡是壹個信息交換的場所,所有接入網絡的計算機都可以通過彼此之間的物理連設備行信息交換,這種物理設備包括最常見的電纜、光纜、無線WAP和微波等,但是單純擁有這些物理設備並不能實現信息的交換,這就好像人類的身體不能缺少大腦的支配壹樣,信息交換還要具備軟件環境,這種“軟件環境”是人類實現規定好的壹些規則,被稱作“協議”,有了協議,不同的電腦可以遵照相同的協議使用物理設備,並且不會造成相互之間的“不理解”。

這種協議很類似於“摩爾斯電碼”,簡單的壹點壹橫,經過排列可以有萬般變化,但是假如沒有“對照表”,誰也無法理解壹分雜亂無章的電碼所表述的內容是什麽。電腦也是壹樣,它們通過各種預先規定的協議完成不同的使命,例如RFC1459協議可以實現IRC服務器與客戶端電腦的通信。因此無論是黑客還是網絡管理員,都必須通過學習協議達到了解網絡運作機理的目的。

每壹個協議都是經過多年修改延續使用至今的,新產生的協議也大多是在基層協議基礎上建立的,因而協議相對來說具有較高的安全機制,黑客很難發現協議中存在的安全問題直接入手進行網絡攻擊。但是對於某些新型協議,因為出現時間短、考慮欠周到,也可能會因安全問題而被黑客利用。

二、服務器與客戶端:

最簡單的網絡服務形式是:若幹臺電腦做為客戶端,使用壹臺電腦當作服務器,每壹個客戶端都具有向服務器提出請求的能力,而後由服務器應答並完成請求的動作,最後服務器會將執行結果返回給客戶端電腦。這樣的協議很多。例如我們平時接觸的電子郵件服務器、網站服務器、聊天室服務器等都屬於這種類型。另外還有壹種連接方式,它不需要服務器的支持,而是直接將兩個客戶端電腦進行連接,也就是說每壹臺電腦都既是服務器、又是客戶端,它們之間具有相同的功能,對等的完成連接和信息交換工作。例如DCC傳輸協議即屬於此種類型。

從此看出,客戶端和服務器分別是各種協議中規定的請求申請電腦和應答電腦。作為壹般的上網用戶,都是操作著自己的電腦(客戶端),別且向網絡服務器發出常規請求完成諸如瀏覽網頁、收發電子郵件等動作的,而對於黑客來說則是通過自己的電腦(客戶端)對其他電腦(有可能是客戶端,也有可能是服務器)進行攻擊,以達到入侵、破壞、竊取信息的目的。

三、系統與系統環境:

電腦要運作必須安裝操作系統,如今流行的操作系統主要由UNIX、Linux、Mac、BSD、Windows2000、Windows95/98/Me、Windows NT等,這些操作系統各自獨立運行,它們有自己的文件管理、內存管理、進程管理等機制,在網絡上,這些不同的操作系統既可以作為服務器、也可以作為客戶端被使用者操作,它們之間通過“協議”來完成信息的交換工作。

四、IP地址和端口:

我們上網,可能會同時瀏覽網頁、收發電子郵件、進行語音聊天……如此多的網絡服務項目,都是通過不同的協議完成的,然而網絡如此之大,我們的電腦怎麽能夠找到服務項目所需要的電腦?如何在壹臺電腦上同時完成如此多的工作的呢?這裏就要介紹到IP地址了。

每壹臺上網的電腦都具有獨壹無二的IP地址,這個地址類似於生活中人們的家庭地址,通過網絡路由器等多種物理設備(無需初級學習者理解),網絡可以完成從壹個電腦到另壹個電腦之間的信息交換工作,因為他們的IP地址不同,所以不會出現找不到目標的混亂局面。但是黑客可以通過特殊的方法偽造自己電腦的IP地址,這樣當服務器接受到黑客電腦(偽IP地址)的請求後,服務器會將應答信息傳送到偽IP地址上,從而造成網絡的混亂。當然,黑客也可以根據IP地址輕易的找到任何上網者或服務器,進而對他們進行攻擊(想想現實中的入室搶劫),因而如今我們會看到很多關於《如何隱藏自己IP地址》的文章。

接下來我解釋壹下上面提到的第二個問題:壹臺電腦上為什麽能同時使用多種網絡服務。這好像北京城有八個城門壹樣,不同的協議體現在不同的網絡服務上,而不同的網絡服務則會在客戶端電腦上開辟不同的端口(城門)來完成它的信息傳送工作。當然,如果壹臺網絡服務器同時開放了多種網絡服務,那麽它也要開放多個不同的端口(城門)來接納不同的客戶端請求。

網絡上經常聽到的“後門”就是這個意思,黑客通過特殊機能在服務器上開辟了壹個網絡服務,這個服務可以用來專門完成黑客的目的,那麽服務器上就會被打開壹個新的端口來完成這種服務,因為這個端口是供黑客使用的,因而輕易不會被壹般上網用戶和網絡管理員發現,即“隱藏的端口”,故“後門”。

每壹臺電腦都可以打開65535個端口,因而理論上我們可以開發出至少65535種不同的網絡服務,然而實際上這個數字非常大,網絡經常用到的服務協議不過幾十個,例如瀏覽網頁客戶端和服務端都使用的是80號端口,進行IRC聊天則在服務端使用6667端口、客戶端使用1026端口等。

常用黑客軟件用途分類

壹、防範:

這是從安全的角度出發涉及的壹類軟件,例如防火墻、查病毒軟件、系統進程監視器、端口管理程序等都屬於此類軟件。這類軟件可以在最大程度上保證電腦使用者的安全和個人隱私,不被黑客破壞。網絡服務器對於此類軟件的需要也是十分重視的,如日誌分析軟件、系統入侵軟件等可以幫助管理員維護服務器並對入侵系統的黑客進行追蹤。

二、信息搜集:

信息搜集軟件種類比較多,包括端口掃描、漏洞掃描、弱口令掃描等掃描類軟件;還有監聽、截獲信息包等間諜類軟件,其大多數屬於亦正亦邪的軟件,也就是說無論正派黑客、邪派黑客、系統管理員還是壹般的電腦使用者,都可以使用者類軟件完成各自不同的目的。在大多數情況下,黑客使用者類軟件的頻率更高,因為他們需要依靠此類軟件對服務器進行全方位的掃描,獲得盡可能多的關於服務器的信息,在對服務器有了充分的了解之後,才能進行黑客動作。

三、木馬與蠕蟲:

這是兩種類型的軟件,不過他們的工作原理大致相同,都具有病毒的隱藏性和破壞性,另外此類軟件還可以由擁有控制權的人進行操作,或由事先精心設計的程序完成壹定的工作。當然這類軟件也可以被系統管理員利用,當作遠程管理服務器的工具。

四、洪水:

所謂“洪水”即信息垃圾炸彈,通過大量的垃圾請求可以導致目標服務器負載超負荷而崩潰,近年來網絡上又開始流行DOS分散式攻擊,簡單地說也可以將其歸入此類軟件中。洪水軟件還可以用作郵件炸彈或者聊天式炸彈,這些都是經過簡化並由網絡安全愛好者程序化的“傻瓜式”軟件,也就是本書壹開始指責的“偽黑客”手中經常使用的軟件。

五、密碼破解:

網絡安全得以保證的最實用方法是依靠各種加密算法的密碼系統,黑客也許可以很容易獲得壹份暗文密碼文件,但是如果沒有加密算法,它仍然無法獲得真正的密碼,因此使用密碼破解類軟件勢在必行,利用電腦的高速計算能力,此類軟件可以用密碼字典或者窮舉等方式還原經過加密的暗文。

六、欺騙:

如果希望獲得上面提到的明文密碼,黑客需要對暗文進行加密算法還原,但如果是壹個復雜的密碼,破解起來就不是那麽簡單了。但如果讓知道密碼的人直接告訴黑客密碼的原型,是不是更加方便?欺騙類軟件就是為了完成這個目的而設計的。

七、偽裝:

網絡上進行的各種操作都會被ISP、服務器記錄下來,如果沒有經過很好的偽裝就進行黑客動作,很容易就會被反跟蹤技術追查到黑客的所在,所以偽裝自己的IP地址、身份是黑客非常重要的壹節必修課,但是偽裝技術需要高深的網絡知識,壹開始沒有堅實的基礎就要用到這壹類軟件了。

學習黑客的基本環境

壹、操作系統的選擇:

我們經常聽說黑客酷愛Linux系統,這是因為Linux相對Windows提供了更加靈活的操作方式,更加強大的功能。例如對於IP地址的偽造工作,利用Linux系統編寫特殊的IP頭信息可以輕松完成,然而在Windows系統下卻幾乎不可能做到。但是Linux也有它不足的壹面,這個系統的命令龐雜、操作復雜,並不適合初學者使用,而且對於個人學習者,並沒有過多的人會放棄“舒適”的Windows、放棄精彩的電腦 遊戲 和便捷的操作方式,去全心投入黑客學習中。而且對於初學黑客的學習者來說,大多數網絡知識都可以在Windows系統中學習,相對Linux系統,Windows平臺下的黑客軟件也並不在少數,另外通過安裝程序包,Windows系統中也可以調試壹定量的程序,因此初步學習黑客沒有必要從Linux入手。

本書使用的平臺WindowsME,因為對於個人用戶來說,NT或者2000多少有些苛刻——系統配置要求太高;然而使用95或者98又缺少某些必要的功能——NET、TELNET命令不完善。但是本書的大部分內容測試漏洞,從遠程服務器出發,所以也不是非要WindowsME操作系統進行學習,對於少數系統版本之間的差異,學習者可以和我聯系獲得相應系統的學習方法。

二、需要的常用軟件:

如果妳的系統是WindowsME,那麽告訴妳壹個好消息——妳沒有必要安裝過多的額外軟件,因為我們接觸的黑客知識依靠系統提供給我們的命令和內置軟件就足可以完成了!除了基本的操作系統以外,學習者還需要安裝各類掃描器,之後下載壹個比較優秀的木馬軟件、壹個監聽類軟件,除此以外別無它求。如果有必要,讀者可以自行安裝本文上述軟件,然後學習其用法,但是我要告訴妳,對於各類炸彈、還有網絡上各式各樣的黑客軟件,在學習完本書後,妳都可以自己制作、自己開發,根本沒有必要使用他人編寫的軟件。

對於掃描器和監聽軟件,我給出以下建議,並且在本書的後面還會對這幾個軟件進行詳細介紹:

這三個軟件都是免費的,而且功能異常強大。像xscanner是國產軟件,他集成了多種掃描功能於壹身,並且同時支持控制臺和圖形界面兩種操作方式,另外提供了詳細的漏洞使用說明。對於初學者來說,具備了這兩個工具,學習黑客已經綽綽有余了。

三、額外的工具:

如果可以安裝下面的工具,將會對學習黑客有莫大的幫助,當然下面的軟件主要是學習額外內容並為“第二部分”學習作鋪墊用的,所以沒有也不會妨礙本書的學習。

1、後臺服務器:

擁有某些網絡應用的後臺服務程序,可以將自己的電腦設置成壹個小型服務器,用來學習相應的網絡應用,從“內部”了解其運作機理,這將會大大提高自己對服務器的感性認識,同時還能夠在激活服務器的時候;監測自己服務器上的數據,如果有其他黑客來攻擊,則可以清晰的記錄下對方的攻擊過程,從而學習到更多的黑客攻擊方法。對於本書而言,主要介紹網站的Perl和asp等腳本語言漏洞,所以可以安裝壹個IIS或者HTTPD。然後在安裝ActivePerl,使自己的服務器具備編譯cgi和pl腳本的能力。使用自己的服務器還有壹個好處,可以節省大量的上網時間,將學習、尋找漏洞的過程放到自己的電腦上,既節省了金錢、有不會對網絡構成威脅,壹舉兩得。

2、C語言編譯平臺:

今後在學習黑客的路途中,將會遇到很多“屬於自己的問題”,這些問題網絡上的其他人可能不會註意,所以無法找到相應的程序,這個時候學習者就要自己動手開發有關的工具了,所以安裝壹個Borland C++將會非常便捷,通過這個編譯器,學習者既可以學習C語言,也能夠修改本書後面列出的壹些小程序,打造壹個屬於自己的工具庫

  • 上一篇:什麽是黑客?黑客是幹什麽的?
  • 下一篇:編程類別1.6.0
  • copyright 2024編程學習大全網