წინა სტატიაში ჩვენ განვიხილეთ arp-ის გამოყენების ნიუანსები Windows-ში, დღეს კი საუბარი წავა ლინუქსის სისტემებზე. ლინუქსისთვის როგორც მოწინავე ქსელური ოპერაციული სისტემისთვის arp-ის მსგავსი უტილიტა ძალიან მნიშვნელოვანია და როგორც წესი ყველა პოპულარ დისტრიბუტივში უკვე დაყენებული გვხვდება.

თუ apt ინსტრუმენტი არ გვაქვს სისტემაში, მისი დაყენება შეგვიძლია დისტრიბუტივის პაკეტ მენეჯერიდან. ასე მაგალითად, დებიან სისტემებში apt არის Net tools პაკეტის შემადგენელი და მისი დაყენება შეგვიძლია ბრძანებით:

apt install net-tools

გასათვალისწინებელია რომ apt გამართულად ვერ მუშაობს WSL-ის ქვეშ.

როგორც წესი arp ცხრილი განლაგებულია ფსევდო ფაილურ სისტემაში მისამართზე /proc/net/arp  და მისი ნახვა შეგვიძლია ბრძანებით:

cat /proc/net/arp

arp ბრძანების გამოყენება

arp ან arp -e

ბრძანებით ჩვენ ვიღებთ ინფორმაციას ჩვენ arp ცხრილზე:

ზოგიერთი დისტრიბუტივი Address ველში  IP მისამართის ნაცვლად წერს hostname-ს თუ ეს არ გვაწყობს მაშინ უნდა გამოვიყენოთ:

arp -n

გარდა ამისა გამოიყენება ინფორმაციის გამოტანის ე.წ. BSD სტილიც, რომელიც

arp -a

მაგრამ ის რაც ამ შემთხვევაში დაგვაკლდა არის. ე.წ. Mask ველი, რომელიც შეიძლება იყოს სამი ტიპის: C, M, P.

C ეს არის Completed, როდესაც სისტემა გააკეთა arp მოთხოვნა და მიიღო სრულფასოვანი პასუხი. M გულისხმობს permanent-ს ანუ ხელით დამატებულ ჩანაწერებს, ხოლო P არის published, რაც გულისხმობს arp proxy-ს არსებობას.

arp ჩანაწერის დამატება ან წაშლა

გაითვალისწინეთ, რომ ამ ბრძანებების შესასრულებლად საჭიროა ადმინისტრატორის უფლებები:

ჩანაწერის დასამატებლად გამოიყენება -s პარამეტრი. ასე მაგალითად:

აღსანიშნავია, რომ Windows-სგან განსხვავებით ჩვენ ვერ დავამატებთ რაიმე IP-ს “ჰაერიდან” ვერ ჩაწერთ თუ სისტემა ვერ აღიქვავს მისამართს როგორც “შიდას” თქვენ მიიღებთ შეცდომას  “SIOCSARP: Network is unreachable”

arp ჩანაწერის წასაშლელად გამოიყენება -d, მისათითებელია ან IP ან Hostname:

sudo arp -d 10.0.2.25

თუ საჭიროა ერთბაშად ბევრი ჩანაწერის დამატება ჩვენ შეგვიძლია წინასწარ შევქმნათ ფაილი სადაც ჩამოწერილი იქნება IP და MAC მისამართების წყვილები. ფაილის შექმნა შეგიძლიათ ნებისმიერი ტექსტური რედაქტორით თუნდაც Nano-თი შემდეგ მოვახდინოთ ფაილში არსებული წყვილების იმპორტი ბრძანებით

sudo arp -f %fileaddress%

როგორც ეს სურათზეა ნაჩვენები:

შედეგების ფილტრაცია

თუ სისტემაში რამოდენიმე ქსელის ინტერფეისი გვაქვს შედეგების ფილტრაციისთვის ჩვენ შეგვიძლია გამოვიყენოთ -H Hwtype-სთვის (რომელიც შეიძლება იყოს ether (Ethernet), arcnetpronetax25 და ა.შ.) და -i Iface-სთვის (ანუ ინტერფეისისთვის enp0s1, eth0 და ა.შ.)

ასე მაგალითად, ქვემოთ მოცემულ სურათში ჩვენ დავფილტრეთ შედეგები ინტერფეისის მიხედვით და მხოლოდ enp0s8 ინტერფეისის შედეგები მივიღეთ.