一、網絡層的功能
1.定義了基於IP協議的邏輯地址
2.連接不同的媒介類型
3.選擇數據通過網絡的最佳路徑
IP字段包括:
版本(Version):該字段包含的是IP的版本號,4bit。目前IP的版本為4(即IPv4)
首部長度(Header Length):該字段用於表示IP數據包頭長度,4bit。IP數據包頭最短為20字節,但是其長度是可變的,具體長度取決於可選字段的長度;
優先級和服務類型(Priority&Type of Service):該字段用於表示數據包的優先級和服務類型,8bit。通過在數據包中划分一定的優先級,用於實現QoS(服務質量)的要求。
總長度(Total Length):該字段用以指示整個IP數據包的長度,16bit。最長為65535字節,包括包頭和數據;
標識符(Identification):該字段用於表示IP數據包的標識符,16bit。當IP對上層數據進行分片時,它將給所有的分片分配同一組編號。然后將這些編號放入標識符字段中,保證分片不會被錯誤的重組;
標志(Flags):標志字段,3bit。對當前的包不能進行分片(當該包從一個以太網發送到另一個以太網時),或當一個包被分片后用以指示在一系列的分片中,最后一個分片是否已發出;
段偏移量(Fragment Offset):該字段用於表示段偏移量,3bit。段偏移量中包含的信息是指在一個分片序列中如何將各分片重新連接起來;
TTL(Time to Live):該字段用於表示IP數據包的生命周期,8bit。一個數據包每經過一個路由器,TTL將減去1.當TTL的值為0時,該數據包將被丟棄。可以防止一個數據包在網絡中無限循環的轉發下去;
協議號(Protocol):協議字段,8bit。該字段用以指示在IP數據包中封裝的是哪一個協議,是TCP還是UDP,TCP的協議號為6,UDP的協議號為17
首部校驗和(Header Checksum):該字段用於表示校驗和,16bit。接受方和網格用來校驗數據有沒有被改動過
源IP地址(Source IP Address):該字段用於表示數據包的源地址,32bit;
目標IP地址(Destination IPAdress):該字段用於表示數據包的目的地址,32bit;
可選項(Options):可選項字段根據實際情況可變長,可以和IP一起使用的選項有多個。
二、ping命令
1.ping命令的返回信息
ICMPping不通的原因:開通防火牆,IP地址有問題,本局域網拼不通,可能是交換機口插錯了,等,這些情況ping不通。
2.-t參數會一直執行ping,需要用(Ctrl+c)停止
3. -a 可以顯示主機名稱
4. -l :參數可以設定ping包的大小(在Linux系統中為-s
5. -n :指定發送包的個數(在Linux系統中為-c)
6.-s :指定源IP去ping(在Linux系統中為-I)
7. tracert IP/域名 :跟蹤路由器路徑命令(Linux系統為traceroute IP/域名)
三、ARP協議概述
1.局域網中主機的通信:IP地址與MAC地址
2.什么是ARP協議:Address Resolution Protocol,地址解析協議。將一個已知的IP地址解析成MAC地址。
3.IP地址解析為MAC地址
PC1發送給PC2,查看緩存沒有PC2的MAC地址
PC1發送ARP請求消息(廣播)
所有主機收到ARP請求消息
PC2回復ARP應答(單播)
其他主機丟棄
PC1將PC2的MAC地址保存到緩存中,發送數據
四、ARP攻擊原理
1.欺騙其他所有計算機:
2.欺騙被攻擊的計算機
如上圖:
攻擊主機B向網關發送虛假的ARP應答,當網關收到虛假的ARP應答后會更新ARP條目,然后發送數據給主機A,就會發送到虛假的MAC地址,從而導致通信故障。
攻擊主機B向局域網中的所有主機發送ARP應答,其中包括了網關的IP地址和和虛假的MAC地址,局域網中的主機收到ARP應答后更新ARP緩存表,然后就會向虛假的MAC地址發送數據,然后就無法與網關正常通信。
五、ARP欺騙原理
如上圖所示:
欺騙ARP(主機B)發送ARP應答到局域網的所有其他主機,其中包括了網的IP地址和欺騙主機的MAC地址,同時發給了網關ARP應答,其中包括了局域網中所有主機的IP地址和欺騙主機的MAC地址,當局域網中的其他主機和網關收到ARP應答后會更新ARP緩存表中的IP地址和MAC網關,然后局域網中的主機和網關之間的通信就只能通過欺騙主機進行轉發了。