Internet Control Message Protocol (ICMP) คือโปรโตคอลเลเยอร์เครือข่ายที่ใช้โดยอุปกรณ์เครือข่ายเพื่อวินิจฉัยปัญหาการสื่อสารเครือข่าย ICMP ส่วนใหญ่จะใช้เพื่อกำหนดว่าข้อมูลจะไปถึงปลายทางที่ตั้งใจไว้อย่างทันท่วงทีหรือไม่ โดยทั่วไปโปรโตคอล ICMP จะใช้กับอุปกรณ์เครือข่าย เช่น เราเตอร์ ICMP เป็นสิ่งสำคัญสำหรับการรายงานข้อผิดพลาดและการทดสอบ แต่ก็ยังสามารถนำมาใช้ในการกระจายการปฏิเสธการให้บริการ (DDoS)
วัตถุประสงค์หลักของ ICMP คือการรายงานข้อผิดพลาด เมื่ออุปกรณ์สองเครื่องเชื่อมต่อผ่านอินเทอร์เน็ต ICMP จะสร้างข้อผิดพลาดในการแชร์กับอุปกรณ์ที่ส่งในกรณีที่ข้อมูลใด ๆ ไม่ได้ไปยังปลายทางที่ต้องการ ตัวอย่างเช่น หากแพ็กเก็ตข้อมูลมีขนาดใหญ่เกินไปสำหรับเราเตอร์ เราเตอร์จะปล่อยแพ็กเก็ตและส่งข้อความ ICMP กลับไปยังแหล่งข้อมูลเดิม
การใช้โปรโตคอล ICMP รองคือทำการวินิจฉัยเครือข่าย ยูทิลิตี้เทอร์มินัลที่ใช้ทั่วไป traceroute และ ping ทั้งคู่ทำงานโดยใช้ ICMP ยูทิลิตี้ traceroute ที่ใช้ในการแสดงเส้นทางเส้นทางระหว่างสองอุปกรณ์อินเทอร์เน็ต เส้นทางการกำหนดเส้นทางคือเส้นทางจริงของเราเตอร์ที่เชื่อมต่อซึ่งคำขอต้องผ่านก่อนที่จะถึงปลายทาง การเดินทางระหว่างเราเตอร์ตัวหนึ่งกับอีกตัวหนึ่งเรียกว่า ‘ฮ็อพ’ และตัวติดตามจะรายงานเวลาที่ต้องใช้สำหรับการกระโดดแต่ละครั้งตลอดทาง ซึ่งจะเป็นประโยชน์สำหรับการระบุแหล่งที่มาของความล่าช้าของเครือข่าย
ยูทิลิตี้ ping เป็นเวอร์ชันที่เรียบง่ายของ traceroute ปิงจะทดสอบความเร็วของการเชื่อมต่อระหว่างอุปกรณ์สองเครื่องและรายงานว่าใช้เวลานานเท่าใดที่แพ็กเก็ตข้อมูลจะไปถึงปลายทางและกลับมาที่อุปกรณ์ของผู้ส่ง แม้ว่า ping ไม่ได้ให้ข้อมูลเกี่ยวกับการกำหนดเส้นทางหรือการกระโดด แต่ก็ยังเป็นตัวชี้วัดที่มีประโยชน์มากสำหรับการวัดเวลาแฝงระหว่างอุปกรณ์สองเครื่อง โดยทั่วไปแล้วข้อความ ICMP echo-request และ echo-reply จะใช้เพื่อวัตถุประสงค์ในการดำเนินการปิง
แต่น่าเสียดายที่การโจมตีเครือข่ายสามารถใช้ประโยชน์จากกระบวนการนี้สร้างวิธีการของการหยุดชะงักเช่นการโจมตี ICMP น้ำท่วมและปิงของการตายโจมตี
แหล่งที่มา : https://www.cloudflare.com/learning/ddos/glossary/internet-control-message-protocol-icmp/