Ping adalah salah satu perintah jaringan yang paling umum digunakan di Linux dan sistem operasi lainnya.
Ping terutama digunakan untuk memeriksa apakah host jarak jauh dapat dijangkau atau tidak. Host jarak jauh dapat berupa server web, router, atau sistem di jaringan lokal Anda.
Bagaimana cara kerja ping? Ini sebenarnya mengirimkan paket ICMP kecil ke host jarak jauh dan menunggu tanggapan. Jika host aktif, Anda akan melihat respons.
Ini seperti teknologi sonar yang digunakan di kapal selam. Kapal selam mengirimkan pulsa sinyal audio dan menunggu gema kembali.
Jadi, bagaimana Anda menggunakan Ping di Linux? Apa saja opsi perintah Ping yang berbeda? Mari saya tunjukkan beberapa penggunaan umum dari perintah Ping.
Tahukah Anda? Perintah Ping ditulis dengan benar sebagai PING dan merupakan singkatan dari Packet Internet Groper.
Menggunakan perintah ping di Linux
Anda dapat menggunakan perintah ping dengan alamat IP atau nama host/URL.
Misalkan saya melakukan ping ke Google. Ini akan mengirim paket ICMP berukuran 56 byte ke google.com.
ping google.com
PING google.com (108.177.122.102) 56(84) bytes of data.
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=1 ttl=42 time=325 ms
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=2 ttl=42 time=387 ms
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=3 ttl=42 time=319 ms
64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=4 ttl=42 time=321 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 319.697/338.496/387.785/28.527 ms
Anda harus menghentikan perintah ping secara manual jika tidak, perintah ping akan terus berjalan. Anda dapat menggunakan pintasan terminal Ctrl+C untuk menghentikan perintah ping di Linux, seperti yang saya lakukan pada contoh di atas.
Saat Anda menghentikan perintah ping, ini akan memberi Anda ringkasan transmisi. Anda dapat melihat statistik seperti jumlah paket ICMP yang dikirim, paket yang diterima, paket yang hilang, dll.
Sekarang setelah Anda mengetahui cara melakukan ping di Linux, mari kita lihat beberapa opsi perintah ping lainnya.
Kirim hanya N sejumlah paket
Jika Anda tidak ingin perintah ping berjalan selamanya tanpa menghentikannya secara manual, Anda dapat menggunakan opsi -c.
Dengan ini, Anda dapat menentukan jumlah paket yang harus dikirim oleh perintah ping sebelum berhenti secara otomatis.
ping -c 2 104.248.179.115
PING 104.248.179.115 (104.248.179.115) 56(84) bytes of data.
64 bytes from 104.248.179.115: icmp_seq=1 ttl=50 time=315 ms
64 bytes from 104.248.179.115: icmp_seq=2 ttl=50 time=423 ms
--- 104.248.179.115 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 315.208/369.190/423.172/53.982 ms
Kirim ping hanya untuk waktu terbatas
Selain mengatur jumlah paket yang akan dikirim, Anda juga dapat mengatur berapa lama paket akan dikirim.
Misalnya, jika Anda ingin mengirim paket ping hanya 5 detik, Anda dapat menggunakannya seperti ini:
ping -w 5 google.com
PING google.com (64.233.177.138) 56(84) bytes of data.
64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=1 ttl=40 time=407 ms
64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=2 ttl=40 time=320 ms
64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=3 ttl=40 time=323 ms
64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=4 ttl=40 time=472 ms
64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=5 ttl=40 time=406 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4002ms
rtt min/avg/max/mdev = 320.634/385.993/472.056/57.309 ms
Ubah interval waktu antara dua ping
Secara default, ping mengirim paket pada interval satu detik. Anda dapat mengubah interval waktu ini dengan opsi -i.
Untuk mengirim paket ICMP dengan interval 3 detik, Anda dapat menggunakan perintah Ping seperti ini:
ping -i 3 31.13.90.36
Anda juga dapat mengurangi interval waktu antar ping.
ping -i 0.5 31.13.90.36
Namun, jika Anda mencoba mengurangi interval waktu di bawah 0,2 detik (200 mdtk), Anda akan melihat kesalahan:
ping -i 0.1 31.13.90.36
PING 31.13.90.36 (31.13.90.36) 56(84) bytes of data.
ping: cannot flood; minimal interval allowed for user is 200ms
Jangan khawatir. Anda masih dapat melakukan ping dengan interval kurang dari 200 ms. Tetapi untuk melakukannya, Anda perlu menggunakan ping dengan hak akses root.
sudo ping -i 0.1 31.13.90.36
PING 31.13.90.36 (31.13.90.36) 56(84) bytes of data.
64 bytes from 31.13.90.36: icmp_seq=1 ttl=49 time=470 ms
64 bytes from 31.13.90.36: icmp_seq=2 ttl=49 time=372 ms
Ubah ukuran paket
Ukuran paket ICMP default yang dikirim oleh Ping adalah 56 byte. Ini dapat diubah juga dengan bantuan perintah -s.
ping -s 100 31.13.90.36
PING 31.13.90.36 (31.13.90.36) 100(128) bytes of data.
108 bytes from 31.13.90.36: icmp_seq=1 ttl=49 time=234 ms
108 bytes from 31.13.90.36: icmp_seq=2 ttl=49 time=257 ms
108 bytes from 31.13.90.36: icmp_seq=3 ttl=49 time=280 ms
^C
--- 31.13.90.36 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 234.208/257.352/280.424/18.867 ms
Serangan DoS dengan Ping flooding alias Ping of Death
Salah satu serangan DoS yang paling sederhana adalah Ping of Death. Dalam jenis serangan ini, penyerang mengirimkan sejumlah besar permintaan ping dalam rentang waktu yang sangat singkat. Jika server tidak dikonfigurasi dengan baik, itu akan runtuh dalam menangani permintaan ping dan situs web akan turun.
Perintah ping memiliki 'fitur' bawaan untuk ini. Ini disebut ping flooding dan dapat dicapai dengan opsi -f. Anda memerlukan hak sudo untuk menjalankan opsi ini dengan interval nol.
sudo ping -f google.com
PING google.com (108.177.122.101) 56(84) bytes of data.
…………………..^C
--- google.com ping statistics ---
1436 packets transmitted, 1413 received, 1% packet loss, time 22837ms
rtt min/avg/max/mdev = 313.887/326.102/388.178/7.464 ms, pipe 26, ipg/ewma 15.914/323.456 ms
Saat Anda menjalankan perintah ini, Anda akan melihat beberapa titik muncul dan menghilang di output. Setiap '.' menunjukkan permintaan sedangkan balasannya adalah spasi mundur (inilah sebabnya titik menghilang).
Opsi ping banjir ini berguna dalam menguji kapasitas beban server.
Kiat Bonus:Kirim ping yang dapat didengar
Anda dapat mengirim ping yang dapat didengar dengan opsi -a. Dengan ini, Anda akan mendengar bunyi bip untuk setiap ping yang berhasil.
ping -a google.com
Perhatikan bahwa tidak semua distribusi Linux dikonfigurasikan untuk mengeluarkan bunyi bip. Saya mengujinya di Ubuntu 18.04 dan saya bisa mendengar bunyi bip.
Pemecahan masalah perintah Ping
Sejauh ini apa yang telah kita lihat adalah contoh sukses dari perintah ping. Tapi itu tidak akan terjadi sepanjang waktu. Mari kita lihat beberapa kesalahan umum yang mungkin Anda lihat dan pahami alasan kesalahan tersebut.
Tidak ada balasan untuk ping
Anda mungkin memperhatikan bahwa host tertentu tidak membalas permintaan ping. Sepertinya perintah ping hang karena tidak ada respon. Perintahnya tetap di sana, bahkan tidak habis waktu.
Jika Anda menghentikan perintah ping, Anda akan melihat beberapa statistik aneh.
ping intel.com
PING intel.com (13.91.95.74) 56(84) bytes of data.
^C
--- intel.com ping statistics ---
100 packets transmitted, 0 received, 100% packet loss, time 101362m
Seperti yang Anda lihat, 100 paket dikirimkan tetapi tidak ada tanggapan yang diterima untuk paket tersebut.
Kemungkinan besar karena beberapa server membuang paket ICMP. Ini adalah tindakan keamanan untuk menghindari banjir ping.
Host tujuan tidak dapat dijangkau
Kesalahan ini dapat terjadi karena salah satu dari dua alasan berikut:
- Sistem lokal tidak memiliki rute ke host jarak jauh
- atau router titik akhir tidak memiliki rute ke host jarak jauh
Jika Anda hanya melihat kesalahan 'host tujuan tidak dapat dijangkau', ini berarti sistem Anda tidak dapat menemukan rute ke host jarak jauh.
Di sisi lain, jika Anda melihat kesalahan di bagian “Balas dari
Beberapa kali server juga memblokir lalu lintas ICMP yang dapat menunjukkan kesalahan ini.
Waktu permintaan habis
Kesalahan ini berarti bahwa paket mencapai server jarak jauh tetapi balasannya tidak dapat mencapai sistem Anda. Masalahnya bisa berupa paket yang hilang atau kesalahan perutean.
Siap melakukan Ping?
Saya harap tutorial ini membantu Anda dalam memahami perintah ping Linux dengan lebih baik.
Jika Anda memiliki pertanyaan atau saran, silakan tinggalkan pesan di bagian komentar.