Ping , Network yönetim araclarından biridir ve Internet Protocol (IP) ağındaki bir ana bilgisayara erişilebilirliği ölçmede kullanılır bunu yaparkende Bir makineye genelde 32 baytlık bir ICMP
Ping Nasıl kullanılır
Cmd (Komut istemi) açılıp Ping site ismi şeklinde kullanılır mesela
ping www.google.com
aşağıda ping sonucumuzu görüyoruz
Ping komutunun Faydaları
- Bilgisyarın erişilebilir olup olmadığını anlarız (Genelde)
- Yollanan paketlerin kayba uğrayıp uğramadığını görürüz
- Birbiri ile iletişimde olan iki bilgisayar arasındaki iletişim süresini görebiliriz ...
Gel gelelim serverlar herzaman ping almayabilir , Ping almayan serverlar offline demek değildir , ping almıyorsa muhtemelen serverın ICMP (Internet Control Message Protocol) kapalıdır.
Serverlar ICMP yi neden kapatırlar :
1. Bazı eski tip worm ların ICMP yi kukllanıp host aktifmi diye aka ping uygulama olasılığı
2. Altyapının gizlenmesi (network profilinin alınamaması için) , ICMP trafiği exploit in bir bölümüdür
3. DOS (Denial of service attacks) ICPM ye dayalı olduğundan ve Ping of death , ICMP flood attack , ICMP nuke attack gibi saldırılardan korunmak için
Mesela Microsoftun sitesi ve Symantec in güvenli Dns IP lerine ping atsak bile cevap alamayız
www.microsoft.com
199.85.126.20,199.85.127.20
199.85.126.30,199.85.127.30
199.85.126.10,199.85.127.10
Ping almayan bir host offline (Kapalı) mıdır nasıl anlarız ?
Üstte bir web sitesi ve Dns IP leri mevcut , web sitesine giriş yapmayı denersiniz ve kapalı mı açıkmı hemen anlarsınız gel gelelim DNS IP si için bu yöntem işe yaramaz , mesela ilk DNS IP sine Ping atalım
Görülüğü gibi kapalı görünüyor , Aynı iş için online araçlar kullansak ta durum değişmeyecekti mesela
https://www.spfld.com/ping.html
https://www.wormly.com/test_remote_ping
https://www.his.com/cgi-bin/ping?
Hatta Pİng aracını kullanmadan hosttan yanıt alınıp alınamadığını bir .vbs ile test etsek (aşağıda)
strComputer = "199.85.126.20" Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_PingStatus " & _ "Where Address = '" & strComputer & "'") For Each objItem in colItems If objItem.StatusCode = 0 Then WScript.Echo "Reply received." End If Next
sonuç yine değişmeycekti , Eğer geleneksel ICMP temelli ping işe yaramıyorsa bir diğer seçenek te ARP (Address Resolution Protocol) yani Adres Çözümleme Protokolü temelli ping kullanmak olabilirdi (bunun içinde arping isimli küçük bir araç kullanılır) gel gelelim aynı ağa dahil olmadan hiçbir işe yaramayacaktır peki ne yapalımda IP nin temsil ettiği serverin gerçekten kapalı mı açıkmı olduğunu anlayabilelim ? bu konuda nmap isminde bir yardımcı araç kullanacağız :
1. nmap ın windows olanı için kodlanmışını Buradaki linkten indirelim ve kuralım
2. Cmd (Komut istemi) yi açalım ve aşağıdaki komutu verelim , diğer komutlar için Bakınız
nmap -Pn 199.85.126.20
nmap aracı başlatılacak ve 1 dk kadar bekledikten sonra sonucu bize verecektir (Aşağıda)
Görüldüğü üzere Host kapalı değil açıktır.
ping http://www.google.com -t
kullanıyordum ben 😉