Один из интерфейсов (на чипе Winbond wb0) надо держать в promisc-режиме (так сложилось, что таким образом в настоящий момент приходится считать трафик). Меня не устраивает, что переведенный в промиск-режим интерфейс пытается слать ответы на чужие пакеты. В результате имеем DUP'ы. Однако, когда промиск включен tcpdump'ом все работает корректно. Обнаруживается разница в флагах:
promisc-режим включен при помощи ifconfig wb0 promisc
wb0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
promisc-режим выключен при помощи ifconfig wb0 -promisc
wb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>
А теперь карточку переведем в промиск при помощи tcpdump -i wb0
wb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
Теперь, собственно, вопросы. Как заставить интерфейс "чужое" только слушать, т.е. как в tcpdump? Чем promisc в tcpdump'е отличается от ifconfig'а? Можно ли как-нибудь выставить флаги в нужное значение, просто указав это значение? Что я сделал не так
