====== Отравление ARP ======
**Протокол ARP** используется для разрешения сетевых адресов на физическом уровне (IP - MAC).\\
Как правило у сетевых устройств есть собственный **кэш для хранения сопоставления** ip - mac адресов. Если адреса нет в списке, посылается широковещательный **arp-запрос** ("Who has ... ?"), после успешного соединения адрес **добавляется в кэш**.\\
==== Работа с кэшем ====
=== Windows и Linux ===
Просмотреть текущее состояние:
# arp -a
Добавить запись:
# arp -s
Удалить запись:
# arp -d
==== arping (Linux) ====
Утилита для работы с ARP протоколом.\\
* **-0 (-b)** - отправляет arp-запрос, указывая источник 0.0.0.0 (255..)
* **-S** - шлет указанной машине arp, с указанным IP адресом и реальным MAC (итог одинаковые IP с разными MAC)
* **-s** - шлет указанной машине arp, с указанным MAC адресом и реальным IP (итог разные IP с одинаковым MAC)
* **-U** - отправка не запрошенного ARP себя, (пинг не прошел, а он прошел)
* **-P** - как и предыдущий, но ответ вместо запроса (на пробе что то не прошел)
* **-T ** - пинг с указанием IP и MAC, пинг проходит только при полном совпадении
* **-t** - тоже что и пред. только наоборот
===== Практические упражнения =====
**Команда arping -s ** посылает цели запрос **Who has**, подставляя туда указанный MAC и свой IP, цель отвечает и делает у себя пометку в кэше (IP-MAC отправителя). т.е. стандартная работа ARP протокола, вся фишка в поддельном MAC адресе. (-S ip-addr - аналогично, только подставной адрес)\\
Так же, замечено что подмена происходит на всех доступных устройствах т.е. если записи в локальном кэше у них нет, то она добавится только по прямому запросу, а если запись уже есть, то она обновится, даже если пакет предназначен другой машине (кроме роутера почему то, видимо завит от конфы, а подмена IP (-S), сработал и на роутере).\\
**Простое отравление кэша** на локальной машине, позволило отправлять пакеты с этой машины в "другую сеть" т.е. на другой порт коммутатора, но ответа от подставного адреса не было.\\
В ping-пакете содержится пингуемый ip-адрес с подставным mac-адресом, хотя на роутере есть своя ARP-таблица, правильная, это не повлияло.\\
Обновление кэша на локальной машине происходит видимо принудительно либо при перезагрузке оборудования.\\
**Постоянная подмена IP**
**arping *.0.1 -S *.0.12**- поддельная и реальная машины **на разных портах** коммутатора, после отравления, в таблице роутера **2 одинаковых IP** с разными MAC.\\
После отравления, трафик начал ходить по обоим портам, но отравленной машине доходит мало ответов, на порту с отравленной машиной вижу запросы от нее, но ответы в основном уходят на другой порт, там где подставная машина, т.к. в роутере пакеты не дублируются для каждого порта, поэтому перехваченные пакеты не доходят до реального получателя.