NI C включен неразборчивый режим, одноадресные пакеты не перехватываются - PullRequest
1 голос
/ 10 июля 2020

У меня NI C работает в неразборчивом режиме, установленном в моем драйвере. Я использую проводное соединение между тремя машинами на одном su bnet (отправка одноадресных сообщений UDP).

  endM2Init (&pDrvCtrl->geiEndObj, M2_ifType_ethernet_csmacd,
        pDrvCtrl->geiAddr, ETHER_ADDR_LEN, pDrvCtrl->geiMaxMtu, 100000000,
        IFF_NOTRAILERS | IFF_SIMPLEX | IFF_MULTICAST | IFF_BROADCAST | IFF_PROMISC);

Когда я проверяю адрес назначения в заголовке пакета, единственные пакеты, которые на самом деле перехватываются, как правило, широковещательные сообщения (адрес источника правильный, но я не могу перехватить одноадресные пакеты).

Если я направлю пакет на машину, выполняющую обнюхивание, я все равно могу увидеть одноадресный пакет без каких-либо проблем.

Сначала я предположил, что это произошло потому, что мой локальный коммутатор управлял пакетами. Я использовал веб-интерфейс для указанного коммутатора c и включил зеркалирование портов (например, порт источника 1, порт назначения 7). Однако это дало те же результаты. Насколько я понимаю, при зеркалировании портов на коммутаторе все, что предназначено для порта 1, также отправляется на порт 7.

Затем я попытался установить прямое соединение с машины A на машину B, при этом все еще отправляя одноадресные пакеты, теперь отключенному , машина C, чтобы увидеть, увидит ли машина B какие-либо изменения в прослушивании пакетов. Это снова дало те же результаты.

Если машина A и машина B подключены напрямую, имеет ли смысл ожидать, что машина B перехватит пакеты, предназначенные для адреса, даже не входящего в l oop? Я признателен за любые комментарии / ответы относительно этого топи c.

...