組み込み系機器(Wi-Fi APなど)がネットワークに繋がらなくなったりフリーズしたりする症状が発生したのでWiresharkで覗いたところ、Windows 11マシンがやたら22222ポートと10004ポート、3289ポート宛にUDPでブロードキャストしていた。
Windows 10では起きていない感じだが詳細不明。
とりあえず発生しているマシンで以下のプログラムを管理者権限で動かしてもらい上記ブロードキャストを強制的に発信しないようにしてもらった。
下記のプログラムをコンパイルするにはVisual Studio 2022にて「コンソールアプリ(.NET Framework)Visual Basic」でプロジェクトを作ってCOMのNetFwTypeLibを参照する必要があります。
Imports NetFwTypeLib Module Module1 'Private Const NET_FW_IP_PROTOCOL_ICMPv4 = 1 'Private Const NET_FW_IP_PROTOCOL_TCP = 6 Private Const NET_FW_IP_PROTOCOL_UDP = 17 Private Const NET_FW_ACTION_BLOCK = 0 'Private Const NET_FW_ACTION_ALLOW = 1 'Private Const NET_FW_RULE_DIR_IN = 1 Private Const NET_FW_RULE_DIR_OUT = 2 'Private Const NET_FW_PROFILE2_DOMAIN = 1 'Private Const NET_FW_PROFILE2_PRIVATE = 2 'Private Const NET_FW_PROFILE2_PUBLIC = 4 Private Const NET_FW_PROFILE2_ALL = &H7FFFFFFF Public Sub BlockUDP(ByVal RuleName As String, ByVal RuleDescription As String, ByVal RulePort As Long) Dim fwPolicy2 As Object = CreateObject("HNetCfg.FwPolicy2") Dim NewRule As Object = CreateObject("HNetCfg.FWRule") Dim RulesObject As Object = fwPolicy2.Rules NewRule.Name = RuleName NewRule.Description = RuleDescription NewRule.Protocol = NET_FW_IP_PROTOCOL_UDP NewRule.Direction = NET_FW_RULE_DIR_OUT NewRule.RemotePorts = RulePort NewRule.Grouping = "@firewallapi.dll,-23255" NewRule.Profiles = NET_FW_PROFILE2_ALL NewRule.Enabled = True NewRule.Action = NET_FW_ACTION_BLOCK Try RulesObject.Add(NewRule) Catch ex As Exception WriteLine(ex.Message & vbNewLine & ex.StackTrace) End Try End Sub Sub Main() BlockUDP("Block 22222", "", 22222) BlockUDP("Block 10004", "", 10004) BlockUDP("Block 3289", "", 3289) 'ADD NEW End Sub End Module