Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Перевод адаптера в неразборчивый режим


Автор: Brain89 6.5.2011, 17:36
Хочу только с помощью средств .NET перевести адаптер в неразборчивый режим (promiscuous mode). Для этого создаю "сырой" сокет:
Код

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);

Затем привязываю ко всем интерфейсам на 80 порту:
Код

s.Bind(new IPEndPoint(IPAddress.Any, 80));

А после хочу включить на адаптере получение всех пакетов:
Код

byte[] inValue = BitConverter.GetBytes(1);  
s.IOControl(IOControlCode.ReceiveAll, inValue, null);

Но программа вылетает с SocketException: "Получен недопустимый аргумент".
Что я делаю не так, подскажите? Или я совсем не так делаю?
Заранее спасибо.

Добавлено через 14 минут и 12 секунд
Все, разобрался. Извиняюсь за поспешно созданную тему. Кому будет интересно, как решить подобную проблему, вот тут есть хороший пример:
http://www.codeproject.com/KB/IP/CSNetworkSniffer.aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)