在C++中,ICMP(Internet Control Message Protocol)錯誤通常與網絡編程和套接字操作有關
- ICMP_ECHOREPLY: 類型8,代碼0。表示一個回顯應答消息。
- ICMP_DEST_UNREACH: 類型3,代碼各種。表示目標不可達的錯誤消息。這里的代碼值用于區分不同的錯誤原因,例如:
- 代碼0:網絡不可達
- 代碼1:主機不可達
- 代碼2:協議不可達
- 代碼3:端口不可達
- 代碼4:需要分片但DF位被設置
- 代碼5:源路由失敗
- 代碼6:目標網絡未知
- 代碼7:目標主機未知
- 代碼8:源主機隔離
- 代碼9:通信管理員禁止
- 代碼10:主機預先阻止
- 代碼11:主機預先阻止
- 代碼12:主機預先阻止
- 代碼13:需要更高的MTU
- ICMP_SOURCE_QUENCH: 類型4,代碼0。表示源節點擁塞的錯誤消息。
- ICMP_REDIRECT: 類型5,代碼各種。表示重定向消息。這里的代碼值用于區分不同的重定向類型,例如:
- 代碼0:重定向到網絡
- 代碼1:重定向到主機
- 代碼2:重定向到TOS和網絡
- 代碼3:重定向到TOS和主機
- ICMP_ECHO: 類型8,代碼0。表示一個回顯請求消息。
- ICMP_TIME_EXCEEDED: 類型11,代碼各種。表示超時錯誤消息。這里的代碼值用于區分不同的超時類型,例如:
- ICMP_PARAMETERPROB: 類型12,代碼0。表示參數問題錯誤消息。
- ICMP_TIMESTAMP: 類型13,代碼0。表示時間戳請求消息。
- ICMP_TIMESTAMPREPLY: 類型14,代碼0。表示時間戳應答消息。
- ICMP_INFO_REQUEST: 類型15,代碼0。表示信息請求消息。
- ICMP_INFO_REPLY: 類型16,代碼0。表示信息應答消息。
- ICMP_ADDRESS: 類型17,代碼0。表示地址掩碼請求消息。
- ICMP_ADDRESSREPLY: 類型18,代碼0。表示地址掩碼應答消息。
注意:這些錯誤代碼可能會根據操作系統和網絡庫的實現而有所不同。在使用ICMP錯誤代碼時,建議查閱相關文檔以獲取準確的信息。