診断の目的で、Windows 上の TCP/IP スタックのマルチキャスト サポートを完全に無効にしたいのですが、どうすればいいですか?
私はこれを Windows XP で実行しようとしていますが、何も提供できない場合は、他のバージョンの手順も受け入れ可能です (サーバーおよびクライアント SKU、すべてのバリエーション、バージョン間も同様)。
答え1
Win7ファイアウォールにはIGMPをブロックするオプションがある
受信ルール、新しいルール、カスタム、プロトコルを選択、IGMPを選択。送信ルール、新しいルール、同じ
XP ファイアウォールにはそのようなオプションはありません。ICMP は認識しますが、IGMP は認識しません。
以下はMorbidの回答の一部です
ウィン7
http://technet.microsoft.com/en-us/library/cc957547.aspx HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IGMPLevel <-- set to 0
それは一種のモービッドの「答え」の範囲内です。
IGMPレベルを0に設定する
Windows XP の場合
http://support.microsoft.com/kb/314053/ja-jp
すべてのTCP/IPパラメータは、次の2つの異なるサブキーのいずれかの下にあるレジストリ値です。
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
Windows の TCP/IP スタックでマルチキャストを無効にする方法を教えてください。
診断の目的で、Windows 上の TCP/IP スタックのマルチキャスト サポートを完全に無効にしたいのですが、どうすればいいですか?
私はこれを Windows XP で実行しようとしていますが、何も提供できない場合は、他のバージョンの手順も受け入れ可能です (サーバーおよびクライアント SKU、すべてのバリエーション、バージョン間も同様)。
マルチキャストの部分を無視していたようです。しばらく前から私のミスです。マルチキャストに関しては、いくつかのオプションがあるようです。
ここで参照:Windows 7 SP1 で NIC 上のマルチキャストを無効にする
そしてここ:Windows XP の TCP/IP および NBT 構成パラメータ (Q314053)
まとめ
この記事では、標準の TCP/IP ネットワーク プロトコルを実装するプロトコル ドライバー Tcpip.sys を構成するために使用されるすべてのレジストリ パラメーターを定義します。
Windows XP の TCP/IP プロトコル スイート実装は、すべての構成データをレジストリから読み取ります。この情報は、セットアップ プロセスの一環として、コントロール パネルのネットワーク ツールによってレジストリに書き込まれます。この情報の一部は、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パラメータは、以下の2つの異なるサブキーのいずれかの下にあるレジストリ値です。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Tcpip\Parameters
Tcpip\Parameters\Interfaces\ ID for Adapter
ここで、ID for Adapter は、TCP/IP がバインドされているネットワーク アダプタを表します。アダプタ ID とネットワーク接続の関係は、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network{4D36E972-E325-11CE-BFC1-08002BE10318}\ ID for Adapter \Connection を調べることで判断できます。これらのキーの Name 値は、ネットワーク接続フォルダで使用されるネットワーク接続のフレンドリ名を提供します。後者のキーの値は、各アダプタに固有です。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 に設定する必要があります。
これが前の回答よりも少しでも役立つことを願っています。笑 :)
編集済みなので以下は無視してください:
「Windows の TCP/IP スタックを無効にするにはどうすればよいですか?」という質問に対する回答:
できません! 再インストールまたはリセットできます。
「Windows XP では、TCP/IP スタックはオペレーティング システムのコア コンポーネントと見なされており、TCP/IP を削除することはできません。」
「極端な場合、この問題に対する最善の解決策は、IP スタックを再インストールすることかもしれません。ただし、NetShell ユーティリティを使用すると、TCP/IP スタックをリセットして、オペレーティング システムがインストールされたときの状態に復元できます。」
こちらも参照してください: "VC++ で Windows TCP/IP スタックを無効にする方法 [プログラムで]以下に引用します...
VC++ で Windows TCP/IP スタックを無効にする方法 [プログラムで]
VC++ で Windows TCP/IP スタックを無効にする方法 (プログラムで) を知りたいです。
私たちは、winpcap を使用していくつかの raw ソケット プログラミングを行っています。したがって、私たちのアプリケーションは Windows TCP/IP スタックを必要としないので、アプリケーションの起動時にそれをアンインストールしたいと考えています。
助けてください。
前もって感謝します。
TCP/IPスタックは、最近のバージョンのMS Windowsを含むあらゆる現代のOSに不可欠な部分です。MS ナレッジベース Q299357(Win XP について):
TCP/IP は Windows のコア コンポーネントであるため、削除することはできません。
いずれにせよ、たとえ可能であったとしても、TCP/IP を使用するプログラム (ほとんどの最新ソフトウェアは、何らかのネット統合、自動更新などを備えているため、TCP/IP が該当します) は動作せず、その構成をテストした人がいないため、ほとんどのプログラムは不可解な方法で失敗する可能性があります。
したがって、簡単に答えると、「やらない」ということです。
TCP/IP ネットワークを削除する必要があるとお考えの理由を説明していただけますか? そうすれば、私たちがお手伝いできるかもしれません。
編集:
以下のコメントによると、TCP/IP スタックの ARP 処理をバイパス/無効にしたい場合は、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 ウェブサイト – 「Windows ファイアウォールの Netsh コマンド」
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
KB 記事 947709: 「 Windows Server 2008 および Windows Vista で Windows ファイアウォールの動作を制御するために、コンテキストnetsh advfirewall firewall
の代わりにコンテキストを使用する方法」。netsh firewall