Я хотел бы полностью отключить поддержку многоадресной рассылки в стеке TCP/IP в Windows в целях диагностики. Как это сделать?
Я собираюсь сделать это на Windows XP, но если таковых не будет, то приемлемы также инструкции для других версий (серверные и клиентские SKU, все вариации, а также для разных версий).
решение1
В брандмауэре Win7 есть опция блокировки IGMP
входящие правила, новое правило, Пользовательский, выберите Протокол, затем выберите IGMP. исходящие правила, новое правило, то же самое
Я не вижу такой опции в фаерволе XP. Он знает ICMP, но не IGMP.
Следующее есть в ответе Морбида
win7
http://technet.microsoft.com/en-us/library/cc957547.aspx HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IGMPLevel <-- set to 0
это своего рода «ответ» morbid.
Установите IGMPLevel на 0
WinXP
http://support.microsoft.com/kb/314053/en-gb
все параметры TCP/IP являются значениями реестра, которые находятся в одном из двух различных подразделов
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
и
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ID for Adapter
В этих ключах установите IGMPLevel на 0.
Я не тестировал это, хотя и на моих системах, на моей системе Win7 или моей системе XP.. Хотя ключи есть, имя (IGMPLevel) отсутствует в моем реестре в этих ключах. Так что в моем случае мне пришлось бы создать его.
решение2
*Обновлено, чтобы отразить ответ и исправить мою ошибку при правильном прочтении вопроса. ;) 2014.07.25
Как отключить многоадресную передачу в стеке TCP/IP для Windows?
Я хотел бы полностью отключить поддержку многоадресной рассылки в стеке TCP/IP в Windows в целях диагностики. Как это сделать?
Я собираюсь сделать это на Windows XP, но если таковых не будет, то приемлемы также инструкции для других версий (серверные и клиентские SKU, все вариации, а также для разных версий).
похоже, я проигнорировал часть о многоадресной рассылке, которая уже некоторое время не работает. что касается многоадресной рассылки, то, похоже, у вас есть несколько вариантов:
что касается здесь ссылки:Принудительное отключение многоадресной передачи на сетевых картах в Windows 7 SP1
и здесь:Параметры конфигурации TCP/IP и NBT для Windows XP (Q314053)
КРАТКОЕ СОДЕРЖАНИЕ
В этой статье определяются все параметры реестра, используемые для настройки драйвера протокола Tcpip.sys, реализующего стандартные сетевые протоколы TCP/IP.
Реализация набора протоколов TCP/IP для Windows XP считывает все данные конфигурации из реестра. Эта информация записывается в реестр инструментом «Сеть» на панели управления в рамках процесса настройки. Часть этой информации также предоставляется службой клиента протокола динамической конфигурации хоста (DHCP), если служба клиента DHCP включена... Читать далее.
Для получения информации о том, как редактировать реестр, просмотрите раздел справки "Изменение ключей и значений" в редакторе реестра (Regedit.exe) или разделы справки "Добавление и удаление информации в реестре" и "Изменение данных реестра" в Regedt32.exe. Обратите внимание, что перед редактированием реестра следует создать его резервную копию. Если вы используете Windows NT или Windows 2000, следует также обновить диск аварийного восстановления (ERD).
Чтобы изменить эти параметры, используйте следующую процедуру:
Start Registry Editor (Regedit.exe).
From the HKEY_LOCAL_MACHINE subtree, go to the following key:
>\SYSTEM\CurrentControlSet\Services
Add a value to the key as described in the appropriate
entry below by clicking Add Value on the Edit menu, typing
the value, and then setting the value type under Data Type .
Click OK .
Quit Registry Editor.
Restart the computer to make the change take effect.
Все параметры TCP/IP являются значениями реестра, которые находятся в одном из двух различных подразделов
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Tcpip\Parameters
Tcpip\Parameters\Interfaces\ ID for Adapter
где ID для адаптера представляет сетевой адаптер, к которому привязан TCP/IP. Связь между ID адаптера и сетевым подключением можно определить, изучив HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network{4D36E972-E325-11CE-BFC1-08002BE10318}\ ID для адаптера \Connection. Значение Name в этих ключах предоставляет понятное имя для сетевого подключения, используемого в папке Network Connections. Значения в последних ключах являются специфичными для каждого адаптера. Параметры, для которых могут быть как DHCP, так и статически настроенное значение, могут существовать или не существовать в зависимости от того, настроена ли система/адаптер на DHCP и были ли указаны статические значения переопределения. Для вступления изменений в силу любого из этих параметров требуется перезапуск системы...
Я верю, что это тот ключ, который вы ищете:
>IGMPLevel
Key: Tcpip\Parameters
Value Type: REG_DWORD - Number
Valid Range: 0,1,2
Default: 2
Этот параметр определяет, в какой степени система поддерживает многоадресную рассылку IP и участвует в протоколе управления группами Интернета. На уровне 0 система не поддерживает многоадресную рассылку. На уровне 1 система может отправлять только многоадресные пакеты IP. На уровне 2 система может отправлять многоадресные пакеты IP и полностью участвовать в IGMP для получения многоадресных пакетов.
Чтобы отключить поддержку многоадресной рассылки, необходимо установить значение ключа реестра на 0.
надеюсь, это поможет немного больше, чем предыдущий ответ. лол :)
Отредактировано, пожалуйста, проигнорируйте следующее:
Ответ на вопрос «Как отключить стек TCP/IP для Windows?»:
Вы не можете! Вы можете переустановить или сбросить настройки.
«В Windows XP стек TCP/IP считается основным компонентом операционной системы, и удалить TCP/IP невозможно».
«В крайних случаях лучшим решением этой проблемы может стать переустановка стека IP. Но с помощью утилиты NetShell вы можете сбросить стек TCP/IP, чтобы восстановить его в том состоянии, в котором он существовал при установке операционной системы».
также см. здесь: "Как отключить стек Windows TCP/IP в VC++ [программно]"как процитировано ниже...
Как отключить стек Windows TCP/IP в VC++ [программно]
хотел узнать, как отключить стек Windows TCP/IP в VC++ [программно].
Мы делаем некоторое программирование сырых сокетов с помощью winpcap. Поэтому нашему приложению не нужен стек Windows TCP/IP, и мы хотим удалить его в момент запуска нашего приложения.
Пожалуйста помоги.
Заранее спасибо.
Стек TCP/IP является неотъемлемой частью любой современной ОС, включая последние версии MS Windows. Как поясняется наБаза знаний MS Q299357(речь идет о Win XP):
Поскольку TCP/IP является основным компонентом Windows, удалить его невозможно.
В любом случае, даже если бы это было возможно, ни одна программа, использующая TCP/IP (а это самое современное программное обеспечение, поскольку большинство из них содержат какую-то сетевую интеграцию, автоматическое обновление и т. д.), не будет работать, а большинство, вероятно, по непонятным причинам выйдут из строя, поскольку никто не тестировал эту конфигурацию.
Поэтому короткий ответ: не делайте этого.
Может быть, вы могли бы объяснить, почему вы считаете необходимым удалить TCP/IP-сеть? Тогда мы, возможно, сможем вам помочь.
Редактировать:
Исходя из вашего комментария ниже, если вы хотите обойти/отключить обработку ARP стека TCP/IP, то WinPcap должен позволить вам это сделать. Если нет, вам, вероятно, нужно написать свой собственный сетевой драйвер Windows. Опять же, это кажется чрезвычайно сложным и навязчивым. Не могли бы вы описать, что делает ваше приложение и почему вам вообще нужно возиться с низкоуровневыми сетями?
Кажется бесполезным, мой друг, если это ответ на твой вопрос, то это так.нет, ты не можешь.
решение3
Я искал эти ключи в реестре XP и не смог их найти, поэтому нашел лучшее решение:
В командной строке с повышенными привилегиями:
C:\Windows\system32> netsh
netsh>firewall
netsh firewall>set multicastbroadcastresponse disable
netsh firewall>set multicastbroadcastresponse mode=disable profile=all
Чтобы проверить, в порядке ли конфигурация, напишите:
netsh firewall>show multicastbrodcastresponse
Источник:Веб-сайт Microsoft – «Команды Netsh для брандмауэра Windows»
Ключ реестра IGMPLevel не существует в XP, как показано на рисунке выше. Однако этот ключ реестра должен быть создан, чтобы существовать.
Если только ключ реестра в XP не: "UseZeroBroadcast". В любом случае, как я уже говорил, в моем XP это работает, по крайней мере, Wireshark не обнаруживает широковещательные пакеты на 224.0.0.1 или на 239.255.255.255.
ВАЖНО: netsh firewall
устарело в более поздних версиях Windows; используйте netsh advfirewall firewall
вместо него. Для получения дополнительной информации об использовании netsh advfirewall firewall
команд вместо netsh firewall
см.Статья КБ 947709: «Как использовать контекст netsh advfirewall firewall
вместо контекста netsh firewall
для управления поведением брандмауэра Windows в Windows Server 2008 и Windows Vista».