Arping Komutu Linux'ta Nasıl Kullanılır
Yayınlanan: 2022-07-28
Linux arping
komutu ping
gibidir, ancak yalnızca yerel ağlar içindir. Avantajı, daha düşük bir ağ düzeyinde çalışması, bazen ping
yapamadığında yanıt almasıdır. İşte nasıl kullanılacağı.
ARP Protokolü
IP adresi, ağa bağlı bir cihaz için sayısal bir etikettir. Uygun ağ trafiğinin doğru cihaza ulaşması için bir adres olarak kullanılır. Ancak yerel alan ağlarındaki çoğu cihazın dinamik IP adresleri vardır. Yani, bir dahaki sefere başlatıldıklarında IP adresleri pekala değişebilir.
Ağ trafiğini uygun cihaza doğru şekilde yönlendirebilmek için IP adreslerini Medya Erişim Kontrolü (MAC) adreslerine eşleyen bir şema kullanılmalıdır. MAC adresi, bir cihazın üretim noktasında oluşturulan benzersiz bir kimliktir. IP adresi mantıksal bir adrestir. MAC adresi fiziksel bir adrestir.
Adres Çözümleme Protokolü, IP adreslerini MAC adreslerine eşleyen aracıdır. Ağınızdaki ağ paketlerini sıralamaktan ve yönlendirmekten sorumlu aygıt (genellikle yönlendirici), IP adreslerini MAC adreslerine bağlayan bir ARP tablosu oluşturur ve sürdürür.
Yönlendiricinin bilmediği bir cihaza veri yönlendirmesi gerekiyorsa, yeni cihazın MAC adresini almak için bir ARP isteğinde bulunur.
Ağınıza yeni bir cihaz bağlandığında, ona bir IP adresi atanır, ancak bu, trafiği gerçekten ona yönlendirmek için yeterli değildir. Yönlendiricinin, yapbozun eksik parçası olan MAC adresini alması gerekir. Ancak IP adresi tek başına paketleri cihaza yönlendirmek için yeterli bilgi olmadığından, Catch-22, MAC adresini almak için donanımı sorgulamak için IP adresini kullanamaz.
Açık Sistemler Ara Bağlantı modeli, çalışan bir ağı oluşturan teknolojileri bir dizi katman olarak gruplandırır. Daha yüksek katmanlar, alt katmanlar olmadan çalışamaz. OSI modelinde yedi katman vardır.
- Katman 7, en üstteki katman olan uygulama katmanıdır. Bilgisayar kullanıcısına bilgi sağlar ve onlardan bilgi alır.
- Katman 6, sunum katmanıdır. Bu, verilerin ağ biçimine gidip gelirken doğru biçimde veya durumda olmasını sağlar. Şifreleme ve şifre çözme bu katmanda gerçekleşir.
- Katman 5, oturum katmanıdır. Oturum, iki veya daha fazla cihaz arasındaki ağ bağlantısıdır. Bu katman, bir bağlantının başlatılması, el sıkışma, zaman aşımları ve artık gerekli olmayan bağlantıların kesilmesi gibi konularla ilgilenir.
- Katman 4, taşıma katmanıdır. Bu, verileri ağ çevresinde koordineli bir şekilde hareket ettiren katmandır. Bu katman, aktarım hızları ve veri hacimleri gibi şeylerle ilgilenir. İletim Kontrol Protokolü—TCP/IP'deki TCP—bu katmanda çalışır.
- Katman 3, ağ katmanıdır. Yönlendirme ve paket yönlendirmenin gerçekleştiği yer burasıdır. Bu, İnternet Protokolünün (TCP/IP'deki IP) çalıştığı katmandır.
- Katman 2, veri bağlantısı katmanıdır. Her cihaza yayınlar veya belirli MAC adreslerine tek noktaya yayınlar kullanarak doğrudan adreslenebilir cihazlar arasında paket göndermek için kullanılır.
- Katman 1, fiziksel katmandır. Bu, kablolama, yönlendiriciler ve ağ anahtarları dahil olmak üzere fiziksel altyapı ile ilgilidir. Wi-Fi'de kullanılan radyo dalgaları da bu kategoriye girer.
Yönlendirici, tablosunda olmayan bir IP adresi için bir paket aldığında, tüm ağa bir yayın paketi gönderir. Etkili bir şekilde “Bu IP adresine sahip olan kim?” Diye sorar. Bu bir ikinci katman mesajıdır, bu nedenle IP yönlendirmesine dayanmaz.
Eşleşen adrese sahip cihaz, MAC Adresini geri göndererek yanıt verir. Bu cihazın IP adresi ve MAC adresi eşleme tablosuna eklenebilir. IP adresi ile MAC adresi arasındaki ilişki kurulduğu ve kaydedildiği için artık düzenli IP trafiği cihaza yönlendirilebilir.
İLGİLİ: İnternetin Kuruluşu: TCP/IP 40 Yaşına Giriyor
Arping Komutanlığı
Tüm akıllı ARP işleri, ARP tablosunu oluşturarak ve koruyarak arka planda otomatik olarak devam eder. arping
komutu, ARP sorgusunun bazı işlevlerini terminal penceresine getirir. OSI ikinci katmanında çalışır ve ping
olmadığında bir aygıttan yanıt isteyebilir.
Fedora 36'da arping
zaten kuruluydu, ancak Manjaro 21 ve Ubuntu 22.04'e kurmamız gerekiyordu.
Ubuntu'da komut şudur:
sudo apt arping'i kurun
Manjaro'da şunları yazmanız gerekir:
sudo pacman -Sy arping
arping
kullanmanın en basit yolu bir IP adresi kullanmaktır. Bu, yerel ağa bağlı, doğrudan adreslenebilir bir cihazın adresi olmalıdır. arping
ikinci katmanda çalıştığından, yönlendirme mümkün değildir. arping
ile sudo
kullanmanız gerekecek.
sudo arping 192.168.1.17
Durdurmak için Ctrl+C tuşlarına basın. Döndürülen bilgi, yanıt veren cihazın MAC adresi, arping
talebinin indeks numarası ve arping
talebinin tamamlanması için gidiş-dönüş süresidir.
Çıktıyı aşağıdaki ping
komutundakiyle karşılaştırın. ping
komutu, ağ paketi gidiş dönüşünün zamanlaması hakkında daha fazla bilgi verir. arping
komutu size daha az zamanlama istatistikleri verir, ancak aygıtın MAC Adresini içerir.
192.168.1.17 gönderme
arping
ile cihazın ağ adını da kullanabilirsiniz.
sudo arping fedora-36.yerel
arping
belirli sayıda istekten sonra durmasını söylemek için -c
(sayım) seçeneğini kullanabilirsiniz. Bu komut, arping
iki kez denemesini ve ardından durmasını söyler.

sudo arping -c 2 192.168.1.18
Bilgisayarınızda birden fazla ağ arabirimi varsa, arping
hangi arabirimin kullanılacağını söylemek için -I
(arayüz) seçeneğini kullanabilirsiniz.
Ağ arayüzlerinizi listelemek için ip link
komutunu kullanabilirsiniz.
ip bağlantısı
Bu bilgisayarın üç arabirimi vardır. lo
sanal arabirimi, aynı bilgisayardaki yazılımlar arasındaki dahili bağlantılar için bir geri döngü olarak kullanılır. Burada işimize yaramaz. enp3s0
ethernet bağlantısını veya wlan0
kablosuz arabirimini kullanabiliriz.
Bu komut, arping
kendi seçimini yapmamasını ve seçtiğimiz arayüzü kullanmasını söyler.
sudo arping -c 2 -I enp3s0 manjaro-21.local
Komut Dosyalarında Arping Kullanmak
Bir komut dosyasında arping
bir döngüye sararak, bir dizi IP adresi üzerinde çalışmasını sağlayabiliriz. Bu komut dosyasındaki metni kopyalayın ve "scan-range.sh" adlı bir dosyaya kaydedin.
Komut dosyasını düzenlemeniz ve 192.168.1'in tüm oluşumlarını ağınızın IP adresiyle değiştirmeniz gerekir.
#!/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
Komut dosyası iki komut satırı parametresini kabul eder. Bunlar, üzerinde arping
kullanmak istediğiniz aralığın IP adreslerinin son sekizlisi olarak kullanılır. Yani, 20 ve 30'u komut dosyasına iletirseniz, döngü 192.168.1'de başlar. 20 ve 192.168.1 IP adresini kullandıktan sonra sonlandırılır. 30
Parametrelere komut dosyası içinde $1
ve $2
olarak erişilir. Bunlar C-tarzı for
döngüsünde kullanılır. for
döngüsünün her dönüşünde, $device
, aralıktaki bir sonraki IP adresine ayarlanır.
Komut dosyası, daha önce gördüğümüz aynı arping -c
biçimini kullanır, ancak bu sefer aralıktaki her cihaza yalnızca tek bir ARP isteğinin gönderilmesini istiyoruz.
arping
komutunun çıktısı grep
aracılığıyla iletilir.
grep
sözdizimi betiğinizde basitleştirilebilir. grep
, "1 yanıt" veya "1 paket alındı" olmak üzere iki dizeden birini arıyor. Bunun nedeni, test bilgisayarlarının üzerlerinde farklı arping
sürümleri olması ve farklı terminoloji kullanmalarıdır. grep
bu ifadelerden herhangi birini bulursa, çıkış değeri sıfır olacaktır.
arping
sürümünüzün hangi ifadeleri kullandığını bildiğinizde, diğer ifadeyi kaldırarak grep
sözdizimini basitleştirebilirsiniz.
if
ifadesi $?
- sıfır olup olmadığını görmek için biten son işlemin çıkış kodunu tutan bir değişken. Öyleyse, terminal penceresine bir başarı mesajı yazdırmak için echo
kullanır. Test başarısız olursa, grep
dizelerden herhangi birini bulamadı, bu da ARP isteğinin başarısız olduğu anlamına gelir.
Komut dosyanızı chmod
komutunu ve +x
seçeneğini kullanarak yürütülebilir yapın.
chmod +x tarama aralığı.sh
Çalıştıracağız ve 15 ile 20 arasındaki IP aralığını tarayacağız. Bu adreslerin bazılarında bağlı cihazlar yok, bu yüzden bazı hatalar görmeliyiz. sudo
kullanmayı unutmayın. Ayrıca cihaza 192.168.1.15'te ping
atmayı deneyeceğiz.
sudo ./scan-range.sh 15 20
192.168.1.15 gönderme
Herhangi bir ağda olduğu gibi, başarıların ve başarısızlıkların bir karışımını elde ederiz. Ancak, 192.168.1.15 adresindeki cihazın ikinci katman ARP isteğine yanıt vermesine rağmen, katman üç ping
isteğine yanıt vermediğine dikkat edin.
Cihaza ping işlemi yaptıysanız ve arızayı fark ettiyseniz, muhtemelen cihazın prize takılı, çevrimiçi olup olmadığını ve 192.168.1.15 cihazından ping
atıp atamayacağınızı kontrol etme eğiliminde olacaksınız.
Ancak arping
ile bağlı, çevrimiçi ve ağ üzerinden erişilebilir olduğunu doğrulayabilirsiniz. Bu, yönlendirme ve ARP tablosu sorunlarına bakmaya başlamak için sorun gidermenize rehberlik eder.
Daha Derin Bir Görüş
Ağ soğanının birçok katmanı vardır. ping
sizi bir yere götürmezse, bir katman bırakın ve arping
size neler söyleyebileceğini görün.
İLGİLİ: Nmtui ile Linux Wi-Fi Ağları Nasıl Yönetilir