Cara Menggunakan Perintah arping di Linux

Diterbitkan: 2022-07-28
Laptop Linux menampilkan prompt bash
fatmawati achmad zaenuri/Shutterstock.com

Perintah arping Linux seperti ping , tetapi hanya untuk jaringan lokal. Keuntungannya adalah ia beroperasi pada tingkat jaringan yang lebih rendah, terkadang mendapatkan respons ketika ping tidak bisa. Berikut cara menggunakannya.

Protokol ARP

Alamat IP adalah label numerik untuk perangkat jaringan. Ini digunakan sebagai alamat sehingga lalu lintas jaringan yang sesuai tiba di perangkat yang benar. Tetapi sebagian besar perangkat di jaringan area lokal memiliki alamat IP dinamis . Artinya, alamat IP mereka mungkin berubah saat boot berikutnya.

Untuk dapat merutekan lalu lintas jaringan dengan benar ke perangkat yang sesuai, skema harus digunakan yang memetakan alamat IP ke alamat Media Access Control (MAC). Alamat MAC adalah identitas unik yang dibuat pada titik pembuatan perangkat. Alamat IP adalah alamat logis . Alamat MAC adalah alamat fisik .

Apa itu Paket Data?
TERKAIT Apa itu Paket Data?

Address Resolution Protocol adalah perantara yang memetakan alamat IP ke alamat MAC. Perangkat yang bertanggung jawab untuk menyusun dan mengarahkan paket jaringan di jaringan Anda—biasanya, router—membangun dan memelihara tabel ARP yang mengikat alamat IP ke alamat MAC.

Jika router perlu merutekan data ke perangkat yang tidak diketahuinya, router membuat permintaan ARP untuk mendapatkan alamat MAC untuk perangkat baru.

Ketika perangkat baru terhubung ke jaringan Anda, itu diberi alamat IP, tetapi itu tidak cukup untuk benar-benar merutekan lalu lintas ke sana. Router perlu mendapatkan alamat MAC yang merupakan bagian dari teka-teki yang hilang. Tetapi karena alamat IP sendiri tidak cukup informasi untuk merutekan paket ke perangkat, Catch-22 tidak dapat menggunakan alamat IP untuk meminta perangkat keras untuk mendapatkan alamat MAC.

Model Interkoneksi Sistem Terbuka mengelompokkan teknologi yang membentuk jaringan kerja sebagai serangkaian lapisan. Lapisan yang lebih tinggi tidak dapat beroperasi tanpa lapisan yang lebih rendah. Ada tujuh lapisan dalam model OSI.

  • Lapisan 7 adalah lapisan paling atas, lapisan aplikasi . Ini memberikan informasi kepada pengguna komputer dan menerima informasi kembali dari mereka.
  • Layer 6 adalah layer presentasi . Ini memastikan data dalam format atau status yang benar saat berpindah ke dan dari format jaringan. Enkripsi dan dekripsi berlangsung pada lapisan ini.
  • Lapisan 5 adalah lapisan sesi . Sesi adalah koneksi jaringan antara dua atau lebih perangkat. Lapisan ini melibatkan dirinya dengan hal-hal seperti inisiasi koneksi, handshaking, timeout, dan pemutusan koneksi yang tidak lagi diperlukan.
  • Lapisan 4 adalah lapisan transport . Ini adalah lapisan yang memindahkan data di sekitar jaringan secara terkoordinasi. Lapisan ini berkaitan dengan hal-hal seperti kecepatan transfer dan volume data. Transmission Control Protocol—TCP dalam TCP/IP—beroperasi pada lapisan ini.
  • Lapisan 3 adalah lapisan jaringan . Di sinilah perutean dan penerusan paket terjadi. Ini adalah lapisan tempat Internet Protocol—IP dalam TCP/IP—beroperasi.
  • Lapisan 2 adalah lapisan data link . Ini digunakan untuk mengirim paket antara perangkat yang dapat dialamatkan secara langsung menggunakan siaran ke setiap perangkat atau unicast ke alamat MAC tertentu.
  • Lapisan 1 adalah lapisan fisik . Hal ini berkaitan dengan infrastruktur fisik termasuk kabel, router, dan switch jaringan. Gelombang radio yang digunakan dalam Wi-Fi juga termasuk dalam kategori ini.

Ketika router menerima paket untuk alamat IP yang tidak ada di tabelnya, ia mengirimkan paket broadcast ke seluruh jaringan. Secara efektif menanyakan "Siapa yang memiliki alamat IP ini?" Ini adalah pesan lapisan dua sehingga tidak bergantung pada perutean IP.

Perangkat dengan alamat yang cocok merespons dengan mengirimkan kembali Alamat MAC-nya. Alamat IP dan alamat MAC perangkat tersebut dapat ditambahkan ke tabel pemetaan. Lalu lintas IP reguler sekarang dapat dirutekan ke perangkat karena hubungan antara alamat IP dan alamat MAC-nya telah dibuat dan dicatat.

TERKAIT: Landasan Internet: TCP/IP Ternyata 40

Perintah arping

Semua hal ARP pintar berjalan secara otomatis di latar belakang, membangun dan memelihara tabel ARP. Perintah arping membawa beberapa fungsionalitas kueri ARP ke jendela terminal. Ini beroperasi pada OSI layer dua dan dapat meminta respons dari perangkat saat ping tidak.

Di Fedora 36, arping sudah diinstal, tetapi kami perlu menginstalnya di Manjaro 21 dan Ubuntu 22.04.

Di Ubuntu perintahnya adalah:

 sudo apt install arping 

Menginstal arping di Ubuntu

Di Manjaro Anda perlu mengetik:

 sudo pacman -Sy arping 

Memasang arping di Manjaro

Cara paling sederhana untuk menggunakan arping adalah dengan alamat IP. Ini harus berupa alamat perangkat yang dapat dialamatkan secara langsung, yang terhubung ke jaringan lokal. Karena arping beroperasi pada lapisan dua, tidak ada perutean yang mungkin. Anda harus menggunakan sudo dengan arping .

 sudo arping 192.168.1.17 

Menggunakan arping dengan alamat IP

Tekan Ctrl+C untuk berhenti. Informasi yang dikembalikan adalah alamat MAC dari perangkat yang merespons, nomor indeks permintaan arping , dan waktu bolak-balik untuk menyelesaikan permintaan arping .

Bandingkan output dengan yang dari perintah ping , di bawah ini. Perintah ping mengembalikan lebih banyak informasi tentang waktu perjalanan pulang pergi paket jaringan. Perintah arping memberi Anda lebih sedikit statistik waktu, tetapi itu menyertakan Alamat MAC perangkat.

 ping 192.168.1.17 

Menggunakan ping dengan alamat IP

Anda juga dapat menggunakan nama jaringan perangkat dengan arping .

 sudo arping fedora-36.local 

Menggunakan arping dengan alamat IP

Anda dapat menggunakan opsi -c (hitungan) untuk memberi tahu arping agar berhenti setelah sejumlah permintaan yang ditetapkan. Perintah ini memberitahu arping untuk mencoba dua kali dan kemudian berhenti.

 sudo arping -c 2 192.168.1.18 

Menggunakan opsi -c untuk memberi tahu arping agar berhenti setelah membuat dua permintaan

Jika Anda memiliki beberapa antarmuka jaringan di komputer Anda, Anda dapat menggunakan opsi -I (antarmuka) untuk memberi tahu arping antarmuka mana yang akan digunakan.

Anda dapat menggunakan perintah ip link untuk membuat daftar antarmuka jaringan Anda.

 tautan ip 

Menggunakan tautan ip untuk membuat daftar antarmuka jaringan

Komputer ini memiliki tiga antarmuka. Antarmuka virtual lo digunakan sebagai loopback untuk koneksi internal antar perangkat lunak pada komputer yang sama. Itu tidak berguna bagi kita di sini. Kita dapat menggunakan koneksi ethernet enp3s0 atau antarmuka nirkabel wlan0 .

Perintah ini memberitahu arping untuk menggunakan antarmuka yang kita pilih, dan tidak membuat pilihannya sendiri.

 sudo arping -c 2 -I enp3s0 manjaro-21.local 

Menggunakan opsi -I untuk memberi tahu arping untuk menggunakan antarmuka jaringan tertentu

Menggunakan Arping Dalam Skrip

Dengan membungkus arping dalam satu lingkaran dalam sebuah skrip, kita bisa membuatnya bekerja pada rentang alamat IP. Salin teks dari skrip ini dan simpan ke file bernama “scan-range.sh.”

Anda harus mengedit skrip dan mengganti semua kemunculan 192.168.1 dengan alamat IP jaringan Anda.

 #!/bin/bash for (( device = $1 ; device <= $2 ; device ++ )) do arping -c 1 192.168.1. $device | grep -E "1 response|1 packets received" > /dev/null if [ $? == 0 ] ; then echo "192.168.1. $device responded." else echo "192.168.1. $device didn't respond." fi  done

Script menerima dua parameter baris perintah. Ini digunakan sebagai oktet terakhir dari alamat IP dari rentang yang ingin Anda gunakan arping . Jadi, jika Anda meneruskan 20 dan 30 ke skrip, loop akan dimulai pada 192.168.1. 20 dan akan berakhir setelah menggunakan alamat IP 192.168.1. 30 .

Parameter diakses di dalam skrip sebagai $1 dan $2 . Ini digunakan dalam gaya-C for loop. Pada setiap putaran for loop, $device disetel ke alamat IP berikutnya dalam rentang tersebut.

Skrip menggunakan format arping -c yang sama seperti yang telah kita lihat, tetapi kali ini kita hanya meminta satu permintaan ARP untuk dikirim ke setiap perangkat dalam jangkauan.

Output dari perintah arping disalurkan melalui grep .

Sintaks grep dapat disederhanakan dalam skrip Anda. grep mencari salah satu dari dua string, baik "1 respons" atau "1 paket diterima." Ini karena komputer uji memiliki versi arping yang berbeda dan mereka menggunakan terminologi yang berbeda. Jika grep menemukan salah satu dari frasa ini, nilai keluarnya akan menjadi nol.

Saat Anda mengetahui frasa mana yang digunakan versi arping Anda, Anda dapat menyederhanakan sintaks grep dengan menghapus frasa lainnya.

Pernyataan if menguji $? —variabel yang menyimpan kode keluar dari proses terakhir yang berakhir—untuk melihat apakah itu nol. Jika ya, ia menggunakan echo untuk mencetak pesan sukses ke jendela terminal. Jika tes gagal maka grep tidak menemukan salah satu string, artinya permintaan ARP gagal.

Jadikan skrip Anda dapat dieksekusi dengan menggunakan perintah chmod dan opsi +x .

 chmod +x scan-range.sh 

Menggunakan opsi chmod +x untuk membuat skrip dapat dieksekusi

Kami akan menjalankannya dan memindai rentang IP dari 15 hingga 20. Beberapa alamat ini tidak memiliki perangkat yang terpasang, jadi kami akan melihat beberapa kegagalan. Ingatlah untuk menggunakan sudo . Kami juga akan mencoba melakukan ping ke perangkat di 192.168.1.15.

 sudo ./scan-range.sh 15 20
 ping 192.168.1.15 

Menjalankan skrip dan menjalankan ping

Kami mendapatkan campuran keberhasilan dan kegagalan, seperti yang Anda lakukan di jaringan apa pun. Tetapi perhatikan bahwa meskipun perangkat di 192.168.1.15 merespons permintaan ARP lapisan dua, itu tidak menanggapi permintaan ping lapisan tiga.

Jika Anda telah melakukan ping ke perangkat dan mencatat kegagalannya, Anda mungkin akan cenderung untuk memeriksa apakah perangkat telah dicolokkan, online, dan apakah Anda dapat melakukan ping dari perangkat 192.168.1.15.

Tetapi dengan arping Anda dapat memverifikasi bahwa itu terhubung, online, dan dapat diakses jaringan. Itu akan memandu pemecahan masalah Anda untuk mulai melihat masalah perutean dan tabel ARP.

Wawasan yang Lebih Dalam

Ada banyak lapisan pada jaringan bawang. Jika ping tidak membawa Anda ke mana pun, turunkan satu lapisan dan lihat apa yang bisa dikatakan arping kepada Anda.

TERKAIT: Cara Mengelola Jaringan Wi-Fi Linux Dengan Nmtui