Netsh 유틸리티 가이드: 추적 및 그 이상

소개

Netsh 유틸리티와 네트워크 관리에서의 중요성에 대한 간략한 개요를 제공합니다. 스크립팅 지원, 원격 실행, 문제 해결 기능과 같은 주요 기능을 강조합니다.



콘텐츠 최적화

1. Netsh 유틸리티란?

Netsh(Network Shell)는 네트워크 설정을 구성하고 문제를 해결하기 위한 강력한 Windows 명령줄 도구입니다. 동적 연결 라이브러리(DLL)를 통해 시스템 구성 요소와 상호 작용하며 다음과 같은 다양한 컨텍스트를 지원합니다. 예: advfirewall, wlan 및 winhttp.

2. Netsh 명령의 일반 구문

netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [Domain\]UserName] [-p Password|*] [Command | -f ScriptFile]

구문 매개변수를 간략히 설명하고 사용 사례를 강조합니다.

3. Netsh 추적 심층 분석

추적 수집:
진단을 위해 네트워크 이벤트와 패킷을 캡처하려면 netsh trace 컨텍스트를 사용합니다.

  • 시나리오를 표시하는 명령:
netsh trace show scenarios
  • 특정 시나리오의 공급자를 표시하려면:
netsh trace show scenario <Scenario name>

중요 매개변수:
다음과 같은 주요 매개변수를 자세히 설명합니다. 예: scenario, capture, report, persistent, traceFile 등에 대해 예를 들어 설명합니다.

일반적인 추적 명령:

  • 추적 시작:
netsh trace start scenario=InternetClient capture=yes tracefile=C:\temp\trace.etl
  • 추적 중지:
netsh trace stop

고급 옵션:
다음과 같은 옵션을 사용한 고급 추적 예를 제공합니다. 예: maxsize, filemode 및 overwrite.

ETL을 CAP로 변환:
Wireshark와 같은 도구에서 사용할 수 있도록 ETL 파일을 변환하는 방법을 설명합니다.

netsh trace convert input=trace.etl output=trace.cap


4. Netsh를 사용한 네트워크 캡처 필터링

기본 필터:
일반적으로 사용되는 필터를 강조합니다. 예를 들면 다음과 같습니다.

  • 특정 IPv4 주소로 오가는 트래픽 캡처:
IPv4.Address == x.x.x.x

프로토콜별 필터:

  • DNS 트래픽 캡처:
DNS

고급 필터:
TCP 핸드셰이크 패킷 캡처와 같은 예를 제공합니다.

TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0


5. 주요 Netsh 컨텍스트 및 사용 사례

IP 구성:

  • 고정 IP 설정:
netsh interface ip set address "Ethernet" static 10.0.0.5 255.255.255.0 10.0.0.1

Winsock 및 TCP/IP 스택 재설정:

  • TCP/IP 스택 재설정:
netsh int ip reset

방화벽 운영:

  • 방화벽 규칙 추가:
netsh advfirewall firewall add rule name="Allow Ping" dir=in action=allow protocol=icmpv4

WinHTTP 프록시 구성:

  • 프록시 설정:
netsh winhttp set proxy "proxy:8080" "<local>"

네트워크 캡처 분석에 일반적으로 사용되는 netmon 필터:

기본 필터

필터목적
IPv4.Address == x.x.x.x특정 IPv4 주소로 오가는 트래픽을 캡처합니다.
IPv4.SourceAddress == x.x.x.x특정 출발지 IP에서 오는 트래픽을 필터링합니다.
IPv4.DestinationAddress == x.x.x.x특정 대상 IP로 향하는 트래픽을 필터링합니다.
IPv6.Address == xxxx::xxxx특정 주소로 오가는 IPv6 트래픽을 필터링합니다.
TCP.Port == 80특정 TCP 포트에서 트래픽을 캡처합니다(예: HTTP용 80).
UDP.Port == 53특정 UDP 포트에서 트래픽을 캡처합니다(예: DNS용 53).

프로토콜별 필터

필터프로토콜설명
DNSDNSDNS 쿼리와 응답을 캡처합니다.
HTTPHTTPHTTP 트래픽을 캡처합니다(메서드로 추가로 필터링할 수 있음).
TCPTCP모든 TCP 트래픽을 캡처합니다.
UDPUDP모든 UDP 트래픽을 캡처합니다.
SMB2SMBSMBv2 파일 공유 트래픽을 캡처합니다.
KerberosKerberosKerberos 인증 패킷을 캡처합니다.
LDAPLDAPLDAP 쿼리/응답을 캡처합니다.

대화 필터

필터목적
IPv4.SourceAddress == x.x.x.x AND IPv4.DestinationAddress == y.y.y.y두 특정 호스트 간의 트래픽을 필터링합니다.
TCP.SourcePort == 12345 AND TCP.DestinationPort == 80특정 클라이언트-서버 세션을 필터링합니다.

애플리케이션 계층 필터

필터예
HTTP.Request.Method == “GET”GET 요청만 캡처합니다.
HTTP.Host == “example.com”특정 도메인으로 향하는 HTTP 트래픽을 필터링합니다.
DNS.QryName == “example.com”특정 도메인에 대한 DNS 쿼리를 필터링합니다.
SMB2.CreateRequest.FileName == “filename.txt”SMB 트래픽에서 파일 액세스를 캡처합니다.

고급 필터

필터목적
TCP.Flags.SYN == 1 AND TCP.Flags.ACK == 0SYN 패킷을 캡처합니다(TCP 핸드셰이크 시작).
TCP.Flags.FIN == 1FIN 패킷을 캡처합니다(TCP 세션 종료).
TCP.Flags.Reset == 1TCP RST 패킷을 캡처합니다(연결 재설정).
Frame.Length > 10001000바이트보다 큰 패킷만 캡처합니다.

주요 Netsh 컨텍스트 및 사용 사례

IP 구성 설정

netsh interface ip set address “Ethernet” static 10.0.0.5 255.255.255.0 10.0.0.1
netsh interface ip set dns “Ethernet” static 1.1.1.1
netsh interface ip set address “Ethernet” dhcp

Winsock 및 TCP/IP 스택 재설정

netsh int ip reset
netsh winsock reset

방화벽 운영

netsh advfirewall firewall add rule name=”Allow Ping” dir=in action=allow protocol=icmpv4
netsh advfirewall firewall add rule name=”Allow RDP” dir=in action=allow protocol=TCP localport=3389

netsh advfirewall set allprofiles state on
netsh advfirewall export “C:\\backup\\fwconfig.wfw”

WinHTTP 프록시

netsh winhttp show proxy
netsh winhttp set proxy “proxy:8080” “<local>”
netsh winhttp reset proxy


6. 결론

Netsh의 다용도성을 요약하고 독자가 더 많은 컨텍스트와 명령을 탐색하도록 권장합니다. 자세한 내용은 공식 Microsoft 설명서.

댓글 남기기