* 옵션

  -a : 모든 소켓을 보기. 이 옵션을 안 넣으면 상태가 Established 상태인 것만 나온다. 동일 옵션은 --all

  -c : 현재 실행 명령을 매 초마다 실행. 동일 옵션은 --continuous

    => netstat -anc (해당 명령을 매 초마다 실행.)

    => netstat 10 (-c 옵션이 안 들어가도 해당 숫자만큼 시간이 지난후에 명령어 실행.)

  -e : 확장 정보 추가. User 부분과 Inode 열이 추가된다. 동일 옵션은 --extend

  -g : 멀티캐스트에 대한 그룹별 정보를 보여줌 (IPv4/IPv6). 동일 옵션은 --groups

  -i : 인터페이스별 통계값. -I=(인터페이스명) / --interface=(인터페이스명) 을 하면 해당 인터페이스값만 보기도 가능.

  -l : 대기중인 소켓 리스트만 보여준다. 동일 옵션은 --listening

  -n : 도메인 주소를 읽어들이지 않고 숫자로 출력한다. --numeric-hosts --numeric-ports --numeric-users 명령어가 합쳐진 옵션. 동일 옵션은 --numeric

  --numeric-hosts : 호스트 부분을 IP로 출력.

  --numeric-ports : 포트 부분을 숫자로 출력.

  --numeric-users : 유저 부분을 숫자로 출력(UID).

  -o : 연결 대기 시간 표기. 동일 옵션은 --timers

  -p : PID(프로세서 ID) 와 사용중인 프로그램명이 표시된다. 동일 옵션은 --program

  -r : 라우팅 테이블 보기. 'route' 명령어와 동일. 동일 옵션은 --route

  -s : 프로토콜 요약 정보. 동일 옵션은 --statistics

  -t : TCP 프로토콜 보기. 연결된 것만 나옴. 동일 옵션은 --tcp

  -u : UDP 프로토콜 보기. 동일 옵션은 --udp

  -v : 버전 보기.

  -w : RAW 프로토콜 보기. 동일 옵션은 --raw

  -A : 프로토콜별로 보기. 종류는 inet, unix, ipx, ax25, netrom, ddp 가 있음. 동일 옵션은 --protocol

    => netstat -A inet (TCP 프로토콜 연결 상태만 보기)

    => netstat --protocol=inet (위의 명령어와 동일)

  -M : 마스커레이딩 정보 표시. 동일 옵션은 --masquerade


* 출력 라인(inet 관련)

  - Proto : 프로토콜 종류. TCP / UDP / RAW 가 있음.

  - Recv-Q : 해당 프로그램이 현재 받는 바이트 표기.

  - Send-Q : 해당 프로그램이 현재 보내는 바이트 표기.

  - Local Address : 출발지 주소 및 포트. 자신의 주소 및 포트.

  - Foreign Address : 목적지 주소 및 포트.

  - State : 포트의 상태 표기.

    => CLOSED

    => CLOSED_WAIT

    => CLOSING

    => ESTABLISHED : 연결이 완료된 상태.

    => FIN_WAIT1

    => FIN_WAIT2

    => LAST_ACK

    => LISTEN :  대기중인 포트. 포트가 열려 있음.

    => SYN_RECV : 연결 요청을 받은 후에 확인 값을 기다리는 상태.

    => SYN_SENT : 목적지에 연결 요청.

    => TIME_WAIT : 연결이 종료된 후 기다리는 상태. 약 1분 정도이며 -o 옵션으로 확인 가능. 시간이 다 지나면 사라짐.

    => UNKNOWN : 소켓의 상태를 알 수 없음.


============================================================================================================


* 예제.

1. 인터넷 연결 상태 보기.

[root@navi-linux ~]# netstat -A inet

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 navi-linux:35212            123.123.123.123:http           ESTABLISHED

tcp        0      0 navi-linux:56976            61-111-58-50.kidc.net:http  ESTABLISHED

tcp        0    314 navi-linux:telnet           231.231.231.231:netcheque     ESTABLISHED


2. 통계값 보기 (프로토콜별).

[root@navi-linux ~]# netstat -s

Ip:

    1141245 total packets received

    355 with invalid addresses

    0 forwarded

    0 incoming packets discarded

    1007688 incoming packets delivered

    1050768 requests sent out

    24 dropped because of missing route

Icmp:

    24 ICMP messages received

    0 input ICMP message failed.

    ICMP input histogram:

        destination unreachable: 22

        echo requests: 1

        echo replies: 1

    141 ICMP messages sent

    0 ICMP messages failed

    ICMP output histogram:

        destination unreachable: 135

        echo request: 5

        echo replies: 1

IcmpMsg:

        InType0: 1

        InType3: 22

        InType8: 1

        OutType0: 1

        OutType3: 135

        OutType8: 5

Tcp:

    64013 active connections openings

    16 passive connection openings

    10 failed connection attempts

    12 connection resets received

    6 connections established

    901778 segments received

    941524 segments send out

    2915 segments retransmited

    0 bad segments received.

    163 resets sent

Udp:

    105794 packets received

    4 packets to unknown port received.

    0 packet receive errors

    106216 packets sent

UdpLite:

TcpExt:

    1 ICMP packets dropped because socket was locked

    4112 TCP sockets finished time wait in fast timer

    2 packets rejects in established connections because of timestamp

    111607 delayed acks sent

    12 delayed acks further delayed because of locked socket

    Quick ack mode was activated 901 times

    112 packets directly queued to recvmsg prequeue.

    832 packets directly received from prequeue

    464924 packets header predicted

    48 packets header predicted and directly queued to user

    125499 acknowledgments not containing data received

    1063 predicted acknowledgments

    6 congestion windows recovered after partial ack

    0 TCP data loss events

    2 timeouts after SACK recovery

    393 other TCP timeouts

    901 DSACKs sent for old packets

    78 DSACKs received

    6 connections reset due to unexpected data

    10 connections reset due to early user close

    356 connections aborted due to timeout

    TCPDSACKIgnoredOld: 4

    TCPDSACKIgnoredNoUndo: 6

    TCPSackShiftFallback: 2

IpExt:

    InMcastPkts: 7643

    OutMcastPkts: 42

    InBcastPkts: 124586

    InOctets: 752411380

    OutOctets: 172659736

    InMcastOctets: 2477680

    OutMcastOctets: 11674

    InBcastOctets: 13876218


3. 통계값 보기 (인터페이스별).

[root@navi-linux ~]# netstat -i

Kernel Interface table

Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR

Flg

eth0       1500   0  2168579      0      0      0  1053363      0      0      0

BMRU

eth1       1500   0        0      0      0      0        0      0      0      0

BMU

eth2       1500   0        0      0      0      0        0      0      0      0

BMU

lo        16436   0       20      0      0      0       20      0      0      0

LRU


4. 열려 있는 TCP 포트 보기.

[root@navi-linux ~]# netstat -lnt -A inet

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:34580               0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN


5. 연결된 TCP 포트 보기.

[root@navi-linux ~]# netstat -nt -A inet

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 111.111.111.111:33659         123.123.123.123:80             ESTABLISHED

tcp        0      0 111.111.111.111:56976         61.111.58.50:80             ESTABLISHED

tcp        0    134 112.112.112.112:23            121.121.121.121:4008          ESTABLISHED


6. 모든 열려있는 포트 보기.

[root@navi-linux ~]# netstat -ant -A inet

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:34580               0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN

tcp        0      0 111.111.111.111:33659         123.123.123.123:80             ESTABLISHED

tcp        0      0 111.111.111.111:56976         61.111.58.50:80             ESTABLISHED

tcp        0    134 112.112.112.112:23            121.121.121.121:4008          ESTABLISHED


7. 특정 포트나 호스트 모니터링 하기. (1초마다 80포트(인터넷)를 보기. ':80' 라는 텍스트가 들어간 라인을 보여준다. netstat -A inet -n | grep :80 을 1초마다 실행하는 결과이다.)

[root@navi-linux ~]# netstat -A inet -n -c | grep :80

tcp        0      0 111.111.111.111:56214         123.123.123.123:80             ESTABLISHED

tcp        0      0 111.111.111.111:56976         61.111.58.50:80             ESTABLISHED


8. 네트워크 자원을 사용중인 프로그램 종료 하기.

[root@navi-linux ~]# netstat -A inet -atp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             Stat

e       PID/Program name

tcp        0      0 *:sunrpc                    *:*                         LIST

EN      856/rpcbind

tcp        0      0 *:34580                     *:*                         LIST

EN      935/rpc.statd

tcp        0      0 *:ssh                       *:*                         LIST

EN      3681/sshd

tcp        0      0 navi-linux:47270            111.111.111.111:http           ESTA

BLISHED 2263/firefox

tcp        0      0 navi-linux:41638            111.111.111.111:http           ESTA

BLISHED 2263/firefox

tcp        0      0 navi-linux:telnet           222.222.222.222:netplan       ESTA

BLISHED 943/in.telnetd: 172

tcp        0      0 navi-linux:46763            111.111.111.111:http           ESTA

BLISHED 2263/firefox

tcp        0      0 navi-linux:47264            111.111.111.111:http           TIME

_WAIT   -

tcp        0      0 navi-linux:52984            123.123.123.123:ftp          ESTA

BLISHED 886/filezilla

tcp        0      0 navi-linux:56581            61-111-58-50.kidc.net:http  ESTA

BLISHED 1857/clock-applet

tcp        0      0 navi-linux:47273            111.111.111.111:http           ESTA

BLISHED 2263/firefox


파일질라가 네트워크를 이용중이다. 프로그램을 종료시키자. -p 옵션이 들어가 있어야 한다. 맨 우측 886/filezilla 가 보인다. 왼쪽이 프로세서 ID(PID)이고 오른쪽이 실행이름이다.


[root@navi-linux ~]# kill 886


kill 명령어로 파일질라의 PID를 입력하여 프로그램을 종료시킨다.


[root@navi-linux ~]# netstat -A inet -atp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             Stat

e       PID/Program name

tcp        0      0 *:sunrpc                    *:*                         LIST

EN      856/rpcbind

tcp        0      0 *:34580                     *:*                         LIST

EN      935/rpc.statd

tcp        0      0 *:ssh                       *:*                         LIST

EN      3681/sshd

tcp        0      0 navi-linux:57621            111.111.111.111:http           ESTA

BLISHED 2263/firefox

tcp        0      2 navi-linux:telnet           222.222.222.222:netplan       ESTA

BLISHED 943/in.telnetd: 172

tcp        0      0 navi-linux:42278            111.111.111.111:http           ESTA

BLISHED 2263/firefox

tcp        0      0 navi-linux:52984            123.123.123.123:ftp          TIME

_WAIT   -

tcp        0      0 navi-linux:56581            61-111-58-50.kidc.net:http  ESTA

BLISHED 1857/clock-applet


재확인결과 없어져있다. TIME_WAIT 은 연결 종료 후 1분간 보인다.




============================================================================================================




윈도우용 netstat

시작 - 실행 - cmd 에서 커맨드 입력 상태로 먼저 들어간다.


* 옵션

  -a : 모든 연결 및 열린 포트를 확인한다. 리눅스의 -a 옵션과 동일.

  -b : 현재 연결이 어떤 프로그램이 사용중인지 표시한다. PID(프로세서 ID)도 표시된다. 리눅스의 -p 옵션과 동일.

  -e : 인터페이스의 통계치를 보여준다. 윈도우용은 기본적인것만 나오고 리눅스는 매우 자세히 나온다. 리눅스의 -i 옵션과 동일.

  -n : 주소 및 포트를 숫자 형식으로 표시. 리눅스의 -n 옵션과 동일.

  -o : 현재 연결이 어떤 프로그램이 사용중인지 PID(프로세서 ID)만 표시한다.

  -r : 라우팅 테이블을 표시한다. route print와 동일하다. 리눅스의 -r 옵션과 동일.

  -s : 프로토콜별 통계치를 보여준다. 리눅스의 -s 옵션과 동일.

  -v : -b 옵션과 같이 사용시 아주 자세히 어떤 파일들이 네트워크 연결에 쓰는지 볼 수 있다. 정보 수집을 하여 시간이 오래 걸린다.

  숫자 : 숫자값을 입력하면 해당 초만큼 간격으로 명령을 반복 실행한다. 정지는 Ctrl+C



참조 - http://blog.naver.com/saipe?Redirect=Log&logNo=50100084328

'System > Linux' 카테고리의 다른 글

ssh 및 telnet 서비스 포트 변경  (2) 2011.01.12
시스템 로그파일과 로그기록 삭제 방법  (0) 2010.12.27
vi(vim) 기본 사용법  (0) 2010.12.24
configure 옵션  (0) 2010.12.22
리눅스에 RADIUS 서버 구현하기  (0) 2010.12.18
Posted by linuxism
,