정보보안-이론/XX에 대하여

네트워크정보 보기(부제 : netstat.exe 사용법)

네트워크 연결정보를 알기위해서 자주사용하는 대부분의 OS 내장툴이다. netstat은 굳이 포렌식을 전공으로 하고 있는 사람이 아니더라도 컴퓨터 꽤나 만져보았다면 사용해 보았을것이라고 생각한다. 단순하면서도 강력한 도구인데, 정확한 사용법과 좋은 옵션들을 소개시켜 드리려고 왔다.


netstat이란?

Displays active TCP connections, ports on which the computer is listening, Ethernet statistics, the IP routing table, IPv4 statistics (for the IP, ICMP, TCP, and UDP protocols), and IPv6 statistics (for the IPv6, ICMPv6, TCP over IPv6, and UDP over IPv6 protocols). Used without parameters, this command displays active TCP connections.

역) netstat은 활성 TCP 연결, 컴퓨터가 수신하는 포트, 이더넷 통계, IP 라우팅 테이블, IPv4 통계(IP, ICMP, TCP 및 UDP 프로토콜용) 및 IPv6 통계(IPv6, ICMPv6, TCP over IPv6 및 UDP over IPv6 프로토콜용)를 표시합니다. 매개 변수 없이 사용되는 이 명령은 활성 TCP 연결을 표시합니다.

* 출처 : Microsoft 공식 Doc netstat 설명 : https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/netstat

우선 netstat의 옵션은 다음과 같다.

  • -a : 모든 연결 및 수신 대기 포트를 표시합니다.
  • -e : 이더넷 통계를 표시합니다. 이 옵션은 -s 옵션과 함께 사용할 수 있습니다.
  • -n : 주소 및 포트 번호를 숫자 형식으로 표시합니다.
  • -o : 각 연결의 소유자 프로세스 ID를 표시합니다.
  • -p : 지정한 프로토콜의 연결을 표시합니다. proto는 TCP, UDP, TCPv6 또는 UDPv6 중 하나입니다. -s 옵션과 함께 사용하여 프로토콜별 통계를 표시할 경우 proto는 IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP 또는 UDPv6 중 하나입니다.
  • -q : 모든 연결, 수신 대기 포트 및 바인딩된 비수신 대기 TCP포트를 표시합니다. 바인딩된 비수신 대기 포트는 활성 연결과 연결되거나 연결되지 않을 수도 있습니다.
  • -r : 라우팅 테이블을 표시합니다.
  • -s : 프로토콜별 통계를 표시합니다. 기본적으로 IP, IPv6, ICMP,ICMPv6, TCP, TCPv6, UDP 및 UDPv6에 대한 통계를 표시합니다.-p 옵션을 사용하여 기본값의 일부 집합에 대한 통계만 지정할 수 있습니다.
  • -t : 현재 연결 오프로드 상태를 표시합니다.
  • -x : NetworkDirect 연결, 수신기 및 공유 끝점을 표시합니다.
  • -y : 모든 연결에 대한 TCP 연결 템플릿을 표시합니다. 다른 옵션과 함께 사용할 수 없습니다.

cmd에서 나오는 netstat에 대한 설명을 그대로 옮겨적은 옵션설명이다. 자주 사용하고 좋은 정보가 있는 옵션은 굵은 기울임으로 처리하였다 다음은 용례이다.

// 모든 연결에 대한 프로세스정보정보 주소형식으로 표시

C:\>netstat -nao
프로토콜  로컬 주소              외부 주소              상태            PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       932
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:1521           0.0.0.0:0              LISTENING       5840
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING       6748
  TCP    0.0.0.0:21300          0.0.0.0:0              LISTENING       8928
  TCP    0.0.0.0:27036          0.0.0.0:0              LISTENING       11924
// 라우팅테이블 표시

C:\>netstat -r
===========================================================================
인터페이스 목록
  XXXXXXXXXXXXXXXXXXXXXXXXXXXX Realtek PCIe GbE Family Controller
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 경로 테이블
===========================================================================
활성 경로:
네트워크 대상      네트워크 마스크     게이트웨이      인터페이스    메트릭
          0.0.0.0          0.0.0.0     192.168.45.1   192.168.45.239     25
        127.0.0.0        255.0.0.0             연결됨         127.0.0.1    331
        127.0.0.1  255.255.255.255             연결됨         127.0.0.1    331
        224.0.0.0        240.0.0.0             연결됨    192.168.45.239    281
  255.255.255.255  255.255.255.255             연결됨         127.0.0.1    331
  255.255.255.255  255.255.255.255             연결됨    192.168.45.239    281
===========================================================================
영구 경로:
  없음

IPv6 경로 테이블
===========================================================================
활성 경로:
 IF  메트릭 네트워크 대상           게이트웨이
  1    331 ::1/128                  연결됨
  3    281 fe80::/64                연결됨
  3    281 fe80::9491:b160:c5ad:544c/128
                                    연결됨
  1    331 ff00::/8                 연결됨
  3    281 ff00::/8                 연결됨
===========================================================================
영구 경로:
 IF  메트릭 네트워크 대상           게이트웨이
  0 4294967295 2620:9b::/96             연결됨
  0   9000 ::/0                     2620:9b::1900:1
===========================================================================
// 인터페이스로 오는 프로토콜별 통계, 생략되었지만 프로토콜별(TCP / UDP / IPv4 등)으로 출력된다.

C:\>netstat -se
인터페이스 통계

                           받음                보냄

바이트                   1616915820        35725332
유니캐스트 패킷             1308888          239466
비유니캐스트 패킷              2430            1116
버림                              0               0
오류                              0               0
알 수 없는 프로토콜               0

IPv4 통계

  받은 패킷                          = 41948254
  받은 헤더 오류                     = 0
  받은 주소 오류                     = 0
  전달된 데이터그램                    = 0
  알 수 없는 프로토콜 받음           = 10
  받은 패킷 버림                     = 26054
  받은 패킷 배달됨                     = 41974935
  출력 요청                          = 21072492
  라우팅 버림                        = 0
  버린 출력 패킷                   = 74
  무경로 출력 패킷                   = 139
  리어셈블리 필요                    = 0
  리어셈블리 성공                    = 0
  리어셈블리 실패                    = 0
  성공적으로 조각화된 데이터그램         = 0
  조각화에 실패한 데이터그램             = 0
  만든 조각                          = 0

IPv6 통계

  받은 패킷                          = 0
  받은 헤더 오류                     = 0
  받은 주소 오류                     = 0
  전달된 데이터그램                    = 0
  알 수 없는 프로토콜 받음           = 0
  받은 패킷 버림                     = 0
  받은 패킷 배달됨                     = 1975
  출력 요청                          = 3888
  라우팅 버림                        = 0
  버린 출력 패킷                   = 0
  무경로 출력 패킷                   = 2
  리어셈블리 필요                    = 0
  리어셈블리 성공                    = 0
  리어셈블리 실패                    = 0
  성공적으로 조각화된 데이터그램         = 0
  조각화에 실패한 데이터그램             = 0
  만든 조각                          = 0
  
 ...
 ICMP
 ...
 IPv4 TCP
 ...
 ...
 ...

연결된것을 찾을때는 파이프라인(|)과 find명령어를 사용하자

// 연결성립된(ESTABLISHED) 네트워크 연결정보 출력 

C:\>netstat -nao | find /i "ESTABLISHED"
  TCP    127.0.0.1:55241        127.0.0.1:55371        ESTABLISHED     9840
  TCP    127.0.0.1:55241        127.0.0.1:55372        ESTABLISHED     9840
  TCP    127.0.0.1:55241        127.0.0.1:55373        ESTABLISHED     9840
  TCP    127.0.0.1:55371        127.0.0.1:55241        ESTABLISHED     9132
  TCP    127.0.0.1:55372        127.0.0.1:55241        ESTABLISHED     9132
  TCP    127.0.0.1:55373        127.0.0.1:55241        ESTABLISHED     9132