軟件大小:
軟件語言:
瀏覽人數:698人
軟件類型:
授權方式:
用戶評分:
更新時間:2022-12-04
軟件分類:Mac系統
運行環境:
學習目標
IP包格式
ICMP協議介紹
ARP攻擊原理
1.網絡層功能
定義基于IP協議的邏輯地址
連接不同的媒體類型
選擇數據通過網絡的最佳路徑
2. ICMP協議( )
ICMP協議是一種“錯誤檢測和反饋機制”
封裝在 IP 數據包中
用于發送錯誤和控制消息
ICMP協議屬于網絡層協議
3.ping命令格式
C:\ping [-t][-][-a][-i]IP|
3.1ping命令參數
① -t參數會一直執行ping
ping -t
在調試失敗或需要連續連接測試時使用
CRTL+C 可以中斷命令
② -a參數可以顯示主機名
ping -a IP
③ -l參數可以指定ping包的大小
ping ip -l 值
以字節為單位
可用于簡單測試通信質量
4.ARP協議概述
ARP(Address Resolution Protocol),地址解析協議

ARP協議的基本功能即是負責將一個已知的IP地址解析成MAC地址
,以便在交換機上通過MAC地址進行通信
4.1 ARP工作原理
1)主機PC1要向主機PC2發送數據,它檢查自己的ARP緩存表。ARP緩存表是保存在主機內存中的IP地址和MAC地址的一一對應表。在操作系統中,可以使用arp -a 來顯示ARP緩存表。
如果要查找的MAC地址不在表中,ARP就發送廣播來發現目的MAC地址。
查看PC1的ARP緩存表,沒有找到PC2的MAC地址。此時PC1會發起ARP請求過程(發送ARP請求廣播)來發現目標的MAC地址。
2)主機PC1發送ARP請求信息,ARP請求是目的地址為MAC廣播地址(FF-FF-FF-FF-FF-FF)的MAC地址廣播幀,從而保證所有的設備都能夠收到該請求。在ARP請求信息中包好PC1的IP地址和MAC地址。
3)交換機收到廣播地址后,發現為MAC地址廣播,所以將數據幀從即除了接收口之外的所有接口轉發出去。主機接收到數據幀后,進行IP地址的比較,如果目標IP地址與自己的IP地址不同,則其會丟棄這個數據包,而只有PC2這臺主機會在自己的ARP表中緩存PC1的IP地址和MAC地址的對應關系,同時發送一個ARP應答,來告訴PC1自己的MAC地址(這個數據幀是單播)。
4)PC1在接收到這個回應的數據幀后,在自己的ARP表中添加PC2的IP地址和MAC地址的對應關系。在這個過程中,Switch交換機已經學習到了PC1和PC2的MAC地址,之后傳輸數據時PC1和PC2之間使用單播方式。
需要注意:ARP請求為廣播,而ARP應答為單播。
4.2 ARP相關命令 4.2.1系統ARP命令
arp -a:查看ARP緩存表
arp -d:清除ARP緩存
ARP綁定
4.2.2 Cisco交換機ARP命令
Switch#show arp #查看arp
Switch#clear arp-cache #清除arp
Switch(config)#arp 192.168.2.1 0009.7C90.05AD arpa f0/1 #綁定arp,模擬器不支持
4.2.3 Cisco路由器ARP命令
Router#show arp #查看arp緩存表
Router#clear arp-cache #清除arp緩存表(模擬器不支持,模擬器要清除,可以斷電)
Router(config)#arp 192.168.1.1 00E0.B093.2B77 arpa 綁定arp緩存表(模擬器不支持,建議用真機完成)
4.2.3.1 路由器的基本操作
缺省情況:路由器所有接口都down。
()# f0/0 #進入界面f0/0
(-if)#no #激活并打開界面
(-if)#ip 192.168.1.254 255.255.255.0 # 配置路由器接口地址
#ping 192.168.1.1 #測試與主機PC0的連通性
鍵入要中止。
5、100字節ICMP Echos到192.168.1.1,是2:
!!!
速率為 100 (5/5),往返最小/平均/最大 = 0/0/1 毫秒
評論:!代表暢通無阻。表示丟包
4.3 ARP攻擊和ARP欺騙的原理
1.ARP攻擊的原理
一般情況下,ARP攻擊的主要目的是使網絡無法正常通信,它主要包括以下兩種行為。
攻擊主機制造假的ARP應答,并發送給局域網中除被攻擊主機之外的所有主機。ARP應答中包含被攻擊主機的IP地址和虛假的MAC地址。
攻擊主機制造假的ARP應答,并發送給被攻擊主機。ARP應答中包含除被攻擊主機之外的所有主機的IP地址和虛假的MAC地址。
2.ARP欺騙的原理
一般情況下,ARP欺騙并不會使網絡無法正常通信,而是通過冒充網關或其他主機使到達網關或主機的流量通過攻擊主機進行轉發。攻擊主機通過轉發流量可以對流量進行控制和查看,從而控制流量或得到機密信息。
4.3.1 ARP故障處理
Benet公司突然無法正常上網
發現主機ARP緩存表中網關的MAC地址不正確
ARP 故障排除
主機綁定ARP
netsh interface ipv4 show neighbors
netsh interface ipv4 set neighbors 11 10.0.0.178 00-1a-e2-df-07-41
網關路由器綁定ARP
Router(config)#arp 10.0.0.95 0013.240a.b219 arpa f0/0
交換機綁定ARP
Switch(config)#arp 10.0.0.12 90fb.a695.4445 arpa f0/2
Switch(config)#arp 10.0.0.178 001a.e2df.0741 arpa f0/1
Switch(config)#arp 10.0.0.95 0013.240a.b219 arpa f0/3
ARP 故障排除 3-3
使用ARP防火墻,自動抵御ARP欺騙個攻擊
在主機B上開啟ARP防火墻
在主機A上開啟長角牛網絡監控機,模擬ARP病毒發作
查看ARP防火墻統計數據的變化
在主機B上測試與網關的連通性
查找 ARP 攻擊計算機
MAC地址是真實的計算機地址
查看網絡信息記錄表,快速定位電腦
MAC地址是假地址
#查看交換機的MAC地址表,確定這個MAC所屬的端口
#show mac -table 001f.caff.1003
蘋果桌
Vlan Mac 類型端口
1 001f.caff.1003 Fa0/1
Mac 總數:1
本章實驗??(見附圖)
實驗一:解析ARP解析過程
實驗二:ping 命令的作用
實驗三:ARP協議應用案例
5.IP包格式
TCP/IP 協議定義了在 上傳輸的數據包,稱為 IP 數據報。IP 數據報包含地址、路由信息和將數據包從源發送到目的地所需的其他包頭信息。這是一個獨立于硬件的虛擬包,由兩部分組成,頭部和數據。
IP 數據報(IP)報頭的第一部分是固定長度,共 20 個字節,這是所有 IP 數據報所必需的。頭部的固定部分之后是可變長度的可選字段。報頭中的源地址和目的地址都是IP協議地址。
5.1 結構介紹
() 指定 IP 協議的版本,允許從一個協議版本更改為另一個。
() 描述了包頭的長度。
服務類型(Type of: TOS)用于表示數據報所要求的服務類型或“質量”。處理數據報的路由器讀取該字段系統查找軟件mac地址,并在必要時提供優先服務。以前,該字段表示軍事派遣或重大事件所需的優先級。根據工作組 (IETF) 最近的討論,TOS 的定義現在已更改為需要減少延遲、減少貨幣支出、增加吞吐量或增加可靠性。
總長度(Total) 表示數據報的總長度,最大長度為65536字節。
() 提供用于連接單獨的分段數據報的信息,以便目標站點可以將它們組裝成一個完整的數據包。標志 有兩個標志位。第一個標志指定不允許將數據包分段,因此必須在能夠處理數據包當前大小的子網上傳輸。第二個標志指定數據報是分段數據包的結尾。
( ) 對于分片的數據報,該字段表示數據在數據包中的原始位置,重組時會用到該信息。
生存時間(Time-to-live) 這個時間是以秒為單位的,它是數據報可以存活的時間。如果在傳輸過程中超過了這個時間,則認為數據報丟失,或者陷入循環,并被丟棄。()標識數據報的協議類型,它允許非TCP/IP協議工作。
check() 提供錯誤檢查值以確保分布式數據包的完整性。源/目標地址 這是數據報的源地址和該數據報的目標地址。() 該字段是可選的,它為記錄提供了一個通過網絡的路徑或指定了一個路徑(源路由)。
5.2 格式介紹
(1)版本占4位,指IP協議的版本。通信雙方使用的IP協議版本必須相同。目前廣泛使用的IP協議版本號是4(即IPv4)。關于IPv6,目前還處于草案階段。
(2) 的長度占4位,可以表示的最大十進制值為15。請注意,該字段表示的數的單位是32位字(32位字為4 bytes long),因此,當IP頭的長度為1111(即十進制的15)時,頭的長度達到60個字節。當IP包頭長度不是4字節的整數倍時,必須用最后一個填充字段填充。所以數據部分總是從4字節的整數倍開始,這樣在實現IP協議時比較方便。將標頭長度限制為 60 字節的缺點是有時可能不夠用。但這樣做是希望用戶將開銷降到最低。最常用的標頭長度是 20 個字節(即
(3)區分服務占用8比特,用于獲得更好的服務。該字段在舊標準中稱為服務類型,但在實踐中并未使用。1998 年,IETF 將該字段的名稱更改為 DS( )。此字段僅在使用 時可用。
(4) 總長度總長度是指包頭和數據之和的長度,單位是字節。總長度字段為16位,因此數據報的最大長度為216-1=65535字節。
IP層以下的各數據鏈路層都有自己的幀格式,包括幀格式中數據字段的最大長度,稱為最大傳輸單元MTU(Unit)。當一個數據報被封裝成鏈路層的幀時,數據報的總長度(即報頭加上數據部分)不得超過下面數據鏈路層的MTU值。
(5)標識()占16位。IP軟件在內存中維護一個計數器,每產生一個數據報,計數器就加1,并將這個值賦給標識字段。但是這個“標識”并不是序列號,因為IP是無連接服務,不存在按順序接收數據報的問題。當一個數據報由于其長度超過網絡 MTU 而必須分片時,這個標識符字段的值被復制到所有數據報的標識符字段中。同一標識字段的值使得每個分片的數據報最終能夠正確地重新組裝成原始數據報。
(6)標志(flag)占用3位,但目前只有2位有意義。
1.標志字段中的最低位標記為MF(More)。MF=1表示后面還有“還有碎片”的數據報。MF=0 表示這是幾個數據報片段中的最后一個。
2、標志域中間的一位記錄為DF(Don't)系統查找軟件mac地址,意思是“不能分片”。僅當 DF=0 時才允許分片。
(7) 片偏移量占用13位。slice 表示:較長的數據包被分片后,某個slice在原數據包中的相對位置。也就是說,切片從哪里開始相對于用戶數據字段的開始。slice 以8個字節為偏移單位。也就是說,每個分片的長度必須是8字節(64位)的整數倍。
(8)生存時間占8位。Time to Live字段常用的英文縮寫是TTL(Time To Live),表示數據報在網絡中的生存期。該字段由數據報的原始源設置。其目的是防止無法投遞的數據報在互聯網上無限循環,白白消耗網絡資源。最初的設計是使用秒作為TTL的單位。每次通過路由器時,都會從數據報在路由器中消耗的時間中減去 TTL。如果數據報在路由器上花費的時間小于1秒,則TTL值減1。當TTL值為0時,數據報被丟棄。
(9) 協議占用8位,協議字段表示數據報攜帶的數據采用哪種協議,以便目的主機的IP層知道數據部分應該交給哪個處理進程。
(10) 第一個校驗和占16位。該字段只檢查數據報的報頭,不檢查數據部分。這是因為數據報每次通過路由器時,路由器都必須重新計算報頭校驗和(一些字段,如生存時間、標志、切片偏移量等可能會發生變化)。不檢查部分數據可以減少計算量。
(11) 源地址占32位。
(12) 目的地址占32位。
# 5.3 變量部分
IP 報頭的可變部分是一個可選字段。選項字段用于支持調試、測量和安全等措施系統查找軟件mac地址,內容非常豐富。該字段的長度可變,從 1 個字節到 40 個字節,具體取決于所選項目。有些選項只需要1個字節,其中只包含1個字節的選項代碼。但是仍然有一些選項需要多個字節。這些選項一個一個拼接,中間沒有分隔符,最后填充全0的填充域,成為4字節的整數倍。
增加報頭可變部分的目的是為了增加IP數據報的功能,但同時也使得IP數據報的報頭長度可變。這增加了每個路由器處理數據報的開銷。實際上,很少使用這些選項。新的IP版本IPv6使得IP數據報的報頭長度固定。
目前,這些任選項定義如下:
(1)安全和處理限制(用于軍事領域)
(2)記錄路徑(讓每個路由器都記下它的IP地址)
(3)時間戳(讓每個路由器都記下它的IP地址和時間)
(4)寬松的源站路由(為數據報指定一系列必須經過的IP地址)
(5)嚴格的源站路由(與寬松的源站路由類似,但是要求只能經過指定的
這些地址,不能經過其他的地址)
這些選項很少被使用,并非所有主機和路由器都支持這些選項。