ICMP
ICMP(Internet Control Message Protocol)Internet控制報文協(xié)議。它是TCP/IP協(xié)議簇的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W(wǎng)絡通不通、主機是否可達、路由是否可用等網(wǎng)絡本身的消息。這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對于用戶數(shù)據(jù)的傳遞起著重要的作用。
ICMP協(xié)議的功能只要有:
· 確認IP包是否到達目標地址
· 通知在發(fā)送過程中IP包被丟棄的原因
ICMP的報文分為兩類,一類是ICMP詢問報文;一類是ICMP差錯報告報文
常見ICMP類型
ICMP
ICMP(Internet Control Message Protocol)Internet控制報文協(xié)議。它是TCP/IP協(xié)議簇的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息。控制消息是指網(wǎng)絡通不通、主機是否可達、路由是否可用等網(wǎng)絡本身的消息。這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對于用戶數(shù)據(jù)的傳遞起著重要的作用。
ICMP協(xié)議的功能只要有:
· 確認IP包是否到達目標地址
· 通知在發(fā)送過程中IP包被丟棄的原因
ICMP的報文分為兩類,一類是ICMP詢問報文;一類是ICMP差錯報告報文
常見ICMP類型
不發(fā)送ICMP差錯報文的情況:
· 對于第一個ip分片后的所有ip分片報文不發(fā)送ICMP差錯報文
· 對具有組播地址的數(shù)據(jù)報不發(fā)送ICMP報文
· 對具有特殊地址(127.0.0.0或0.0.0.0)不發(fā)送ICMP差錯報文
ICMP 協(xié)議多應用在 ping 和 tracert 命令:
· ping 命令使用 ICMP 回送請求和應答報文:在網(wǎng)絡可達性測試中使用的分組網(wǎng)間探測命令 ping 能產生 ICMP 回送請求和應答報文。目的主機收到 ICMP 回送請求報文后立刻回送應答報文,若源主機能收到 ICMP 回送應答報文,則說明到達該主機的網(wǎng)絡正常。
· 路由分析診斷 tracert 使用了 ICMP時間超過報文:tracert 命令主要用來顯示數(shù)據(jù)包到達目的主機所經過的路徑。通過執(zhí)行一個 tracert 到對方主機的命令,返回數(shù)據(jù)包到達目的主機所經歷的路徑詳細信息,并顯示每個路徑所消耗的時間。
舉個例子:
ICMP Destination Unreachalbe
看下回送請求和回送應答的報文
icmp request
icmp reply
ARP協(xié)議
地址解析協(xié)議(Address Resolution Protocol),只要通過目標設備的IP地址,查詢目標設備的MAC地址。
通信過程:
· 主機A要和主機B進行通信,首先要知道主機B的mac地址,所以會發(fā)送ARP廣播
· 其他主機收到后,發(fā)現(xiàn)找的不是自己,就會丟棄
· 主機B拆包后,發(fā)現(xiàn)找的是自己,會進行單播回應,并記錄在自己的ARP緩存表中
ARP解析
ARP表
代理ARP
代理ARP一般就是通過網(wǎng)關設備,使用自己的 MAC 地址來對另一設備的ARP請求作出應答。
為什么需要代理ARP?
先要了解,路由器的重要功能之一就是隔離廣播域,阻止廣播包擴散,否則會造成網(wǎng)絡風暴。
ARP請求是個廣播包,如果目標地址在同一個局域網(wǎng)內,就會收到應答。但是如果目標地址不在同一個局域網(wǎng),該如何處理?路由器就提供了代理ARP解決這個問題。
代理ARP
兩臺主機PC1和PC2,PC1發(fā)送ARP請求PC2的MAC地址時,由于路由器不轉發(fā)廣播包,ARP請求只能到達路由器。如果路由器啟用了代理ARP功能,并知道PC2屬于它連接的網(wǎng)絡,那么路由器就用自己接口的MAC地址代替PC2的MAC地址來對主機PC1進行ARP應答。
RARP協(xié)議
反向地址轉換協(xié)議(Reverse Address Resolution Protocol)允許局域網(wǎng)的物理機器從網(wǎng)關服務器的ARP表或者緩存上請求其 IP 地址。即:根據(jù)其MAC地址尋找IP地址。
RARP
免費ARP
在獲取或變更IP地址時,向外發(fā)出一個ARP,但請求的目標IP為本地。
一個主機可以通過它來確定另一個主機是否設置了相同的 IP地址。正常情況下發(fā)送免費ARP請求不會收到ARP應答,如果收到了一個ARP應答,則說明網(wǎng)絡中存在與本機相同的IP地址的主機,發(fā)生了地址沖突。
ARP欺騙
通過廣播向局域網(wǎng)的其他主機廣播一個偽造的網(wǎng)關MAC地址和IP地址對應表,局域網(wǎng)其他主機收到這個偽造的信息之后就會更新自己的ARP表。這樣,當這些主機向外發(fā)送報文時,雖然會根據(jù)正確的網(wǎng)關的IP地址發(fā)包,但實際上卻發(fā)送到了一個錯誤的MAC地址上,導致數(shù)據(jù)包無法發(fā)送出去,從而出現(xiàn)無法上網(wǎng)等情況。
可以通過設置靜態(tài)的MAC->IP對應表,不再接收廣播收到的ARP信息。
不發(fā)送ICMP差錯報文的情況:
· 對于第一個ip分片后的所有ip分片報文不發(fā)送ICMP差錯報文
· 對具有組播地址的數(shù)據(jù)報不發(fā)送ICMP報文
· 對具有特殊地址(127.0.0.0或0.0.0.0)不發(fā)送ICMP差錯報文
ICMP 協(xié)議多應用在 ping 和 tracert 命令:
· ping 命令使用 ICMP 回送請求和應答報文:在網(wǎng)絡可達性測試中使用的分組網(wǎng)間探測命令 ping 能產生 ICMP 回送請求和應答報文。目的主機收到 ICMP 回送請求報文后立刻回送應答報文,若源主機能收到 ICMP 回送應答報文,則說明到達該主機的網(wǎng)絡正常。
· 路由分析診斷 tracert 使用了 ICMP時間超過報文:tracert 命令主要用來顯示數(shù)據(jù)包到達目的主機所經過的路徑。通過執(zhí)行一個 tracert 到對方主機的命令,返回數(shù)據(jù)包到達目的主機所經歷的路徑詳細信息,并顯示每個路徑所消耗的時間。
舉個例子:
ICMP
看下回送請求和回送應答的報文
icmp request
icmp
ARP協(xié)議
地址解析協(xié)議(Address Resolution Protocol),只要通過目標設備的IP地址,查詢目標設備的MAC地址。
通信過程:
· 主機A要和主機B進行通信,首先要知道主機B的mac地址,所以會發(fā)送ARP廣播
· 其他主機收到后,發(fā)現(xiàn)找的不是自己,就會丟棄
· 主機B拆包后,發(fā)現(xiàn)找的是自己,會進行單播回應,并記錄在自己的ARP緩存表中
ARP解析
ARP表
代理ARP
代理ARP一般就是通過網(wǎng)關設備,使用自己的 MAC 地址來對另一設備的ARP請求作出應答。
為什么需要代理ARP?
先要了解,路由器的重要功能之一就是隔離廣播域,阻止廣播包擴散,否則會造成網(wǎng)絡風暴。
ARP請求是個廣播包,如果目標地址在同一個局域網(wǎng)內,就會收到應答。但是如果目標地址不在同一個局域網(wǎng),該如何處理?路由器就提供了代理ARP解決這個問題。
代理ARP
兩臺主機PC1和PC2,PC1發(fā)送ARP請求PC2的MAC地址時,由于路由器不轉發(fā)廣播包,ARP請求只能到達路由器。如果路由器啟用了代理ARP功能,并知道PC2屬于它連接的網(wǎng)絡,那么路由器就用自己接口的MAC地址代替PC2的MAC地址來對主機PC1進行ARP應答。
RARP協(xié)議
反向地址轉換協(xié)議(Reverse Address Resolution Protocol)允許局域網(wǎng)的物理機器從網(wǎng)關服務器的ARP表或者緩存上請求其 IP 地址。即:根據(jù)其MAC地址尋找IP地址。
RARP
免費ARP
在獲取或變更IP地址時,向外發(fā)出一個ARP,但請求的目標IP為本地。
一個主機可以通過它來確定另一個主機是否設置了相同的 IP地址。正常情況下發(fā)送免費ARP請求不會收到ARP應答,如果收到了一個ARP應答,則說明網(wǎng)絡中存在與本機相同的IP地址的主機,發(fā)生了地址沖突。
ARP欺騙
通過廣播向局域網(wǎng)的其他主機廣播一個偽造的網(wǎng)關MAC地址和IP地址對應表,局域網(wǎng)其他主機收到這個偽造的信息之后就會更新自己的ARP表。這樣,當這些主機向外發(fā)送報文時,雖然會根據(jù)正確的網(wǎng)關的IP地址發(fā)包,但實際上卻發(fā)送到了一個錯誤的MAC地址上,導致數(shù)據(jù)包無法發(fā)送出去,從而出現(xiàn)無法上網(wǎng)等情況。
可以通過設置靜態(tài)的MAC->IP對應表,不再接收廣播收到的ARP信息。
相關文章