此次基於 OSI 和 TCP/IP 這兩個模型來介紹可能發生的攻擊手段前端
前文:程序員
從上圖能夠看到,OSI 模型將網絡劃分紅爲七層,而TCP / IP模型將其簡化成四層。本文會使用 OSI 模型的前三層(1〜3),與 TCP/IP 模型的後兩層(3〜4)來說解常見的網絡攻擊。面試
物理層面的攻擊很難發生在嚴格控管的機房環境,而在辦公室、家庭、咖啡館等網絡環境很常見。segmentfault
物理層的傳輸基本上是 010101 的數字信號,基本的傳輸媒介是使用光、電與無線電。先看一種沒什麼技術含量的 L1 攻擊,你們應該都看過這個東西。瀏覽器
紅框內就是 L1 等級的防火牆,剪斷以後就能阻擋惡意流量,固然正常流量也一塊兒被幹掉了。這就是不須要什麼技術的 L1 級攻擊,把通訊介質斷開就能夠達到 DoS (Deined of Service)的效果,固然這沒什麼技術含量。安全
不過還有須要更多技術的 L1 攻擊。最多見的就是被稱爲 Tapping 的攻擊,Tap 這個詞是竊聽的意思。有些網絡商也將 TAP 稱爲測試訪問點(Test Access Point)或終端訪問點(Terminal Access Point)來美化這種行爲。服務器
TAP是一把雙刃劍,可讓網管分析數據流,但若是到惡意用戶手中就會變成竊聽的工具。TAP 主要分爲兩種,主動式與被動式。微信
被動式 TAP 就是把一部分傳輸介質複製出來。網絡
例如:假如是傳統的銅質雙絞線,就能夠在實體上把導線線接出來;而光纖中的光脈衝信號則能夠用分光器把光線分離出來;無線信號的話你們都能收到,直接收就好了,可是會有很大機率對原信號形成干擾或衰減。多線程
由於被動式是直接對傳輸介質自己複製的方式,因此不會由於監聽設備死掉而形成鏈接中斷的狀況。不過要注意,被動式指的是不主動提供新的信號源來中繼數據信號,這與後面要說的零停機(Zero Downtime) 不太同樣。被動 TAP 能夠作到零停機,但不是全部的方法均可以。
主動式 TAP 須要主動提供新的信號源來作中繼,避免信號衰減。主動式 TAP 能夠作到中間人(MITM)攻擊,同時也能避免被動式 TAP 信號干擾與衰減的問題。
而主動式的缺點也很明顯,因爲新的信號源是由中間人主動提供的,當中間人的主動式 TAP 裝置故障或掉線後,整個連線將會中斷。
鏈路層就是 L2,L2 交換機的 L2 值得就是這個它。
在如今世界通用的以太網,主要用 L2 來識別 MAC (Media Access Control) 地址。在你電腦經過 DHCP 得到 IP 以前,主要的通訊都是在 L2 上。
鏈路層攻擊基本上都發生在你能夠控制的設備周圍,能夠經過一些鏈路層的通訊協議來進行攻擊。比較常見的是假冒本身是另外一臺電腦(Fake Src MAC,ARP Spoofing),或者是假冒成一臺交換器來影響周邊設備(STP Spoofing、Trunking Attack)。 L2 攻擊能夠有效的影響周邊的設備。
網路層,又稱爲 IP 層,主要用來識別不一樣主機的 IP 地址。
L3 能夠攻擊的手段相對少一些。主要攻擊的手段是僞造發包的來源 IP,讓目的機器認爲這個包是從其餘機器來的,這種攻擊被稱爲 IP 欺騙,是比較常見的 L3 攻擊。比較簡單的終端是沒法阻止這種攻擊的,須要在中途或來源斷絕它。
傳輸層算是問題比較少的一層,這層主要須要配合前面的網絡層進行攻擊。由於如今主要用的都是 TCP 與 UDP,若是能夠猜到對方使用的 TCP/UDP 端口,就能夠進行鏈接並攻擊。可是因爲猜對的機率很小,因此沒什麼太大的價值,可是若是能夠聽到單方向的流量,則能夠輕易的實現攻擊。
OSI L4 以上全都被 TCP/IP模型歸爲第四層,而這層最主要就是前端最關心的 Web 安全等問題。像是 SQL 注入、XSS、SSRF 之類的攻擊都在這裏。
本文概述了 OSI 與 TCP/IP 模型中每一層可能會發生的安全問題,之後文章將會講解這些攻擊的細節,並會有一些實際操做。