Azure Network Watcher

다운로드 39
업데이트 2026. 6. 24.

azure-networkwatcher-flow-logs

Azure 스토리지 계정에서 지정된 시간 범위의 Network Watcher 흐름 로그를 다운로드합니다.

문법

azure-networkwatcher-flow-logs [profile=PROFILE] [duration=NUM{mon|w|d|h|m|s}] [from=yyyyMMddHHmmss] [to=yyyyMMddHHmmss]

옵션

profile=PROFILE
선택 옵션. Azure Network Watcher flow logs 접속 프로파일 식별자
duration=NUM{mon|w|d|h|m|s}
선택 옵션. 현재 시각으로부터 일정 시간 범위 이내의 로그로 한정. s(초), m(분), h(시), d(일), mon(월) 단위로 지정할 수 있습니다. 예를 들면, 10s의 경우 현재 시각으로부터 10초 이전까지의 범위를 의미합니다.
from=yyyyMMddHHmmss
선택 옵션. yyyyMMddHHmmss 포맷으로 범위의 시작을 지정합니다. 뒷자리를 쓰지 않으면 0으로 채워집니다.
to=yyyyMMddHHmmss
선택 옵션. yyyyMMddHHmmss 포맷으로 범위의 끝을 지정합니다. 뒷자리를 쓰지 않으면 0으로 채워집니다.

출력 필드

필드타입이름설명
_time날짜시각
profile문자열접속 프로파일Azure Network Watcher flow logs 접속 프로파일 식별자
cloud_resource_group문자열클라우드 리소스 그룹리소스 그룹 이름
cloud_resource_name문자열클라우드 리소스 이름리소스 이름
direction문자열방향예: outbound, inbound
src_ipIP 주소출발지 IP
src_port32비트 정수출발지 포트
dst_ipIP 주소목적지 IP
dst_port32비트 정수목적지 포트
protocol문자열프로토콜예: TCP, UDP
policy문자열정책보안 규칙 이름
action문자열대응예: PERMIT, DENY
state문자열상태예: start, end, continue, deny
total_bytes64비트 정수전체 바이트sent_bytes와 rcvd_bytes 필드의 합
sent_bytes64비트 정수송신 바이트클라이언트에서 서버로 전송한 바이트 수
rcvd_bytes64비트 정수수신 바이트서버에서 클라이언트로 전송한 바이트 수
total_pkts64비트 정수전체 패킷sent_pkts와 rcvd_pkts 필드의 합
sent_pkts64비트 정수송신 패킷클라이언트에서 서버로 전송한 패킷 수
rcvd_pkts64비트 정수수신 패킷서버에서 클라이언트로 전송한 패킷 수
cloud_resource문자열클라우드 리소스Azure 리소스 경로
blob_path문자열Blob 경로로그 원본 Blob 경로
acl_id문자열ACL ID
mac문자열MAC 주소
encryption문자열암호화 상태예: X, NX, NX_HW_NOT_SUPPORTED ...

오류 코드

런타임 오류

오류 메시지원인해결
nsgflow error, profile={프로파일명} - {메시지}Azure Storage 접근 실패 (connection string 오류, 컨테이너 미존재, 네트워크 오류 등)접속 프로파일의 connection string과 컨테이너 이름을 확인합니다

설명

지정된 시간 범위에 해당하는 PT1H.json Blob 파일을 Azure Storage 컨테이너에서 다운로드하여 흐름 레코드를 파싱합니다. VNet Flow Log v4, NSG Flow Log v1/v2를 모두 지원합니다.

Azure는 1시간 동안 PT1H.json 파일에 계속 쓰기 작업을 수행합니다. 미완성 파일을 읽지 않기 위해, 이 명령어는 쓰기가 시작된 시점으로부터 최소 1시간 5분이 경과한 파일만 처리합니다.

duration= 또는 from=/to= 옵션을 지정하지 않으면 컨테이너 내 모든 Blob을 스캔합니다.

acl_id, mac, encryption 필드는 VNet Flow Log v4 레코드에만 존재하며, NSG Flow Log v1/v2 레코드에는 포함되지 않습니다.

사용 예

예시 1: 특정 시간 범위의 로그 다운로드

상황: 특정 일시의 인바운드 트래픽을 조사합니다.

azure-networkwatcher-flow-logs profile=azure_nw_prod from=20260624140000 to=20260624150000
| search direction == "inbound"
| stats count as flow_count by action, protocol
| sort -flow_count

예상 결과:

actionprotocolflow_count
DENYTCP4231
PERMITTCP1823
DENYUDP312

결과 해석: 특정 출발지 IP의 DENY 횟수가 많으면 포트 스캔 또는 무차별 대입 시도일 수 있습니다.

예시 2: 최근 1시간 반복 차단 출발지 IP 탐지

상황: 최근 1시간 동안 인바운드 차단 횟수가 많은 출발지 IP를 집계하여 위협을 탐지합니다.

azure-networkwatcher-flow-logs profile=azure_nw_prod duration=1h
| search direction == "inbound" and action == "DENY"
| stats count as deny_count by src_ip
| sort -deny_count
| limit 20

예상 결과:

src_ipdeny_count
192.0.2.501423
192.0.2.51876

결과 해석: DENY 횟수가 높은 IP는 위협 조사 대상입니다.