ICMP अनुरोधों का उपयोग अक्सर यह पता लगाने के लिए किया जाता है कि कोई सर्वर वर्तमान में ऑनलाइन है या नहीं। नोड की उपलब्धता की जांच आईपी पते को निर्दिष्ट करने वाले पिंग कमांड के साथ की जाती है।
ping xx.123.xx.123
xx.123.xx.123 से 32 बाइट्स डेटा के पैकेट का आदान-प्रदान:
xx.123.xx.123 से प्रतिक्रिया: बाइट्स कीसंख्या = 32 समय = 3 एमएस टीटीएल = 64
xx.123.xx.123 से प्रतिक्रिया: बाइट्स कीसंख्या = 32 समय = 3 एमएस टीटीएल = 64
वहीं, रिमोट सर्वर इस समय प्रतिक्रिया भेजता है और कमांड आउटपुट से यह स्पष्ट होता है कि यह उपलब्ध है।
इस स्थिति में, जिस दूरस्थ सर्वर पर हम अनुरोध भेजते हैं, उस पर लॉग में कोई ईवेंट डेटा नहीं होगा। कभी-कभी आपको यह पता लगाने की आवश्यकता होती है कि वर्तमान में icmp अनुरोध कौन भेज रहा है, इसके लिए हम tcpdump उपयोगिता का उपयोग करेंगे
1. टीसीपीडम्प स्थापित करना
apt update
apt install tcpdump
2. आइए नेटवर्क इंटरफ़ेस को परिभाषित करें
apt install net-tools
ifconfig
कमांड सभी नेटवर्क इंटरफेस दिखाएगा और हमें उसे चुनना होगा जिस पर हम पैकेट सुनेंगे, हमारे मामले में enp3s0
tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n
listening on enp3s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
21:52:20.352600 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo request, id 1, seq 57, length 40
21:52:21.360715 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo request, id 1, seq 58, length 40
किसी फ़ाइल में लिखने के लिए, कमांड का उपयोग करें:
tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n >> /var/log/ping.log
यह कमांड उन सभी आईपी पतों को एक फाइल में लिखेगा, जिन्होंने कभी आईसीएमपी प्रोटोकॉल का उपयोग करके इस होस्ट तक पहुंच बनाई है।
हम इस कमांड को स्थायी रूप से सक्षम छोड़ने की अनुशंसा नहीं करते हैं, क्योंकि यह हार्डवेयर संसाधनों को बर्बाद करता है। इस उदाहरण का उद्देश्य डिबगिंग उद्देश्यों के लिए उपयोग करना है।