Linux'ta arping komutu nasıl kullanılır
Linux arping
sipariş şöyle ping
, ancak yalnızca yerel ağlar için. Avantajı, daha düşük bir ağ düzeyinde çalışması, bazen gerektiğinde yanıt almasıdır. ping
yapamamak. İşte nasıl kullanılacağı.
özet
ARP protokolü
IP adresi, ağa bağlı bir cihaz için sayısal bir etikettir. Doğru ağ trafiğinin doğru cihaza ulaşması için adres olarak kullanılır. Ancak yerel ağlardaki çoğu cihazda dinamik IP adresleri. Başka bir deyişle, IP adresleri bir sonraki açılışta değişebilir.
Ağ trafiğini doğru cihaza doğru şekilde yönlendirmek 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. Bir IP adresi bir mantık adres. MAC adresi bir fiziksel adres.
Adres Çözümleme Protokolü, IP adreslerini MAC adreslerine eşleyen aracıdır. Ağınızdaki ağ paketlerini sıralamaktan ve yönlendirmekten sorumlu cihaz, genellikle yönlendirici, IP adreslerini MAC adresleriyle ilişkilendiren bir ARP tablosu oluşturur ve sürdürür.
Yönlendiricinin verileri var olduğunu bilmediği bir cihaza 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 ona yönlendirmek için yeterli değildir. Yönlendiricinin, bulmacanın eksik parçası olan MAC adresini alması gerekiyor. Ancak IP adresi tek başına paketleri cihaza yönlendirmek için yeterli olmadığından, Catch-22, MAC adresini elde etmek 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 halinde gruplandırır. Alt katmanlar olmadan üst katmanlar çalışamaz. OSI modelinde yedi katman vardır.
- Katman 7 en yüksek katmandır, uygulama katman. Bilgisayar kullanıcısına bilgi sağlar ve ondan bilgi alır.
- 6. katman tanıtım katman. Bu, verilerin ağ formatına gidip gelirken doğru formatta veya doğru durumda olmasını sağlar. Şifreleme ve şifre çözme bu katmanda gerçekleşir.
- 5. katman Oturum katman. Oturum, iki veya daha fazla cihaz arasındaki ağ bağlantısıdır. Bu katman, bağlantı başlatma, bağlantı kurma, zaman aşımları ve artık ihtiyaç duyulmayan bağlantıları kesme gibi sorunlarla ilgilenir.
- 4. katman toplu taşıma katman. Bu, verileri ağ üzerinde koordineli bir şekilde hareket ettiren katmandır. Bu katman, aktarım hızları ve veri hacimleri gibi şeylerle ilgilidir. İletim Kontrol Protokolü (TCP/IP'de TCP) bu katmanda çalışır.
- 3. katman ağ katman. Yönlendirme ve paket yönlendirmenin gerçekleştiği yer burasıdır. Bu, İnternet Protokolünün (TCP/IP'deki IP) üzerinde çalıştığı katmandır.
- 2. katman veri bağlantısı katman. Her bir cihaza yapılan 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.
- 1. katman fiziksel katman. 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, dolayısıyla IP yönlendirmesine dayanmaz.
Eşleşen adrese sahip cihaz, MAC adresini döndürerek yanıt verir. Bu cihazın IP adresi ve MAC adresi eşleme tablosuna eklenebilir. Normal IP trafiği, IP adresi ile MAC adresi arasındaki ilişki kurulduğu ve kaydedildiği için artık cihaza yönlendirilebilir.
Arpej Kontrolü
Tüm akıllı ARP işleri, ARP tablosunu oluşturarak ve koruyarak arka planda otomatik olarak gerçekleşir. bu arping
Komut, ARP isteğinin bazı işlevlerini terminal penceresine getirir. OSI seviye ikide çalışır ve şu durumlarda bir cihazdan yanıt isteyebilir. ping
değil.
Fedora 36'de, arping
zaten kurulmuştu, ancak Manjaro 21 ve Ubuntu 22.04'e kurmamız gerekiyordu.
Ubuntu'da komut şudur:
sudo apt arping'i kurun
Manjaro'da şunları yazmalısınız:
sudo pacman -Sy arping
Kullanmanın en kolay yolu arping
bir IP adresi ile. Yerel ağa bağlı, doğrudan adreslenebilir bir cihazın adresi olmalıdır. Çünkü arping
ikinci katmanda çalışır, yönlendirme mümkün değildir. kullanman gerekecek sudo
ile arping
.
sudo arping 192.168.1.17
Durdurmak için Ctrl+C tuşlarına basın. Döndürülen bilgi, yanıt veren aygıtın MAC adresi, aygıtın dizin numarasıdır. arping
istek ve gidiş dönüş süresi arping
tamamlama isteği.
Çıktıyı aşağıdakiyle karşılaştırın ping
komut, aşağıda. bu ping
Komut, ağ paketi gidiş-dönüş zamanlaması hakkında daha fazla bilgi verir. bu arping
Komut size daha az eşitleme istatistikleri verir, ancak aygıtın MAC adresini içerir.
ping 192.168.1.17
Ayrıca cihazın ağ adını aşağıdakilerle de kullanabilirsiniz: arping
.
sudo arping fedora-36.yerel
Kullanabilirsin -c
(saymak) söyleme olasılığı arping
belirli sayıda istekten sonra dur. Bu komut gösterir arping
iki kez dene ve sonra dur.
sudo arping -c 2 192.168.1.18
Bilgisayarınızda birden fazla ağ arabiriminiz varsa, -I
(arayüz) söyleme seçeneği arping
hangi arayüzün kullanılacağı.
Kullanabilirsin ip link
ağ arayüzlerinizi listelemek için komut.
ip bağlantısı
Bu bilgisayarın üç arabirimi vardır. bu lo
Sanal arabirim, aynı bilgisayardaki yazılımlar arasındaki dahili bağlantılar için bir geri döngü olarak kullanılır. Burada bize faydası yok. Ethernet bağlantısını kullanabiliriz enp3s0
veya kablosuz arayüz wlan0
.
Bu komut gösterir arping
seçtiğimiz arayüzü kullanmak ve kendi seçimini yapmamak.
sudo arping -c 2 -I enp3s0 manjaro-21.local
Komut Dosyalarında Arpej Kullanımı
sararak arping
bir komut dosyasındaki bir döngüde, bir dizi IP adresi üzerinde çalışmasını sağlayabiliriz. Bu betiğin metnini 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 gerekecektir.
#!/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, kullanmak istediğiniz aralıktaki IP adreslerinin son sekizlisi olarak kullanılır. arping
üzerinde. Yani betiğe 20 ve 30'u geçerseniz, döngü 192.168.1'de başlayacaktır.20 ve 192.168.1 IP adresini kullandıktan sonra sonlandırılır.30.
Parametrelere betiğin içinde şu şekilde erişilebilir: $1
et $2
. Bunlar C tarzında kullanılır for
döngü. Her bir dönüş ile for
döngü, $device
aralıktaki bir sonraki IP adresine ayarlanır.
Komut dosyası aynı kullanır arping -c
biçimini daha önce görmüştük, ancak bu sefer aralıktaki her cihaza yalnızca bir ARP isteği gönderilmesini istiyoruz.
serbest bırakılması arping
komut kanalize edilir grep
.
La grep
sözdizimi betiğinizde basitleştirilebilir. grep
"1 yanıt" veya "1 paket alındı" olmak üzere iki dizeden birini arar. Bunun nedeni, test bilgisayarlarının farklı sürümlere sahip olmasıdır. arping
üzerlerinde ve farklı terminoloji kullanıyorlar. İkisinden biri grep
bu cümlelerden birini bulursa çıkış değeri sıfır olur.
Cümlelerden hangisinin versiyonunuz olduğunu bildiğinizde arping
kullanır, basitleştirebilirsiniz grep
diğer cümleyi silerek sözdizimi.
La if
talimat testleri $?
– sıfır olup olmadığını görmek için sonlandırılan son işlemin çıkış kodunu içeren bir değişken. Eğer öyleyse, kullanır echo
terminal penceresinde bir başarı mesajı yazdırmak için. Eğer test başarısız olursa grep
dizelerin hiçbirini bulamadı; bu, ARP isteğinin başarısız olduğu anlamına gelir.
Komut dosyanızı kullanarak yürütülebilir hale getirin chmod
komuta et le +x
seçeneği.
chmod +x tarama aralığı.sh
Çalıştıracağız ve 15 ile 20 arasındaki IP adresleri aralığını tarayacağız. Bu adreslerin bazılarında bağlı cihaz yok, bu yüzden bazı hatalar görmeliyiz. kullanmayı unutma sudo
. biz de deneyeceğiz ping
cihazı 192.168.1.15'e ayarlayın.
sudo ./scan-range.sh 15 20
ping 192.168.1.15
Tıpkı herhangi bir ağda yaptığınız gibi, isabet ve ıskalamaların bir karışımını alıyoruz. Ancak, 192.168.1.15 adresindeki cihazın ikinci katman ARP isteğine yanıt vermesine rağmen, katman üçe yanıt vermediğini unutmayın. ping
istek.
Cihaza ping atmış ve arızayı fark etmiş olsaydınız, muhtemelen fişe takılı olduğunu, çevrimiçi olup olmadığını kontrol etme eğiliminde olurdunuz ve eğer yapabilirseniz ping
dışarı 192.168.1.15 cihazından.
Fakat arping
bağlı, çevrimiçi ve ağ tarafından erişilebilir olduğunu doğrulayabilirsiniz. Bu, yönlendirme ve ARP tablosu sorunlarına bakmaya başlamak için sorun gidermenize rehberlik eder.
Daha fazla analiz
Ağ soğanının birçok katmanı vardır. İkisinden biri ping
sizi hiçbir yere götürmez, bir katman bırakın ve ne olduğunu görün arping
sana söyleyebilir.