Como desativo o multicast na pilha TCP/IP para Windows?

Como desativo o multicast na pilha TCP/IP para Windows?

Gostaria de desabilitar completamente o suporte da pilha TCP/IP para multicast no Windows para fins de diagnóstico. Como eu faço isso?

Estou tentando fazer isso no Windows XP, mas se nada puder ser fornecido, instruções para outras versões também serão aceitáveis ​​(SKUs de servidor e cliente, todas as variações, entre versões também).

Responder1

O firewall Win7 tem uma opção de bloqueio de IGMP

regras de entrada, nova regra, Personalizado, escolha Protocolo e escolha IGMP. regras de saída, nova regra, idem

Não vejo essa opção no firewall do XP. Ele conhece o ICMP, mas não o IGMP.

O seguinte está na resposta do Morbid

win7

http://technet.microsoft.com/en-us/library/cc957547.aspx HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IGMPLevel <-- set to 0 isso está dentro da "resposta" mórbida.

Defina IGMPLevel como 0

Win XP

http://support.microsoft.com/kb/314053/en-gb

todos os parâmetros TCP/IP são valores de registro localizados em uma das duas subchaves diferentes de

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

e

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ID for Adapter

Nessas chaves, defina IGMPLevel como 0


Eu não testei, porém, e em meus sistemas, no meu sistema Win7 ou no meu sistema XP. Enquanto as chaves estão lá, o nome (IGMPLevel) não está no meu registro nessas chaves. Então, no meu caso, eu teria que criá-lo.

Responder2

* Atualizado para refletir a resposta e corrigir meu erro ao ler a pergunta corretamente. ;) 25/07/2014

Como desativo o multicast na pilha TCP/IP para Windows?

Gostaria de desabilitar completamente o suporte da pilha TCP/IP para multicast no Windows para fins de diagnóstico. Como eu faço isso?

Estou tentando fazer isso no Windows XP, mas se nada puder ser fornecido, instruções para outras versões também serão aceitáveis ​​(SKUs de servidor e cliente, todas as variações, entre versões também).

parece que desconsiderei a parte do multicast, que já estava ativa há algum tempo .. no que diz respeito ao multicast, parece que você tem algumas opções:

como aqui consulte:Forçar o Windows 7 SP1 a desabilitar o Multicast nas NICs

e aqui:Parâmetros de configuração TCP/IP e NBT para Windows XP (Q314053)

RESUMO

Este artigo define todos os parâmetros do Registro usados ​​para configurar o driver de protocolo, Tcpip.sys, que implementa os protocolos de rede TCP/IP padrão.

A implementação do conjunto de protocolos TCP/IP para Windows XP lê todos os seus dados de configuração do registro. Essas informações são gravadas no Registro pela ferramenta Rede no Painel de Controle como parte do processo de Instalação. Algumas dessas informações também são fornecidas pelo serviço Cliente DHCP (Dynamic Host Configuration Protocol) se o serviço Cliente DHCP estiver habilitado... Consulte Mais informação.

Para obter informações sobre como editar o registro, consulte o tópico da Ajuda "Alterando Chaves e Valores" no Editor do Registro (Regedit.exe) ou os tópicos da Ajuda "Adicionar e Excluir Informações no Registro" e "Editar Dados do Registro" no Regedt32.exe . Observe que você deve fazer backup do registro antes de editá-lo. Se você estiver executando o Windows NT ou o Windows 2000, também deverá atualizar o disco de reparo de emergência (ERD).

Para alterar esses parâmetros, use o seguinte procedimento:

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.

Todos os parâmetros TCP/IP são valores de registro localizados em uma das duas subchaves diferentes do

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Tcpip\Parameters
Tcpip\Parameters\Interfaces\ ID for Adapter 

onde ID para Adaptador representa o adaptador de rede ao qual o TCP/IP está vinculado. O relacionamento entre um ID do adaptador e a conexão de rede pode ser determinado examinando HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network{4D36E972-E325-11CE-BFC1-08002BE10318}\ ID para adaptador \Connection. O valor Name nessas chaves fornece o nome amigável para uma conexão de rede usada na pasta Conexões de Rede. Os valores nas últimas chaves são específicos para cada adaptador. Os parâmetros para os quais pode haver um DHCP e um valor configurado estaticamente podem ou não existir, dependendo se o sistema/adaptador está configurado para DHCP e se os valores de substituição estática foram especificados. É necessário reiniciar o sistema para que uma alteração em qualquer um desses parâmetros tenha efeito...

Esta é a chave que você está procurando, eu acredito:

>IGMPLevel

    Key: Tcpip\Parameters
    Value Type: REG_DWORD - Number
    Valid Range: 0,1,2
    Default: 2

Este parâmetro determina até que ponto o sistema suporta multicasting IP e participa do Internet Group Management Protocol. No nível 0, o sistema não oferece suporte multicast. No nível 1, o sistema só pode enviar pacotes IP multicast. No nível 2, o sistema pode enviar pacotes IP multicast e participar totalmente do IGMP para receber pacotes multicast.

Você deve definir a chave de registro como 0 para não ter suporte multicast.


espero que isso ajude um pouco mais do que a resposta anterior. lol :)


Editado por favor desconsidere abaixo:


Resposta à pergunta "Como desativo a pilha TCP/IP para Windows?":

Você não pode! Você pode reinstalar ou redefinir.

"No Windows XP, a pilha TCP/IP é considerada um componente central do sistema operacional e você não pode remover o TCP/IP."

"Em casos extremos, a melhor solução para esse problema pode ser reinstalar a pilha IP. Mas com o utilitário NetShell, você pode redefinir a pilha TCP/IP para restaurá-la ao estado que existia quando o sistema operacional foi instalado"

http://support.microsoft.com/kb/299357

consulte aqui:http://www.techrepublic.com/forums/questions/how-to-uninstall-tcp-ip-in-win-xp/post-6ca59f30-d1ff-11e2-bc00-02911874f8c8/

consulte também aqui: "Como desativar a pilha TCP/IP do Windows no VC++ [programaticamente]"conforme citado abaixo...

Como desativar a pilha TCP/IP do Windows no VC++ [programaticamente]

queria saber como desativar a pilha TCP/IP do Windows no VC++ [programaticamente].

Estamos fazendo alguma programação de soquete bruto usando winpcap. Portanto, nosso aplicativo não precisa da pilha TCP/IP do Windows e queremos desinstalá-lo no momento em que nosso aplicativo for iniciado.

Por favor ajude.

Desde já, obrigado.


A pilha TCP/IP é uma parte essencial de qualquer sistema operacional moderno, incluindo versões recentes do MS Windows. Como explicado emBase de conhecimento MS Q299357(falando sobre Win XP):

Como o TCP/IP é um componente central do Windows, não é possível removê-lo.

De qualquer forma, mesmo que fosse possível, nenhum programa que usa TCP/IP (que é o software mais moderno, já que a maioria contém algum tipo de integração de rede, atualização automática etc.) funcionaria, e a maioria provavelmente falharia de maneiras misteriosas, já que ninguém testou essa configuração.

Portanto, a resposta curta é: não faça isso.

Talvez você possa explicar por que acha necessário remover a rede TCP/IP? Então talvez possamos ajudá-lo.

Editar:

Com base no seu comentário abaixo, se você quiser ignorar/desabilitar o manuseio ARP da pilha TCP/IP, o WinPcap deverá permitir que você faça isso. Caso contrário, você provavelmente precisará escrever seu próprio driver de rede do Windows. Novamente, isso parece extremamente complicado e intrusivo. Você poderia descrever o que seu aplicativo faz e por que você precisa mexer com redes de baixo nível?

Parece fútil, meu amigo, se a resposta à sua pergunta fornão, você não pode.

Responder3

Eu estava procurando essas chaves no registro do XP e não consegui encontrá-las, então encontrei uma solução melhor:

Em um prompt de comando elevado:

C:\Windows\system32> netsh
netsh>firewall
netsh firewall>set multicastbroadcastresponse disable
netsh firewall>set multicastbroadcastresponse mode=disable profile=all

Para verificar se a configuração está correta, escreva:

netsh firewall>show multicastbrodcastresponse

netsh windows xp

Fonte:Site da Microsoft – “Comandos Netsh para Firewall do Windows”

A chave de registro IGMPLevel não existe no XP, como mostra a imagem acima. Entretanto, essa chave de registro deve ser criada para existir.

Nenhuma chave de registro IGMPLevel - Windows XP

A menos que a chave de registro no XP seja: "UseZeroBroadcast" . De qualquer forma, como dito antes, funciona no meu XP, pelo menos o wireshark não detecta pacotes de transmissão para 224.0.0.1 ou 239.255.255.255.

IMPORTANTE: netsh firewallestá obsoleto em versões mais recentes do Windows; use netsh advfirewall firewallem vez disso. Para obter mais informações sobre como usar netsh advfirewall firewallcomandos em vez de netsh firewall, consulteArtigo da base de conhecimento 947709: “Como usar o netsh advfirewall firewallcontexto em vez do netsh firewallcontexto para controlar o comportamento do Firewall do Windows no Windows Server 2008 e no Windows Vista”.

informação relacionada