LINUX.ORG.RU

arping 2.09

 ,


0

0

1 апреля вышла новая версия arping2 (не путать с arping из пакета iputils) - утилиты, позволяющей выполнять ARP запросы по MAC-адресу, и таким образом вычислять IP адрес по MAC, минуя ARP кэш. Обновления:

  • удален весь старый код (из Arping 1.x)
  • добавлена опция -D, при выборе которой результаты запроса выводятся в виде знаков препинания (ответы как точки, потерянные пакеты как восклицательные знаки)

>>> Подробности



Проверено: maxcom ()

>когда невозможно узнать IP с помощью ping, если хост блокирует все ICMP запросы

что-то у меня «коротит» в голове от попытки связать «узнать IP» и «блокирует все ICMP запросы».

Deleted ()
Ответ на: комментарий от Deleted

> отрезолвится по ДНС
да, логично. но я перевел из описания

Arping is a util to find out it a specific IP address on the LAN is 'taken' and what MAC address owns it. Sure, you *could* just use 'ping' to find out if it's taken and even if the computer blocks ping (and everything else) you still get an entry in your ARP cache. But what if you aren't on a routable net? Or the host blocks ping (all ICMP even)? Then you're screwed. Or you use arping.

opensuse ()
Ответ на: комментарий от opensuse

Перевел, местами причесывал формулировки, а местами вставил примечания [прим:...].

arping - это инструмент для поиска указанного IP адреса в сети, что он присутствует в этой сети, а также какой при этом MAC адрес является владельцем оного. Разумеется, вы можете просто использовать команду 'ping' для этого или для проверки, выдан ли такой IP адрес кому-то в этой сети. При этом если владелец этого IP адреса блокирует ICMP пакеты (или что-то еще), так или иначе вы все равно будете попадать в ARP кеш (прим. подразумевается, что на самом низком уровне, когда нужно послать Ethernet-фрейм, будет задействован системный ARP-кеш, для трансляции IP в MAC).

--- далее бред самого автора ---

А что если вы не в маршрутизируемой сети? [прим: в маршрутизируемой сети arping вообще бесполезен. arp только для прямой видимости]. Или хост блокирует пинги (все, включая ICMP)? [прим: если дорога до этого хоста маршрутизируема, то здесь уже ничто не поможет]. Вы будете расстроены. Или воспользуйтесь arping.

Deleted ()
Ответ на: комментарий от Deleted

нет, конечно можно через шлюз пробросить arp, но это уже называется apr-proxy, что по-сути уже является эмуляцие прямой видимости.

Deleted ()

хорошая тулза, нужная. гратз!

k0l0b0k ★★ ()
Ответ на: комментарий от Deleted

Пара замечаний по попытке перевода:

Or the host blocks ping (all ICMP even)?/ Или хост блокирует пинги (все, включая ICMP)?


«Или хост блокирует пинги (или даже весь ICMP)?»

Вы будете расстроены.


При всем моем глубочайшем уважении, данная фраза не является переводом английского «Then you're screwed». Поверьте, сударь, в том, чтобы сказать «Тогда вы в жопе», нет ничего зазорного.

shimon ★★★★★ ()
Ответ на: комментарий от shimon

>«Или хост блокирует пинги (или даже весь ICMP)?»

упс, и вправду :) ступил.

Поверьте, сударь, в том, чтобы сказать «Тогда вы в жопе»

ну не знаю, хотелось литературности :)

Deleted ()
Ответ на: комментарий от Deleted

Очень литературно. Маяковский и не такое про онанистов писал, а он Поэт же, мать етить.

shimon ★★★★★ ()

Что-то вобще не понятно зачем эта софтинка нужна и в каких случаях может быть полезна. Ещё забавнее пересение в названии с другой утилитой.

han ()
Ответ на: комментарий от han

Что-то вобще не понятно зачем эта софтинка нужна

ping с помощью ARP

и в каких случаях может быть полезна.

когда target режет ICMP

Ещё забавнее пересение в названии с другой утилитой.

Какой?!

Boy_from_Jungle ★★★★ ()

> вычислять IP адрес по MAC, минуя ARP кэш

Господа, чтоб вас так разэдак! Что за 4.2 во всех полях?

Вы хоть читаете что пишете? Вникаете? ARP занимается решением вопроса IPv4→MAC, но не в обратную сторону. В обратную сторону работают т.н. RARP и InARP (поддержка которых, впрочем, в дикой природе почти не встречается, вроде как).

ARP устроен примитивнейше просто: 1. Шлем L2-бродкастом (ff:ff:ff:ff:ff:ff) ARP-запрос «who-has» с интересующм нас IPv4-адресом, скажем, «у кого 10.0.0.1?». 2. Хост, у которого есть этот адрес отвечает на наш L2-адрес (MAC), «у меня 10.0.0.1». Мы запоминаем MAC-адрес, и дальше, когда хотим общаться с 10.0.0.1 знаем как с ним (по L2) связаться. Если не встречаем - работаем через гейтвей нужного маршрута, бла бла бла.

Обратного в ARP («эй, 01:02:03:ff:fe:fc, какой(-ие) у тебя IPv4?») не предусмотрено.

anonymous ()
Ответ на: комментарий от mx_

> насколько я понял при ип6 этот инструмент будет не нужен.

Тама не будет таблицы арпов.

Там есть NDP (Neighbor Discovery Protocol), он вместо ARP.

anonymous ()
Ответ на: комментарий от han

> Что-то вобще не понятно зачем эта софтинка нужна и в каких случаях может быть полезна.

Есть сеть. В ней есть компы с оффтопик-ОС. В которой умные маши из известной Корпорации отключили ICMP echo начисто, так что ping банально не работает. И есть сисадмин, который хочет узнать ответы на вопрос о смысле жизни, вселенной и работает ли у него сетка.

И вот когда у него (из-за зарубленного ICMP) не работает ping 10.0.0.1 он и делает чудесное arping 10.0.0.1, на которое, слава разуму, оффтопик все же отвечает. Довольный познанием что связь есть сисадмин уходит заниматься делами. Или чинить сеть, если познания радикально обратны.

anonymous ()
Ответ на: комментарий от anonymous

> И вот когда у него (из-за зарубленного ICMP) не работает ping 10.0.0.1 он и делает чудесное arping 10.0.0.1 [...]

To make the story short (а то много лирики): чтобы проверять работает ли сеть на L2-уровне.

Use case: вендоюзер говорит что у него интернеты не открываются и вообще беда. Тогда arping (при условии плоской сети, конечно) проверяет жив ли второй и, частично, третий уровень, и беда ли в юзерской машине или же сети.

anonymous ()
Ответ на: комментарий от shimon

> Зато InARP (RFC 2390) таки есть

Конечно есть. В виде RFC, о чем я тоже написал.

А с реализациями как-то хуже, ни одной не видел в живой дикой природе.

Единственно рабочим практическим решением оказывается (хаха!) под 2^{32} бродкастов выслать, чтобы узнать какой IPv4-адрес у неизвестного хоста.

anonymous ()
Ответ на: комментарий от anonymous

> Единственно рабочим практическим решением оказывается (хаха!) под 2^{32} бродкастов выслать, чтобы узнать какой IPv4-адрес у неизвестного хоста.

Не является. Если хост в другом сегменте сети, будет тебе от роутера кукиш, а не броадкаст.

shimon ★★★★★ ()
Ответ на: комментарий от anonymous

>Единственно рабочим практическим решением оказывается (хаха!) под 2^{32} бродкастов выслать, чтобы узнать какой IPv4-адрес у неизвестного хоста.

Сразу видно, что пацан не знает, что такое сеть и умное оборудование, которое умеет резать все протоколы, кроме ARP и IP. Прописываешь привязки IP-MAC на порту и все леваки сразу видны.

Hug37r011 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.