다음을 통해 공유


New-AzNetworkWatcherPacketCaptureV2

새 패킷 캡처 리소스를 만들고 VM, VMSS 또는 몇 가지 VMSS 인스턴스에서 패킷 캡처 세션을 시작하는 V2 버전의 패킷 캡처 Cmdlet입니다.

구문

New-AzNetworkWatcherPacketCaptureV2
   -NetworkWatcher <PSNetworkWatcher>
   -Name <String>
   -TargetId <String>
   [-StorageAccountId <String>]
   [-StoragePath <String>]
   [-LocalFilePath <String>]
   [-BytesToCapturePerPacket <Int32>]
   [-TotalBytesPerSession <UInt32>]
   [-TimeLimitInSecond <Int32>]
   [-Scope <PSPacketCaptureMachineScope>]
   [-TargetType <String>]
   [-Filter <PSPacketCaptureFilter[]>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzNetworkWatcherPacketCaptureV2
   -NetworkWatcherName <String>
   -ResourceGroupName <String>
   -Name <String>
   -TargetId <String>
   [-StorageAccountId <String>]
   [-StoragePath <String>]
   [-LocalFilePath <String>]
   [-BytesToCapturePerPacket <Int32>]
   [-TotalBytesPerSession <UInt32>]
   [-TimeLimitInSecond <Int32>]
   [-Scope <PSPacketCaptureMachineScope>]
   [-TargetType <String>]
   [-Filter <PSPacketCaptureFilter[]>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzNetworkWatcherPacketCaptureV2
   -Location <String>
   -Name <String>
   -TargetId <String>
   [-StorageAccountId <String>]
   [-StoragePath <String>]
   [-LocalFilePath <String>]
   [-BytesToCapturePerPacket <Int32>]
   [-TotalBytesPerSession <UInt32>]
   [-TimeLimitInSecond <Int32>]
   [-Scope <PSPacketCaptureMachineScope>]
   [-TargetType <String>]
   [-Filter <PSPacketCaptureFilter[]>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzNetworkWatcherPacketCaptureV2 cmdlet은 새 패킷 캡처 리소스를 만들고 VM, VMSS 또는 몇 가지 VMSS 인스턴스에서 패킷 캡처 세션을 시작합니다. 패킷 캡처 세션의 길이는 시간 제약 조건 또는 크기 제약 조건을 통해 구성할 수 있습니다. 각 패킷에 대해 캡처된 데이터의 양도 구성할 수 있습니다. 지정된 패킷 캡처 세션에 필터를 적용하여 캡처된 패킷 유형을 사용자 지정할 수 있습니다. 필터는 로컬 및 원격 IP 주소 및 주소 범위, 로컬 및 원격 포트 및 포트 범위 및 캡처할 세션 수준 프로토콜의 패킷을 제한할 수 있습니다. 필터는 구성 가능하며 여러 필터를 적용하여 캡처의 세분성을 제공할 수 있습니다.

예제

예제 1: VM에서 패킷 캡처 만들기

$nw = Get-AzResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" } 
$networkWatcher = Get-AzNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName 

$storageAccount = Get-AzStorageAccount -ResourceGroupName contosoResourceGroup -Name contosostorage123

$filter1 = New-AzPacketCaptureFilterConfig -Protocol TCP -RemoteIPAddress "1.1.1.1-255.255.255" -LocalIPAddress "10.0.0.3" -LocalPort "1-65535" -RemotePort "20;80;443"
$filter2 = New-AzPacketCaptureFilterConfig -Protocol UDP 
New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkWatcher -TargetId $vm.Id -TargetType "azurevm" -Name "PacketCaptureTest" -StorageAccountId $storageAccount.id -TimeLimitInSecond 60 -Filter $filter1, $filter2

Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_eastus/packetCaptures/PacketCaptureTest
Etag                    : W/"0b3c52cb-aa63-4647-93d3-3221c13ccdd2"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachines/SampleVM
TargetType              : AzureVM
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 18000
StorageLocation         : {
                            "StorageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Storage/storageAccounts/contosostorage123",
                            "StoragePath": "https://contosostorage123.blob.core.windows.net/network-watcher-logs/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/contosoResourceGroup/providers/microsoft.compute/virtualmachines/SampleVM/2022/07/21/packetcapture_09_20_07_166.cap"
                          }
Filters                 : [
                            {
                              "Protocol": "TCP",
                              "RemoteIPAddress": "1.1.1.1-255.255.255",
                              "LocalIPAddress": "10.0.0.3",
                              "LocalPort": "1-65535",
                              "RemotePort": "20;80;443"
                            },
                            {
                              "Protocol": "UDP",
                              "RemoteIPAddress": "",
                              "LocalIPAddress": "",
                              "LocalPort": "",
                              "RemotePort": ""
                            }
                          ]
Scope                   : {
                            "Include": [],
                            "Exclude": []
                          }

이 예제에서는 여러 필터와 시간 제한을 사용하여 "PacketCaptureTest"라는 패킷 캡처를 만듭니다. 세션이 완료되면 지정된 스토리지 계정에 저장됩니다. 참고: 패킷 캡처를 만들려면 대상 가상 머신에 Azure Network Watcher 확장을 설치해야 합니다.

예제 2: VMSS에서 패킷 캡처 만들기

$nw = Get-AzResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" } 
$networkWatcher = Get-AzNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName 

$storageAccount = Get-AzStorageAccount -ResourceGroupName contosoResourceGroup -Name contosostorage123

$filter1 = New-AzPacketCaptureFilterConfig -Protocol TCP -RemoteIPAddress "1.1.1.1-255.255.255" -LocalIPAddress "10.0.0.3" -LocalPort "1-65535" -RemotePort "20;80;443"
$filter2 = New-AzPacketCaptureFilterConfig -Protocol UDP 
New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkWatcher -TargetId $vmss.Id -TargetType "azurevmss" -Name "PacketCaptureTest" -StorageAccountId $storageAccount.id -TimeLimitInSecond 60 -Filter $filter1, $filter2

Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_eastus/packetCaptures/PacketCaptureTest
Etag                    : W/"0b3c52cb-aa63-4647-93d3-3221c13ccdd2"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS
TargetType              : AzureVMSS
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 60
StorageLocation         : {
                            "StorageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Storage/storageAccounts/contosostorage123",
                            "StoragePath": "https://contosostorage123.blob.core.windows.net/network-watcher-logs/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/contosoResourceGroup/providers/microsoft.compute/virtualmachinescalesets/SampleVMSS/2022/07/21/packetcapture_09_20_07_166.cap"
                          }
Filters                 : [
                            {
                              "Protocol": "TCP",
                              "RemoteIPAddress": "1.1.1.1-255.255.255",
                              "LocalIPAddress": "10.0.0.3",
                              "LocalPort": "1-65535",
                              "RemotePort": "20;80;443"
                            },
                            {
                              "Protocol": "UDP",
                              "RemoteIPAddress": "",
                              "LocalIPAddress": "",
                              "LocalPort": "",
                              "RemotePort": ""
                            }
                          ]
Scope                   : {
                            "Include": [],
                            "Exclude": []
                          }

이 예제에서는 여러 필터와 시간 제한을 사용하여 "PacketCaptureTest"라는 패킷 캡처를 만듭니다. 세션이 완료되면 지정된 스토리지 계정에 저장됩니다. 참고: 패킷 캡처를 만들려면 대상 가상 머신 확장 집합 및 최신 vmss 모델을 준수하는 모든 인스턴스에 Azure Network Watcher 확장을 설치해야 합니다.

예제 3: 몇 가지 VMSS 인스턴스에서 패킷 캡처 만들기

$nw = Get-AzResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" } 
$networkWatcher = Get-AzNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName 

$storageAccount = Get-AzStorageAccount -ResourceGroupName contosoResourceGroup -Name contosostorage123

$filter1 = New-AzPacketCaptureFilterConfig -Protocol TCP -RemoteIPAddress "1.1.1.1-255.255.255" -LocalIPAddress "10.0.0.3" -LocalPort "1-65535" -RemotePort "20;80;443"
$filter2 = New-AzPacketCaptureFilterConfig -Protocol UDP 

$instance1 = $vmssInstance1.Name
$instance2 = $vmssInstance2.Name
$scope = New-AzPacketCaptureScopeConfig -Include $instance1, $instance2

New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkWatcher -TargetId $vmss.Id -TargetType "azurevmss" -Scope $scope -Name "PacketCaptureTest" -StorageAccountId $storageAccount.id -TimeLimitInSecond 60 -Filter $filter1, $filter2

Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_eastus/packetCaptures/PacketCaptureTest
Etag                    : W/"0b3c52cb-aa63-4647-93d3-3221c13ccdd2"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS
TargetType              : AzureVMSS
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 18000
StorageLocation         : {
                            "StorageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Storage/storageAccounts/contosostorage123",
                            "StoragePath": "https://contosostorage123.blob.core.windows.net/network-watcher-logs/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/contosoResourceGroup/providers/microsoft.compute/virtualmachinescalesets/SampleVMSS/2022/07/21/packetcapture_09_20_07_166.cap"
                          }
Filters                 : [
                            {
                              "Protocol": "TCP",
                              "RemoteIPAddress": "1.1.1.1-255.255.255",
                              "LocalIPAddress": "10.0.0.3",
                              "LocalPort": "1-65535",
                              "RemotePort": "20;80;443"
                            },
                            {
                              "Protocol": "UDP",
                              "RemoteIPAddress": "",
                              "LocalIPAddress": "",
                              "LocalPort": "",
                              "RemotePort": ""
                            }
                          ]
Scope                   : {
                            "Include": [
                              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS/virtualMachines/0",
                              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS/virtualMachines/1"
                            ],
                            "Exclude": []
                          }

이 예제에서는 여러 필터와 시간 제한을 사용하여 "PacketCaptureTest"라는 패킷 캡처를 만듭니다. 세션이 완료되면 지정된 스토리지 계정에 저장됩니다. 참고: 패킷 캡처를 만들려면 대상 가상 머신 확장 집합 및 포함 범위의 해당 인스턴스에 최신 vmss 모델을 준수하는 Azure Network Watcher 확장을 설치해야 합니다.

매개 변수

-AsJob

백그라운드에서 cmdlet 실행

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-BytesToCapturePerPacket

패킷당 캡처할 바이트입니다.

형식:Nullable<T>[Int32]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

형식:IAzureContextContainer
별칭:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Filter

패킷 캡처 세션에 대한 필터입니다.

형식:PSPacketCaptureFilter[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LocalFilePath

로컬 파일 경로.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Location

네트워크 감시자의 위치입니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Name

패킷 캡처 이름입니다.

형식:String
별칭:PacketCaptureName
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NetworkWatcher

네트워크 감시자 리소스입니다.

형식:PSNetworkWatcher
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NetworkWatcherName

네트워크 감시자의 이름입니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ResourceGroupName

Network Watcher 리소스 그룹의 이름입니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Scope

포함하거나 제외할 VMSS 인스턴스의 범위입니다.

형식:PSPacketCaptureMachineScope
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StorageAccountId

스토리지 계정 ID입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-StoragePath

스토리지 경로입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-TargetId

대상 가상 머신 ID 또는 가상 머신 확장 집합 ID

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-TargetType

리소스의 대상 유형입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TimeLimitInSecond

시간 제한(초)입니다.

형식:Nullable<T>[Int32]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-TotalBytesPerSession

세션당 총 바이트 수입니다.

형식:Nullable<T>[UInt32]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

PSNetworkWatcher

String

Nullable<T>[[System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

출력

PSPacketCaptureResult