1. 程式人生 > 其它 >網路安全基礎

網路安全基礎

網路安全基礎

如何將兩個電腦連起來

通過網線,網絡卡

網線不夠長,資料丟失

中繼器

能夠對資訊進行中繼,實現裝置的放大,集線器,多口中繼器,能夠對資訊進行中繼和放大,會往其他所有介面泛洪,無法對終端主機進行隔離多個主機處於同一個**衝突域**中,採用集線器的網路,頻寬利用率較低。

網橋

鏈路層產品,能夠記錄終端至極mac地址能夠進行衝突域隔離,提高網路頻寬利用率,不同介面之間資料不會互相沖突,
介面有限,預設是兩個介面,

交換機

①交換機(Switch)是一種鏈路層產品,能夠記錄終端主機的MAC地址並生成MAC表(也稱為CAM表),MAC表相當於“地圖”,交換機根據MAC錶轉發主機之間的資料流。
②交換機是在網橋的基礎上進行延伸和升級,相比網橋,主要有幾個優勢:介面數量更加密集(每個主機在獨立的衝突域,頻寬利用率大大提高)採用專用ASIC硬體晶片進行高速轉發能夠進行VLAN隔離(不僅僅可以隔離衝突域,而且通過VLAN隔離廣播域)
③交換機是一種區域網產品(歷史上有很多區域網技術,目前是乙太網技術稱霸),一般用於本地網路,無法實現遠端廣域網通訊。

路由器

採用路由表實現資料轉發
路由器主要用於連線不同區域網(可以是不同介質,如令牌網和乙太網可以互通),實現廣播域隔離,也可以用於遠端通訊(廣域網連線)
跨介質跨地理的網路大融合成為現實
IP協議等邏輯定址機制是實現不同型別區域網連通的關鍵
路由器在實現區域網之間通訊時,會進行“介質翻轉”和“路由轉發”

無線AC/AP

無線AP(Access point)可以看成帶有無線功能的交換機/路由器,隨著無線城市、移動辦公趨勢,網路中無線產品的比例越來越多
胖AP,瘦AP,小型的無線網路(家用、小型企業)用胖AP即可解決,大型無線網路(無線城市、無線校園網)則需要用瘦AP方案)(AC+AP)來解決

防火牆

防火牆(Firewall)是一種網路安全產品,用於對網路進行安全訪問限制,一般用在網際網路邊緣,防止外部黑客攻擊。
根據防火牆的技術特徵,可以分為包過濾、應用代理、狀態檢測防火牆;根據產品形態,可以分為軟體和硬體防火牆。
可以看到例如路由協議、訪問控制列表、地址翻轉技術
是否有了防火牆,就可以不用路由器了呢?網路邊界的路由器是可以直接代替為防火牆,但是防火牆和路由器可以在網路裡面同時存在,例如將防火牆放在路由器之前或者之後都可以,這樣的話,路由器側重地址翻轉和路由策略,防火牆側重安全隔離等功能。

流控

網路中的流控(流量控制)產品主要分為上網行為管理、負載均衡器/應用交付、鏈路優化等
行為管理產品主要針對流量進行精細化區分控制;負載均衡/應用交付側重流量的負載均衡(根據流量的特徵、應用、地址等進行區分,然後分發到不同的鏈路和伺服器上);鏈路優化主要應用在廣域網等低速鏈路邊界,最大化利用鏈路

家庭網路

小型創業公司網路

園區網


政務網


資料中心


電信網

TCP/IP協議

概述

現在電腦都是安裝TCP/IP棧通訊

協議棧


OSI模型是一個理論框架,而TCP/IP協議棧是一個事實標準。
應用層:為使用者提供軟體介面,協議,HHTP,HTTPS,BT/P2P/QICQ
傳輸層,作用,用於實現資料可靠傳輸和不可靠傳輸,協議,TCP/UDP
網路層,提供IP地址和三層通訊(路由器)功能,IP協議
鏈路層,提供MAC地址和二層通訊(交換機)功能。Ethernet




封裝和解封裝

資料封裝是一個為資料包加入尋地址資訊的過程
埠號用於標誌不同的應用程式,面向終端使用者
ip地址用於標誌通訊裝置,面向路由器
mac地址用於標誌唯一的區域網裝置面向交換機

Etherpnet協議

乙太網協議,用於實現鏈路層的資料傳輸和地址封裝

三個協議欄位

Destination 目的欄位,表示通訊方的mac地址
souce源欄位,標識傳送端的mac地址
type,型別值,標誌上層的協議

mac地址(網絡卡)

mac地址唯一的
mac16進位制的
前半段是OUI程式碼,表示廠商,思科華為三星。。。

IP協議

1.任何能聯網的裝置都有唯一IP地址
2.IP可以被追蹤

原理

通過IP協議棧實現網路通訊,面向無連線和不可靠的傳輸功能
通訊過程
	①PC1在請求資料包裡面封裝源目IP地址,並將帶有IP地址的資料包傳送到網際網路;
    ②網際網路有大量的網路通訊裝置(例如路由器),路由器根據資料包的IP地址查詢路由表(地圖),然後以接力棒的	方式逐跳轉發直到目標伺服器;
    ③伺服器收到請求資料後,將源目IP地址翻轉,並封裝回應資料包傳送到網際網路。

模擬快遞員收寄件

快遞收寄件:

①寄快遞的時候,需要先寫快遞單,快遞單要求寫入寄件方和收件方的姓名和聯絡資訊(電話號碼、地址),寫完之後,再將快遞單貼在包裹上面

②物流公司(或快遞員)根據包裹的寄件地址,通過物流平臺(飛機、長途貨車、卡車)將包裹在省市中傳輸,直到收件方的城市。

③收快遞的時候,快遞員根據包裹收件地址,找到對應的街道或小區,然後通過電話聯絡並交付到我們手裡。

總結:快遞單相當於IP地址、快遞包裹相當於資料包,物流公司/快遞員相當於路由器/交換機

實踐內容

開啟wireshark軟體實現抓包
命令:ping 8.8.8.8
抓包

ip協議欄位解讀

【IP協議欄位解讀】
Version(版本號):標識IP協議的版本,目前V4版本地址已經枯竭,V6慢慢成為主流。
Header Length(頭部長度):預設為20位元組,最大為60位元組。
Differentiated Services Field (服務區分符):用於為不同的IP資料包定義不同的服務質量,一般應用在QoS技術中。
Total Length (總長度):標識IP頭部加上上層資料的資料包大小,IP包總長度最大為65535個位元組。
Identification (識別符號):用來實現IP分片的重組,標識分片屬於哪個程序,不同程序通過不同ID區分。
Flags(標誌符):用來確認是否還有IP分片或是否能執行分片。
Fragment offset (分片偏移量):用於標識IP分片的位置,實現IP分片的重組。
Time to live (生存時間):標識IP資料包還能生存多久,根據作業系統不同,TTL預設值不同,每經過一個三層裝置如路由器的處理,則TTL減去1,當TTL=0時,則此資料包被丟棄。
Protocol (協議號):標識IP協議上層應用。當上層協議為ICMP時,協議號為1,TCP協議號為6,UDP的協議號為17。
Header checksum (頭部校驗):用於檢驗IP資料包是否完整或被修改,若校驗失敗則丟棄資料包。
Source(源IP地址):標識傳送者IP地址,佔用32bit。
Destination (目的IP地址):標識接收者IP地址,佔用32bit。

我們可以看到IP頭部預設有12個欄位(後續會提到特殊欄位),為了方便記憶,可以總結為7個核心知識點:
a.Source和Destination即IP源目地址欄位,是IP協議最核心的欄位;
b.Id+Flags+FO三個欄位可以實現IP資料分片和重組;
c.Total Length和Header Length標記IP頭部和上層資料的邊界;
d.TTL生存時間欄位可以實現通訊防環;
e.DSCP服務區分符可以實現流量控制;
f.Checksum欄位可以資料包完整性校驗;
g.Protocol欄位標記上層應用;
源目IP欄位上面已經講過,下面我們來對其他欄位進行解讀=>

TTL生存欄位解讀

TTL(Time to live)即生存時間,用於標識IP資料包"還能存活多久",這個生存值在傳送方傳送資料時便設定好了。不同電腦/作業系統的初始TTL是不同的,例如上圖,便是我的Mac電腦發出的,預設值是64,其他一些系統是128或255。由於TTL值佔用8個bit位,所以最大值是255(二進位制11111111)。IP資料包每經過一個路由器或三層裝置,TTL便會被減去1,而當TTL=0的時候,則代表此資料包"死亡",此時路由器便會向源傳送者返回一個"TTL Exceed"的ICMP報錯包。上圖中,如果我的電腦到目標伺服器超過了64跳,則這個資料包會中途被丟棄,無法到達目標地。
TTL值除了標識IP資料包的生存值之外,另外一個特別重要的功能便是"防止資料包環路",簡稱為"防環"。很多時候,由於工程師的疏忽,或者網路拓撲結構的複雜性,會出現一些有bug的網路環境,例如=>
上面便是一個經典的"環路拓撲",當電腦將資料包傳送到網際網路時,由於網路裝置之間存在環路(Loop),所以資料包一直在裡面繞起來,而不是傳送到最右邊的伺服器。如果沒有TTL,則這個資料包會一直存在於鏈路中,這樣不僅佔用網路頻寬,並且浪費裝置的處理器資源。若有大量的資料包存在網路中,則會拖垮其他人的正常通訊。

DSCP欄位解讀

DSCP(Differentiated Services Field) 即服務區分符,用於為不同的IP資料包定義不同的服務質量。DSCP的前身叫做TOS(Type of Service,服務型別)。不管是TOS還是DSCP,它們都是QoS服務質量裡面的技術實現。
說白了就是給VIP提供專線服務,沒開通就沒有這個服務

Checksum欄位

用於校驗資料的完整性
不同協議採取方法不同,IP協議中checksum只校驗IP頭部,沒有資料部分
TCP/UDP校驗頭部和資料部分,校驗沒問題收並處理,有問題就丟棄

Protocol欄位解讀

無論是IT協議的Protocol欄位,還是Ethernet乙太網協議裡面的Type欄位,又或者是TCP/UDP協議裡面的Port欄位,這些欄位的功能都是用於標識上層協議或應用。例如,ICMP協議號為1,TCP協議號為6,UDP的協議號為17

對於很多初學者來而,雖然知道了哪些協議號對應哪些上層應用,畢竟只要背熟了就好,但是我們還需要更深入的思考?例如,在IP協議裡面加入協議號標識傳輸層協議,意義何在?

通過上面這張圖我們可以看到,若PC1 PING PC2,則此時會採用ICMP協議,而ICMP協議對應的協議號是1。當PC2收到這個資料包時,拆開IP頭部,則會看到協議號,根據協議號呼叫對應的上層協議或應用來進行上層資料處理。以這裡例子來看,若PC2採用TCP或UDP來解開ICMP資料包,則無法正常解析,好比用word程式要開啟一部mp4電影,肯定會有故障。而如果這裡PC2根據協議號為1,呼叫ICMP協議來處理ICMP資料包,則可以正常解讀並返回迴應包。
所以,協議號(Protocol)、埠號(Port)、型別值(Type)這些的功能都是:標記上層協議/應用,告訴接收方,有正確的協議/應用來開啟這個資料,功能相當於電腦檔案的字尾名,告訴電腦用哪些應用程式來開啟對應的檔案。