Почему я не получаю ответ ARP с этим запросом?

Используя pcap_sendpacket в C я вручную пересылаю следующий пакет wlan0 (Я не учел некоторые поля, но я думаю, что они корректны):

(Ethernet layer)
eth src:  <wlan0 MAC address>
eth dest: <wireless router MAC address>
(ARP request layer)
opcode: 1 (Request)
sender_hw: <wlan0 MAC address>
sender_proto: 192.168.1.3 (IP of wlan0)
target_hw: 0 (per usual)
target_proto: 173.194.46.72 (Google.com)

Используя Wireshark для слушания на wlan0, Я ожидаю видеть, что ответ ARP дает мне MAC-адрес сервера Google. Однако я не вижу, что любые ответы ARP содержат IP Google вообще.

Одна вещь отметить состоит в том, что я создаю этот пакет путем прерывания запроса ARP, отправленного на виртуальный сетевой интерфейс (пакет сгенерирован, когда я использую ping команда из виртуального netspace), затем переписывая пакет и вводя его на wlan0 использование pcap, так, чтобы я мог позже получить ответ ARP и передать его назад виртуальной сети. Поэтому я относительно уверен, что другие поля в пакете корректны, так как я действительно не изменил их.

Кто-либо знает то, что могло бы быть проблемой здесь? Одна вещь я - вид того, чтобы замечать, состоит в том, что у меня нет IP-адреса (192.168.1.1) своего маршрутизатора нигде в том пакете; не действительно уверенный, нужно ли мне это или нет.

0
задан 8 November 2014 в 01:44
2 ответа

Google nu se află în rețeaua dvs. de LAN, deci nu puteți obține un răspuns.
Trebuie să utilizați DNS pentru a obține ip-ul de la adresă și le puteți face ping.

0
ответ дан 4 December 2019 в 13:54

Вы _NOT_ получаете ARP-ответ, потому что в вашем широковещательном домене [1] (также известном как локальный сегмент [W] LAN) есть _NOT_ хост, IP-адрес которого является тем, для которого вы ARPing (173.194.46.72).

Чтобы быть более подробным, позвольте мне добавить, что:

  • ARP - это протокол уровня 2 [2] и, следовательно, как уже упоминалось в Zoredache : « ... ARP не проходит через маршрутизатор ... ». Обычно ARP-запрос отправляется через «широковещательный» Ethernet-кадр. Вот почему он не может пересекать локальный ... широковещательный домен;

  • даже если вы наверняка можете ARP-запрос для любого IP-адреса, который вам больше нравится (включая Google 173.194.46.72), вы _NOT_ получите любой ARP-ответ (кроме случаев, когда «... Google находится в вашей локальной сети ...», как указано в комментарии M.Hampton выше), потому что в таком случае:

    • Каждый хост на вашем LAN будет физически получать и обрабатывать широковещательный кадр, сгенерированный вашим ARP-запросом. Следовательно ...
    • ... каждый хост обнаружит, что он содержит ARP-запрос для 173.194.46.72. Следовательно ...
    • ... поскольку каждый хост в вашей локальной сети настроен с другим IP-адресом (если, опять же, ваш "Google");
    • ни один хост не будет отправлять ARP- ответить !

К сожалению, мне не ясно, какую именно проблему вы пытаетесь решить. В любом случае вам может быть полезно вкратце изучить:

  • " беспричинный ARP " [3], который следует обратной схеме по отношению к общему ARP-Request => Arp-Reply, который вы тестируете;

  • " подмена / отравление ARP " [4], относительно " отказ в обслуживании " / " человек посередине " / " захват сеанса "атаки, которые могут быть у вас;

  • " ARPing "[5], как очень простой способ отправить ARP-запрос и проверить ARP-ответ. Это очень полезно, среди других случаев:

    • для проверки сетевого соединения (для хостов, подключенных к локальной сети), даже когда брандмауэр IP настроен на удаленном хосте (другими словами: вы можете ARP-пинговать локально подключенный хост Windows даже когда брандмауэр Windows активен);

    • для получения MAC-адресов хостов-нарушителей, когда такие хосты настроены с одним и тем же IP-адресом (вы отправите ONE ARP-запрос и получите ответ НЕСКОЛЬКО ARP-ответа);

  • " Ettercap " [6], " ... комплексный пакет для атак типа" человек посередине ". Он включает в себя сниффинг живых соединений, фильтрацию контента на лету и многие другие интересные приемы . Он поддерживает активное и пассивное рассечение многих протоколов и включает множество функций для анализа сети и хоста ... "


[1] http://en.wikipedia.org/wiki/Broadcast_domain

[2] http: // en .wikipedia.org / wiki / Address_Resolution_Protocol

[3] http://en.wikipedia.org/wiki/Address_Resolution_Protocol#ARP_announcements

[4] http://en.wikipedia.org/wiki/ARP_spoofing

[5] http: // en .wikipedia.org / wiki / Arping

[5] http://ettercap.github.io/ettercap/

2
ответ дан 4 December 2019 в 13:54

Теги

Похожие вопросы