네트워크 연결정보를 알기위해서 자주사용하는 대부분의 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
'정보보안-이론 > XX에 대하여' 카테고리의 다른 글
[클라우드보안에 대하여] 한 페이지로 알아보는 클라우드 보안 #Cheat-Sheat (0) | 2023.11.04 |
---|---|
2. RMF에 대하여 -체계보호계획(SSP)- (0) | 2022.09.07 |
[2022-08-31 작성] 지속가용성(CA) VS 고가용성(HA) (0) | 2022.08.31 |
1. RMF에 대하여 -일반사항- (0) | 2022.08.23 |
정보보안 통제에 대하여 (0) | 2022.08.22 |