2016년 7월 20일 수요일

원도우 netstat 명령어 정리

netstat
  • 네트워크 인터페이스 카드의 네트워크 통계치와 현재의 TCP/IP 네트워크의 연결상황을 나타내는 프로그램
  • 이를 통하여
    • 현재 발생하고 있는 Collision Rate 계산
    • 접속 케이블/인터페이스의 양호 상태
    • Broadcast 율, Discard 율, 네트워크 I/O 트래픽 율
    • 라우팅 데이블 등을 알 수 있음
    • 또한, 현재 접속되어 있는 호스트의 어드레스와 포트 번호를 알 수 있음.
참고 : 브로드캐스트(broadcast)
  • 영역안에 모든 노드에 동일한 신호를 보내는 것
  • 비교
    • 유니캐스트 : 특정 수신자(대부분의 전자우편이 그렇다)에게만 전송
    • 멀티캐스트 : 다중 수신자(전자우편 메일링 리스트 또는 MBone네트웍을 통한 웹전송 등)들에게 전송
    • 애니캐스트 : 라우터들의 그룹에서 가장 가까이 있는 것들에게 전송

Netstat 출력 양식
  • Proto: 연결된 네트워크의 프로토콜 이름
  • Local Address : 연결에 사용되는 로컬 단말의 IP주소와 포트번호 표시 (포트 지정이 안된 경우 * 표시)
  • Foreign Address : 연결된 원격 컴퓨터의 호스트 이름이나 IP 주소 표시
  • State : 연결 TCP 프로토콜의 연결 상태 표시
    • 연결 시 : established
    • 연결 대기 중인 경우 : listening

netstat 옵션 사용예
  • 현재 이더넷 환경에서 해당 단말의 broadcast와 unicast 패킷 비율, 폐기되는 패킷 율, 에러등의 통계치를 알고 싶은 경우
    ::netstat -e
  • 네트워크 연결 상황을 IP주소와 패킷 번호 별로 나타내고자 하는 경우
    ::netstat -a -n  (결과에 이상한 포트번호가 (12345,1245 등) 나타나면 트로이의 목마에 감염된 것임.
  • 해당 단말의 라우팅 형태와 연결 접속 사황을 보고자 하는 경우 (라우팅 테이블을 보여줌)
    ::netstat -r
라우팅 테이블

설명
Network Address
Netmask
Gateway
Interface
Metric
Default
Route
0.0.0.0
0.0.0.0
192.168.1.1
192.168.1.100
20
Loop Back
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
Subnet
network
192.168.1.0
255.255.255.0
192.168.1.100
192.168.1.100
20
Lan Card
192.168.1.100
255.255.255.255
127.0.0.1
127.0.0.1
20
Subnet
Boradcast
192.168.1.255
255.255.255.255
192.168.1.100
192.168.1.100
20
Multicast
224.0.0.0
240.0.0.0
192.168.1.100
192.168.1.100
20
Limited
broadcast
255.255.255.255
255.255.255.255
192.168.1.100
192.168.1.100
1

Routing Table 보는 법
  • default route
    • 여러 라우팅 데이블을 확인해서 일치하지 않을 경우, default route의 gateway로 보낸다
    • 일반적으로 라우터의 주소에 해당
  • loopback
    • 127.0.0.1은 software loopback 주소로서, 자기 자신을 가리킨다.
  • subnet network
    • ip 주소의 subnet network 주소를 가르킨다.
    • ip 주소가 192.168.1.100 이고 subnet mask가 255.255.255.0 인 경우 AND 연산을 통해 192.168.1.0이 network 주소가 된다.
  • LAN card : 자신의 IP주소를 의미한다.
  • subnet broadcast : 위의 subnet mask 연산결과 나온 192.168.1.0 의 마지막 주소인 192.168.1.255를 broadcast로 사용.
  • multicast
    • D class의 multicast를 나타내는 행이다.
    • 특정한 그룹에게 메시지를 전달 할 때 사용되는 주소
  • limited broadcast
    • 라우터를 통과하지 못하는 broadcast 주소
    • 같은 subnet 상의 모든 host에 전달

열려진 포트 번호와 프로세스 ID 보기
nestat -ano
>netstat -ano -p TCP

활성 연결

 프로토콜  로컬 주소              외부 주소              상태            PID
 TCP    0.0.0.0:7              0.0.0.0:0              LISTENING       2900
 TCP    0.0.0.0:9              0.0.0.0:0              LISTENING       2900
 TCP    0.0.0.0:13             0.0.0.0:0              LISTENING       2900
 TCP    0.0.0.0:17             0.0.0.0:0              LISTENING       2900
 TCP    0.0.0.0:19             0.0.0.0:0              LISTENING       2900
 TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4
 TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       456
 TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       4024
 TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
 TCP    0.0.0.0:554            0.0.0.0:0              LISTENING       4108
 TCP    0.0.0.0:902            0.0.0.0:0              LISTENING       3680
 TCP    0.0.0.0:912            0.0.0.0:0              LISTENING       3680
 TCP    0.0.0.0:1025           0.0.0.0:0              LISTENING       876
 TCP    0.0.0.0:1026           0.0.0.0:0              LISTENING       1100
 TCP    0.0.0.0:1027           0.0.0.0:0              LISTENING       1236
 TCP    0.0.0.0:1039           0.0.0.0:0              LISTENING       1680
 TCP    0.0.0.0:1041           0.0.0.0:0              LISTENING       944
 TCP    0.0.0.0:1045           0.0.0.0:0              LISTENING       1832

PID를 이용하여 프로세스 조사 하기
tasklist /V /FI "PID eq 2900" /FO LIST
>tasklist /V /FI "PID eq 2900" /FO LIST

이미지 이름: TCPSVCS.EXE
PID:         2900
세션 이름:   Services
세션#:       0
메모리 사용: 6,796 K
상태:        Unknown
사용자 이름: NT AUTHORITY\LOCAL SERVICE
CPU 시간:    0:00:00
창 제목:     N/A