在網路上找了很多文章,而且這個問題困擾了我幾個月
很多文章都說Syn flood屬於OSI layer 4 attack
同時也有很多文章說是Layer 3....
到底是網路層L3, 還是Transport層L4呢?
先別管 Flooding 了, 你自己怎麼定義 Layer 3 or 4?
Layer 3 = ???? (一段文字敘述)
Layer 4 = ???? (一段文字敘述)
定義搞清楚了, 才有辦法歸類啊....
還有, 看別人文章的時候, 也要注意人家是怎麼定義他的名詞的?
說不定 A 講的 Layer 3 其實就是 B 講的 Layer 4 哩!!...
謝謝雷神,以我自己模糊的認知,大概是下面這樣
L3, 尚未建立連線前的攻擊
L4, 嘗試建立連線的攻擊
L5, 已經建立連線後的攻擊
我知道Syn flood跟我自己認知中的L4很符合,但是腦海裡又有一股聲音告訴我說
"Syn flood根本不是嘗試想跟你建立起連線, they don't give a shit!"
你描述的 L3~L5 並不是 OSI 定義裡的敘述, 所以我無從比較起...
我所知的 OSI 7 層架構長這樣:
Layer 3 的定義實作: 控制通訊兩端的節點路由,
Layer 4 的定義實作: 透過 TCP/UDP Port 通訊
(OSI 裡面並沒有定義甚麼叫攻擊? 他只定義了: 每一層能做甚麼事情?)
所以 UDP Flooding 能打 Layer 3 實作物件嗎? 不能.
因為在 Layer 3 裡面, 還沒實作出 UDP Port 號,
Port 號要到 Layer 4 才會被解出來看到....
那麼 ICMP Flooding 可以打到 Layer 4 實作物件嗎? 不能.
因為 ICMP 並沒有針對任何 TCP/UDP Port,
他在 Layer 3 就已經解出 ICMP Header 發動了,
不會被送到 Layer 4 去....
TCP SYN Flooding 要不要指定對方 Port 號?
對方在 Layer 3/4 哪一層能讀取這個 Port 號?
攻擊手法跟有沒有建立起連線無關
(Flooding 本來就沒打算建連線啊);
Layer 的定義是指網路封包裡面的資訊類型, 只要對方解出 Port 號, 開始觸發連線程序, 攻擊就完成了, 不需要等到對方走完全部的完整連線程序....
我們只問:
他在哪裡層可以接觸到攻擊所需的資訊?
而不是問:
他有沒有在哪一層建立連線?
這樣想好了, 你覺得甚麼叫攻擊?
有人衝進你家裡, 未經你的允許把東西砸爛嗎?
還是,
有人在你家門口倒一車的牛糞, 讓別人不敢靠近?
關鍵思考:
敵人沒開門進你家, 但擋住門口不讓別人進去, 算不算攻擊你?
再多說一個題外話:
並不是非得建立好連線才能攻擊別人,
請研究一下 MAC/IP Spoofing 的原理...
你在這邊問也不過是多一篇文章說是L4而已(笑