Начини на плащане Abuse

ARP сканиране на локалната мрежа на Linux

08.06.2024, 15:00

Често се налага да знаете кои устройства са свързани към вашата мрежа. Това е така, ако искате да се свържете с някой от компютрите си и нямате ясна представа за неговия адрес, ако просто искате да се уверите, че мрежата ви е защитена или не, или ако искате да намерите всички скрити устройства. Можете да откриете всички свързани устройства, включително и скритите устройства, като използвате ARP сканиране.

Какво представлява ARP

ARP (Address Resolution Protocol) е протокол, който се използва в компютърните мрежи за комуникация между мрежовите възли. Той се използва за съпоставяне на IP адресите на мрежовите устройства с техните физически MAC адреси. Когато даден възел в мрежата иска да изпрати данни до друг възел, той използва ARP, за да определи MAC адреса на получателя въз основа на неговия IP адрес.

В Linux таблицата ARP се съхранява в RAM и съдържа съответствия между IP адресите и MAC адресите на други устройства в мрежата. Можете да видите съдържанието на ARP таблицата в Linux, като използвате командата arp -a. Linux предоставя инструменти за извършване на ARP операции, като например добавяне на статични ARP записи или изчистване на ARP кеша. ARP е важен елемент в работата на TCP/IP мрежите и играе решаваща роля в комуникацията между устройствата в локалната мрежа.

Сканиране с ARP

Всяка компютърна мрежа има IP адрес - това е известно на всички. Чудили ли сте се някога на кой компютър е присвоен определен адрес? Известно е, че съществуват различни мрежи - кабелни, безжични, ppp. Във всяка мрежа хардуерният адрес на изчислителната машина има различен формат, който зависи от конструктивните особености на локалната мрежа.

Нека да обясним, че всъщност всичко е много просто. За преобразуване на физическия адрес в IP се осигурява ARP, Казано по-просто, това е протокол за преобразуване на адреси. Когато даден компютър влезе в мрежата, той отправя заявка към другите компютри и задава въпроса - ""Кой има IP адрес XXX.XXX.X.X.X"". Отговорът му не се пренебрегва, но изглежда малко по-различно - "Аз имам, моят адрес е xx:xx:xx:xx:xx:xx". Това означава, че в отговор се изпраща физически адрес. Този адрес се въвежда в специална таблица.

Трябва да се каже, че форматът на ARP съобщенията е изключително прост. В съобщението се крие или заявка с IP адрес, или отговор. Размерът на съобщението зависи от протокола - IPv4 или IPv6, от вида на мрежовото оборудване. Заглавието на съобщението определя видовете и размерите на тези съобщения. Заглавието завършва с код на съобщението. За заявка кодът е 1, а за отговор кодът е 2. Тялото на съобщението съдържа четирите адреса, хардуерни и мрежови адреси, принадлежащи на изпращача и получателя.

Инсталиране на помощната програма

Помощната програма ARP Scan, наричана още MAC Scanner, е удобен, функционален инструмент за сканиране на локална мрежа на Linux с помощта на ARP. Програмата показва Pv4 адресите на мрежовите устройства. Особеността на ARP е, че не включва маршрутизация. Този тип сканиране е подходящ само за локални мрежи. Програмата открива активни устройства, като компютрите не могат да се скрият от ARP. Ако трябва да се открие компютър извън локалната мрежа, се използва сканиране с ping.

Network Scanner е наличен за следните операционни системи:

  1. Debian;
  2. Ubuntu;
  3. Fedora;
  4. RedHat;
  5. Gentoo;
  6. ArchLinux.

За да инсталирате, ще извършим:

$ sudo apt install arp-scan

Сканиране

С помощта на програмата ще можете да откриете всички активни компютри както в кабелни етернет мрежи, така и в безжични Wifi мрежи. Не се предоставят PPP и SLIP връзки, тъй като в тях няма ARP. Трябва да работите с програмата под правата на суперпотребител.

В началото ще открием мрежовия интерфейс с помощта на програмата ip:

$ ip addr list

APR сканирование

Виждаме тук enp24s0. Най-лесно е да направим това с ARP, като сканираме и излезем от всеки компютър, свързан към мрежата - стартираме програмата, като зададем параметрите:

$ sudo arp-scan --interface=enp24s0 --localnet

APR сканирование

Виждаме параметъра --interface, указващ сканиращия интерфейс, и --localnet, указващ да се приложат всички възможни IP адреси за текущата мрежа.

Ако пропуснем първия параметър, тогава програмата ще търси всички възли за интерфейса с по-малък номер в системата. В нашия случай това е enp24s0.

Вместо параметъра --localnet можете да посочите мрежовата маска:

$ sudo arp-scan --interface=enp24s0 10.0.1.0/24

ARP е подходящ и ако интерфейсът няма собствен IP адрес. В този случай изходящият адрес е 0.0.0.0.0.0. Но не всички системи ще отговорят на такава заявка Следователно в тази ситуация скенерът ще бъде неефективен.

Защо ARP не работи

Съществуват няколко причини, поради които ARP може да не работи правилно в дадена мрежа. Някои от най-често срещаните проблеми включват:

  1. Конфликт на IP адреси: Ако две устройства в мрежата използват един и същ IP адрес, това може да доведе до конфликт на ARP.
  2. Неправилна мрежова конфигурация: Неправилното IP адресиране, подмрежи или настройки на шлюза могат да доведат до отказ на ARP.
  3. Проблеми с мрежовия хардуер: Неизправни комутатори, маршрутизатори или мрежови карти могат да причинят неправилно функциониране на ARP.
  4. Настройките за сигурност или филтриране на мрежовите устройства могат да блокират ARP пакетите.
  5. Нападателите могат да използват атаки като ARP poisoning или ARP flooding, които също могат да причинят проблеми с ARP в мрежата.

За диагностициране и отстраняване на проблеми с ARP се препоръчва да се проверят настройките на мрежовия хардуер, да се анализира конфигурацията на IP адресирането и да се използват инструменти за наблюдение и анализ на мрежовия трафик.