一、自學(xué)網(wǎng)絡(luò)安全學(xué)習(xí)的誤區(qū)和陷阱
1.不要試圖先成為一名程序員(以編程為基礎(chǔ)的學(xué)習(xí))再開始學(xué)習(xí)
我在之前的回答中,我都一再?gòu)?qiáng)調(diào)不要以編程為基礎(chǔ)再開始學(xué)習(xí)網(wǎng)絡(luò)安全,一般來(lái)說(shuō),學(xué)習(xí)編程不但學(xué)習(xí)周期長(zhǎng),而且實(shí)際向安全過(guò)渡后可用到的關(guān)鍵知識(shí)并不多
一般人如果想要把編程學(xué)好再開始學(xué)習(xí)網(wǎng)絡(luò)安全往往需要花費(fèi)很長(zhǎng)時(shí)間,容易半途而廢。而且學(xué)習(xí)編程只是工具不是目的,我們的目標(biāo)不是成為程序員。建議在學(xué)習(xí)網(wǎng)絡(luò)安全的過(guò)程中,哪里不會(huì)補(bǔ)哪里,這樣更有目的性且耗時(shí)更少
2.不要把深度學(xué)習(xí)作為入門第一課
很多人都是沖著要把網(wǎng)絡(luò)安全學(xué)好學(xué)扎實(shí)來(lái)的,于是就很容易用力過(guò)猛,陷入一個(gè)誤區(qū):就是把所有的內(nèi)容都要進(jìn)行深度學(xué)習(xí),但是把深度學(xué)習(xí)作為網(wǎng)絡(luò)安全第一課不是個(gè)好主意。原因如下:
【1】深度學(xué)習(xí)的黑箱性更加明顯,很容易學(xué)的囫圇吞棗
【2】深度學(xué)習(xí)對(duì)自身要求高,不適合自學(xué),很容易走進(jìn)死胡同
3.不要收集過(guò)多的資料
網(wǎng)上有很多關(guān)于網(wǎng)絡(luò)安全的學(xué)習(xí)資料,動(dòng)輒就有幾個(gè)G的材料可以下載或者觀看。而很多朋友都有“收集癖”,一下子購(gòu)買十幾本書,或者收藏幾十個(gè)視頻
網(wǎng)上的學(xué)習(xí)資料很多重復(fù)性都極高而且大多數(shù)的內(nèi)容都還是幾年前沒(méi)有更新。在入門期間建議“小而精”的選擇材料,下面我會(huì)推薦一些自認(rèn)為對(duì)小白還不錯(cuò)的學(xué)習(xí)資源,耐心往下看
二、學(xué)習(xí)網(wǎng)絡(luò)安全的一些前期準(zhǔn)備
1.硬件選擇
經(jīng)常會(huì)問(wèn)我“學(xué)習(xí)網(wǎng)絡(luò)安全需要配置很高的電腦嗎?”答案是否定的,黑客用的電腦,不需要什么高的配置,只要穩(wěn)定就行.因?yàn)楹诳退褂玫囊恍┏绦?低端CPU也可以很好的運(yùn)行,而且不占什么內(nèi)存.還有一個(gè),黑客是在DOS命令下對(duì)進(jìn)行的,所以電腦能使用到最佳狀態(tài)!所以,不要打著學(xué)習(xí)的名義重新購(gòu)買機(jī)器…
2.軟件選擇
很多人會(huì)糾結(jié)學(xué)習(xí)黑客到底是用Linux還是Windows或者是Mac系統(tǒng),Linux雖然看著很酷炫,但是對(duì)于新人入門并不友好。Windows系統(tǒng)一樣可以用虛擬機(jī)裝靶機(jī)來(lái)進(jìn)行學(xué)習(xí)
至于編程語(yǔ)言,首推Python,因?yàn)槠淞己玫耐卣怪С中?。?dāng)然現(xiàn)在市面上很多網(wǎng)站都是PHP的開發(fā)的,所以選擇PHP也是可以的。其他語(yǔ)言還包括C++、Java…
很多朋友會(huì)問(wèn)是不是要學(xué)習(xí)所有的語(yǔ)言呢?答案是否定的!引用我上面的一句話:學(xué)習(xí)編程只是工具不是目的,我們的目標(biāo)不是成為程序員
(這里額外提一句,學(xué)習(xí)編程雖然不能帶你入門,但是卻能決定你能在網(wǎng)絡(luò)安全這條路上到底能走多遠(yuǎn),所以推薦大家自學(xué)一些基礎(chǔ)編程的知識(shí))
3.語(yǔ)言能力
我們知道計(jì)算機(jī)最早是在西方發(fā)明出來(lái)的,很多名詞或者代碼都是英文的,甚至現(xiàn)有的一些教程最初也是英文原版翻譯過(guò)來(lái)的,而且一個(gè)漏洞被發(fā)現(xiàn)到翻譯成中文一般需要一個(gè)星期的時(shí)間,在這個(gè)時(shí)間差上漏洞可能都修補(bǔ)了。而且如果不理解一些專業(yè)名詞,在與其他黑客交流技術(shù)或者經(jīng)驗(yàn)時(shí)也會(huì)有障礙,所以需要一定量的英文和黑客專業(yè)名詞(不需要特別精通,但是要能看懂基礎(chǔ)的)
比如說(shuō):肉雞、掛馬、shell、WebShell等等
三、自學(xué)網(wǎng)絡(luò)安全學(xué)習(xí)路線
重點(diǎn)內(nèi)容
TCP/IP參考模型
數(shù)據(jù)在各層協(xié)議間的流動(dòng)
鏈路層協(xié)議基本概念
網(wǎng)絡(luò)層協(xié)議基本概念
傳輸層協(xié)議基本概念
應(yīng)用層協(xié)議基本概念
PDU、MTU、分片的概念
一、網(wǎng)絡(luò)體系結(jié)構(gòu)
1、網(wǎng)絡(luò)體系結(jié)構(gòu)的含義
如何分層:是指該協(xié)議體系中,共分為幾個(gè)層次,每個(gè)層次的名稱、功能分別是什么。例如,OSI七層參考模型,包含物理層、鏈路層等七個(gè)層次,而TCP/IP體系結(jié)構(gòu)則分為鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層四個(gè)層次。
各層協(xié)議:對(duì)等層間進(jìn)行數(shù)據(jù)交換等通信動(dòng)作時(shí),所遵循的規(guī)范,則稱為網(wǎng)絡(luò)體系結(jié)構(gòu)的各層協(xié)議。
層間接口:描述的是同一對(duì)象內(nèi)不同網(wǎng)絡(luò)層次間進(jìn)行數(shù)據(jù)交換時(shí)所遵循的規(guī)范。
2、OSI參考模型
OSI(Open System Interconnection)開放系統(tǒng)互聯(lián)參考模型把網(wǎng)絡(luò)分為七個(gè)層次。從下往上,依次稱為第一層、第二層,直至第七層。其中物理層、鏈路層、網(wǎng)絡(luò)層通常用于數(shù)據(jù)在網(wǎng)絡(luò)中的傳遞,構(gòu)成整個(gè)網(wǎng)絡(luò)的通信子網(wǎng)。組成資源子網(wǎng)的各類主機(jī),不僅包含第一至第三層協(xié)議,還涵蓋第三層以上用于保障數(shù)據(jù)正確傳輸、實(shí)現(xiàn)多種多樣網(wǎng)絡(luò)應(yīng)用功能的各層協(xié)議。
3、TCP/IP參考模型
TCP/IP參考模型分為鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層四個(gè)層次。TCP/IP參考模型和OSI七層模型的對(duì)應(yīng)關(guān)系如下圖。
TCP/IP模型簡(jiǎn)化了OSI模型,這也是TCP/IP成為當(dāng)前網(wǎng)絡(luò)協(xié)議的事實(shí)標(biāo)準(zhǔn)的主要原因。事實(shí)上,OSI模型作為國(guó)際標(biāo)準(zhǔn)化組織制定的一種網(wǎng)絡(luò)理論體系結(jié)構(gòu),從未被真正意義上的產(chǎn)品實(shí)現(xiàn)過(guò)。
數(shù)據(jù)發(fā)送過(guò)程中,數(shù)據(jù)由高層流向低層,數(shù)據(jù)被逐層添加頭部信息,到達(dá)物理層時(shí),原始應(yīng)用程序數(shù)據(jù)已經(jīng)被加入了應(yīng)用層頭部、傳輸層頭部、網(wǎng)絡(luò)層頭部、鏈路層頭部,并在數(shù)據(jù)尾部加入了鏈路層尾部信息,這個(gè)過(guò)程稱為數(shù)據(jù)封裝。
數(shù)據(jù)到達(dá)目的地后,數(shù)據(jù)流向則變?yōu)橛傻蛯恿飨蚋邔?,此時(shí),數(shù)據(jù)每上高層流動(dòng)一層,則被去掉該層的頭部信息 。
二、鏈路層協(xié)議
1、以太網(wǎng)的概念
以太網(wǎng),是局域網(wǎng)的一種 。
以太網(wǎng)是采用CSMA/CD媒體訪問(wèn)控制協(xié)議的一種局域網(wǎng)類型,由一系列IEEE 802協(xié)議所規(guī)范。
典型的其它局域網(wǎng)還有令牌環(huán)網(wǎng)、FDDI網(wǎng)、ATM網(wǎng)。
以太網(wǎng)采用CSMA/CD(Carrier Sense Multiple Access with Collision Detection),意味著按照如下方式來(lái)訪問(wèn)共享的信道。
Multiple Access,即多路訪問(wèn),表明多臺(tái)主機(jī)連接到同一總線上,即多主機(jī)共享信道,不能同時(shí)發(fā)送數(shù)據(jù)。
Carrier Sense,載波監(jiān)聽(tīng),意指在主機(jī)發(fā)送數(shù)據(jù)前,需要先檢測(cè)總線上是否有其它主機(jī)正在發(fā)送,如有, 則暫時(shí)不發(fā)送,以免發(fā)生沖突(Colission)。
2、令牌環(huán)網(wǎng)
令牌環(huán)網(wǎng)的線路由一個(gè)環(huán)形總線組成??偩€空閑時(shí),有一個(gè)令牌繞環(huán)運(yùn)行,所有主機(jī)只有獲得令牌后才能發(fā)送數(shù)據(jù)。獲得令牌的主機(jī),在發(fā)送數(shù)據(jù)前,先刪除令牌,發(fā)出一份數(shù)據(jù)后,該主機(jī)則產(chǎn)生一個(gè)新的令牌。
令牌環(huán)協(xié)議的工作原理決定了在這種網(wǎng)絡(luò)中,不會(huì)產(chǎn)生沖突,網(wǎng)絡(luò)上的所有主機(jī)享有均等的發(fā)送數(shù)據(jù)的機(jī)會(huì)。
在通信負(fù)載很重的情況下,信道利用率接近100%。
三、網(wǎng)絡(luò)層協(xié)議
1、網(wǎng)絡(luò)層主要功能
作為網(wǎng)絡(luò)層的主要功能,編址和尋址的功能在TCP/IP體系中都是以IP地址來(lái)體現(xiàn)的。
鏈路層的物理地址,只能實(shí)現(xiàn)單一局域網(wǎng)內(nèi)不同主機(jī)的區(qū)分與定位。
要實(shí)現(xiàn)跨局域網(wǎng)乃至整個(gè)Internet范圍的主機(jī)定位,則必須使用網(wǎng)絡(luò)層的IP地址。
2、IP地址
IP地址是一個(gè)32比特的數(shù)字。
通常按每8位一個(gè)字節(jié)的方式,用4個(gè)十進(jìn)制數(shù)以“.”號(hào)隔開,稱為IP地址“點(diǎn)分十進(jìn)制”表示法。
例如,家庭上網(wǎng)所使用的寬帶路由器,默認(rèn)的IP地址通常是“192.168.1.1”。
3、A、B、C三類IP地址
A類IP地址的網(wǎng)絡(luò)號(hào)部分最高位固定位0。
B類IP地址的網(wǎng)絡(luò)號(hào)部分最高位固定位10。
C類IP地址的網(wǎng)絡(luò)號(hào)部分最高位固定位110。
4、ARP協(xié)議
ARP(Address Resolution Protocol,地址解析協(xié)議)的目的:
根據(jù)目的地的IP地址,得到目的地的物理地址(我們以MAC地址為主)。
在Windows/Unix/Linux操作系統(tǒng)中,查看ARP表項(xiàng)的命令如下圖:
四、傳輸層協(xié)議
1、傳輸層功能
網(wǎng)絡(luò)層實(shí)現(xiàn)的是主機(jī)端到端的傳輸能力。
網(wǎng)絡(luò)層編址、尋址(即路由)功能,數(shù)據(jù)能從一臺(tái)主機(jī)到達(dá)網(wǎng)絡(luò)中任意其它主機(jī),單數(shù)據(jù)到達(dá)目的主機(jī)后,由目的主機(jī)的哪個(gè)應(yīng)用程序來(lái)處理,則不是網(wǎng)絡(luò)層協(xié)議所能解決的。
傳輸層提供的是應(yīng)用程序端到端的傳輸能力。
網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送、接收,最終都必須由特定的應(yīng)用程序來(lái)完成,因此,必須引用新的機(jī)制,來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)與應(yīng)用程序的關(guān)聯(lián),這就是傳輸層的端口(Port)所要做的。
2、端口的概念
端口,是一個(gè)16比特的數(shù)字,端口號(hào)的最小值為0,最大值為65535。
0~1023,稱為熟知端口(Well-Known Port),熟知端口通常用于關(guān)聯(lián)常用的網(wǎng)絡(luò)服務(wù)。例如:
80端口常用于關(guān)聯(lián)Web服務(wù),以提供網(wǎng)頁(yè)瀏覽;
53端口常用于關(guān)聯(lián)DNS服務(wù),以提供域名解析。
注意:
TCP/IP的網(wǎng)絡(luò)層提供了兩套服務(wù)-TCP和UDP,因此對(duì)應(yīng)就有兩套端口機(jī)制。
TCP有一套端口,從0到65535;
UDP也有一套端口,從0到65535。
在一些需要嚴(yán)密表述的場(chǎng)合,僅指出端口號(hào)是不夠的,還應(yīng)當(dāng)指明是TCP端口,還是UDP端口。前文所述Web服務(wù)的80端口,是指TCP的80端口,而DNS服務(wù)的53端口,通常是指UDP的53端口。
3、套接字的概念
IP地址、端口,用“:”連接起來(lái),稱為套接字(Socket)。
套接字用于描述一個(gè)網(wǎng)絡(luò)應(yīng)用程序附著點(diǎn)
例如:“192.168.1.1:80”。
查看當(dāng)前操作系統(tǒng)中的套接字:
4、三次握手建立TCP連接
TCP連接的建立,需要由稱為“三次握手”的三個(gè)TCP報(bào)文段(TCP Segment)來(lái)實(shí)現(xiàn),如下圖。
客戶端首先打開一個(gè)用于建立連接的端口,然后向服務(wù)端的特定端口發(fā)送一個(gè)包含SYN標(biāo)記(表示連接建立請(qǐng)求)的報(bào)文段。
若服務(wù)端相應(yīng)端口處于監(jiān)聽(tīng)狀態(tài),則向客戶端返回一個(gè)包含SYN和ACK標(biāo)記的報(bào)文段,ACK標(biāo)記表示確認(rèn)客戶端的連接請(qǐng)求。
正常情況下,客戶端再向服務(wù)端發(fā)送一個(gè)包含ACK標(biāo)記的報(bào)文段,以通知服務(wù)端當(dāng)前連接已被客戶端確認(rèn)。
五、應(yīng)用層協(xié)議
1、DNS
DNS(Domain Name Service,域名服務(wù))是一種命名系統(tǒng)。
提供由IP地址到域名,或由域名到IP地址的解析服務(wù)。
網(wǎng)絡(luò)通信最終都是以IP地址來(lái)識(shí)別不同計(jì)算機(jī),但I(xiàn)P是一串?dāng)?shù)字,難于理解和記憶。DNS系統(tǒng)可為IP地址分配一個(gè)(或多個(gè))易于記憶的中英文字符串,即IP地址對(duì)應(yīng)的域名。
2、HTTP
自1990年起,HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)就已經(jīng)被應(yīng)用于WWW(World Wide Web,萬(wàn)維網(wǎng))。
HTTP目前依然是Internet上應(yīng)用最為廣泛的應(yīng)用層協(xié)議。
HTTP是一種請(qǐng)求/響應(yīng)式的協(xié)議??蛻魴C(jī)與服務(wù)器建立連接后,發(fā)送一個(gè)請(qǐng)求給服務(wù)器;服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息。
瀏覽過(guò)程中,Web瀏覽器是客戶端程序,向Web服務(wù)程序發(fā)出瀏覽請(qǐng)求,Web服務(wù)程序根據(jù)請(qǐng)求內(nèi)容將存放在Web服務(wù)器上的Web頁(yè)面封裝成HTTP協(xié)議報(bào)文的格式,返回給Web瀏覽器。在Web服務(wù)器上,一系列Web頁(yè)面以及相關(guān)的圖片、視頻等其它媒體的集合,即稱為Web站點(diǎn)。
3、FTP
FTP(File Transfer Protocol,文件傳輸協(xié)議)是Internet上以C/S(Client/Server,客戶端/服務(wù)器)方式處理文件的協(xié)議??蛻舳丝梢韵蚍?wù)器上傳文件,也可以從服務(wù)器下載文件。
FTP進(jìn)行文件傳輸需要用到兩個(gè)TCP連接,控制連接和數(shù)據(jù)連接。
若數(shù)據(jù)連接是由服務(wù)器向客戶端發(fā)起的TCP連接,則這種工作模式稱為主動(dòng)模式(Active Mode)。
若數(shù)據(jù)連接是由客戶端向服務(wù)器發(fā)起的,則這種工作模式稱為被動(dòng)模式(Passive Mode)。
六、相關(guān)基本概念
1、PDU
PDU(Protocol Data Unit,協(xié)議數(shù)據(jù)單元)是各協(xié)議層次所處理數(shù)據(jù)的基本單位,協(xié)議層次不同,PDU的稱謂、格式均不相同。
物理層的PDU是二進(jìn)制位(Bit,又稱比特);
鏈路層的PDU是幀(Frame);
網(wǎng)絡(luò)層的PDU是IP數(shù)據(jù)包(Packet);
傳輸層的PDU是報(bào)文段(Segment);
應(yīng)用層的PDU是報(bào)文(Message)。
2、MTU、分片
以太網(wǎng)幀的有效載荷數(shù)據(jù)區(qū)最多能包含1500字節(jié),稱為MTU(Maximum Transfer Unit,最大傳輸單元)。
由于上一層的PDU-IP數(shù)據(jù)包整個(gè)都被封裝在鏈路層幀的數(shù)據(jù)區(qū),因而單個(gè)IP數(shù)據(jù)包的最大長(zhǎng)度即為1500字節(jié)。
IP數(shù)據(jù)包分為頭部和有效載荷數(shù)據(jù)區(qū),頭部長(zhǎng)度為20字節(jié),故IP數(shù)據(jù)包的數(shù)據(jù)區(qū)最大長(zhǎng)度為1500-20=1480字節(jié)。
若網(wǎng)絡(luò)層有超出1480字節(jié)的數(shù)據(jù)需要發(fā)送,則需要將數(shù)據(jù)以1480為單位,分為多個(gè)IP數(shù)據(jù)包發(fā)送,這個(gè)過(guò)程稱為IP數(shù)據(jù)包分片(Fragmenting)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-502282.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-502282.html
到了這里,關(guān)于自學(xué)黑客(網(wǎng)絡(luò)安全),一般人我勸你還是算了吧(自學(xué)網(wǎng)絡(luò)安全學(xué)習(xí)路線--第一章 網(wǎng)絡(luò)協(xié)議基礎(chǔ) )的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!