ICMP istekleri, genellikle bir sunucunun şu anda ağda olup olmadığını öğrenmek için kullanılır. Bir düğümün erişilebilirliği, IP adresi belirtilerek ping komutu ile kontrol edilir.
ping xx.123.xx.123
xx.123.xx.123 ile 32 bayt veri ile paket alışverişi:
xx.123.xx.123’den yanıt: bayt=32 süre=3ms TTL=64
xx.123.xx.123’den yanıt: bayt=32 süre=3ms TTL=64
Bu durumda uzak sunucu, yanıtlar gönderir ve komut çıktısında sunucunun erişilebilir olduğu anlaşılır.
Ancak, gönderilen isteklerin bilgileri uzak sunucunun log kayıtlarında bulunmayacaktır. Bazen, kimlerin şu anda ICMP istekleri gönderdiğini öğrenmek gerekebilir; bunun için tcpdump aracını kullanacağız.
1. tcpdump Kurulumu
apt update
apt install tcpdump
2. Ağ Arayüzünü Belirleme
apt install net-tools
ifconfig
Komut tüm ağ arayüzlerini gösterecektir ve paketleri dinleyeceğimiz arayüzü seçmemiz gerekmektedir; bizim durumumuzda bu arayüz enp3s0’dır.
tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n
enp3s0 üzerinde dinleniyor, bağlantı tipi EN10MB (Ethernet), anlık veri uzunluğu 262144 bayt
21:52:20.352600 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo isteği, id 1, seq 57, uzunluk 40
21:52:21.360715 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo isteği, id 1, seq 58, uzunluk 40
Bir dosyaya kaydetmek için şu komutu kullanın:
tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n >> /var/log/ping.log
Bu komut, ICMP protokolü üzerinden bu düğüme bağlanan tüm IP adreslerini dosyaya kaydedecektir.
Bu komutu sürekli açık bırakmanızı önermiyoruz, çünkü donanım kaynaklarını tüketir. Bu örnek, yalnızca hata ayıklama süresi boyunca kullanım için düşünülmüştür.