2011년 8월 22일 월요일

linux] netstat 활용


출처 장미왕국 | 장미
원문 http://blog.naver.com/rosekingdom/60005422039
netstat 는 네트웤 상황과 라우팅상황 , 네트웤 인터페이스및 프로토콜 정보
를 알수 있는 명령어 입니다.
netstat 는 정말로 자주 쓰는 명령어죠..
리눅스에서 제공되는 net-tools.***
패키지에 포함이 되어 있읍니다

일단 하나하나씩 예를 들어 설명 해 보겠습니다.

형식 : netstat [-r] [-i] [-s] [-p] [-c] [-a]

형식은 위와 같습니다..

각 옵션에 대한 설명을 입니다.

-r : 라우팅 테이블의 정보를 출력한다.

-i : 인터페이스 테이블을 출력한다.

-s: snmp와 같은 네트웤 통계를 나타내며 프로토콜의 진단까지 할수 있다.
-p : pid/program출력

-c :계속되는 리스트 출력

-a: 연결되 모든 소켓 출력

위와 같습니다..

예를 들면...
#netstat -an

Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:8010 127.0.0.1:1894 TIME_WAIT
tcp 0 0 190.190.1.99:80 190.190.30.201:62601 TIME_WAIT
tcp 0 0 127.0.0.1:8010 127.0.0.1:1893 TIME_WAIT
tcp 0 0 190.190.1.99:80 190.190.30.201:62600 TIME_WAIT
tcp 0 0 127.0.0.1:8010 127.0.0.1:1892 TIME_WAIT
tcp 0 0 190.190.1.99:80 190.190.30.201:62598 TIME_WAIT
tcp 0 0 127.0.0.1:8010 127.0.0.1:1891 TIME_WAIT
tcp 0 0 190.190.1.99:80 190.190.30.201:62597 TIME_WAIT
tcp 0 0 190.190.1.99:2806 190.190.1.99:1521 ESTABLISHED
tcp 0 0 0.0.0.0:2805 0.0.0.0:* LISTEN
tcp 0 0 190.190.1.99:1521 190.190.1.99:2804 ESTABLISHED
tcp 0 0 190.190.1.99:2804 190.190.1.99:1521 ESTABLISHED
tcp 0 0 0.0.0.0:8010 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:98 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:79 0.0.0.0:* LISTEN

Recv-Q : 프로그램이 소켓을 맺고 카피되지 않은 바이트의 수.

Send-Q : 리모트 호스트에 의해 ACK 되지 않은 바이트의 수.

local address 와 forign address의미는 아실테구.

stat 가 있죠?

각 상태는 아래와 같이 구별을 하면 됩니다..

LISTEN

서버 애플리케이션이 적재되어 수동적인 모드로 포트를 개설하였음을 의미.
TCP는 연
결 요청이 수신 되기를 기다림

SYN-SENT

로컬 시스템의 클라이언트 애플리케이션이 원격 호스트에 능동적인 개설을
요청. TCP
는 Synchronize flag 를 설정한 시작 세그먼트를 전송 하였으며, 원격 시스
템도 역시
Synchronize flag 를 설정한 시작 세그먼트로 응답할 것을 기다림.

SYN-RECEIVED

서버의 TCP가 원격 클라이언트로부터 Synchronize flag가 설정된 시작 세
그먼트를 수
신하였고 자신의 시작 세그먼트로 응답 하였으며, 그 세그먼트에 대한 확인
메세지를
기다림.

ESTABLISHED

가상회선이 작동. 3단계 핸드셰이킹 과정이 완료되면 두 시스템은 이 상태
에 들어감.

FIN-WAIT-1

로컬 애플리케이션은 가상 회선에 능동적인 종결을 요청하였으며, TCP는
Finish flag
가 설정된 종결 세그면트를 전송. 그러나 TCP는 아직도 원격 시스템이 세그
먼트에 대
한 확인 메세지와 자신만의 종결 세그먼트로 응답하기를 기다림. 회선이 완
전히 종결
될 때까지 원격 시스템으로부터 데이터는 수신하지만, 추가적인 데이터를 전
송하지는
않음.

COLSE-WAIT

(FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신
되었고 로
컬 TCP는 그 세그먼트에 대한 확인 메세지를 송신 시스템에 전송함. 그러
나 로컬 TCP
는 로컬 애플리케이션에서 작업을 종료하지않아 자신의 종결 세그먼트를 생
성하지 못


FIN-WAIT-2

(FIN-WAIT-1 의 설명과 처럼) 로컬 TCP는 Finish flag 가 설정된 종결 세그
먼트를 전
송하였으며, (WAIT-CLOSE 의 설명대로) 원격 시스템으로 부터 그 세그먼
트에 대한 확
인 메세지를 수신함. 그러나 원격 애플리케이션이 아직 작업을 종료 하지 않
아 원격
TCP가 자신의 종결 세그먼트를 생성하지 못하고 있는 상태임.

LAST-ACK

(FIN-WAIT-1의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되
었고, 로
컬 애플리케이션은 회선의 종결에 합의하여 자신도 종결을 요청함. 그 결과
로컬 TCP
는 Finish flag 가 설정된 자신의 종결 세그먼트를 전송 하였으며, 이 세그먼
트에 대
한 확인 메세지가 수신되면 종결됨.

CLOSING

이 상태는 흔하지 않으며, 일반적으로 세그먼트가 네트워크에서 분실되었다
는것을 나
타냄. 이런 경우 로컬 TCP는 (FIN-WAIT-1 의 설명과 같이) Finish flag 가
설정된 종
결 세그먼트를 전송 하고 (LAST-ACK 의 설명과 같이) 원격 시스템의 종결
세그먼트도
수신하였지만, FIN-WAIT-1 단계에서 전송한 세그먼트에 대한 확인 메세지
가 수신되지
않은 상태임. 이 상태는 보통 확인 메세지가 전송 도중 분실되었다는 의미임.

TIME-WAIT

회선의 종결 절차가 완결되었으나 TCP 는 분실되었을지 모르는 느린 세그
먼트를 위해
당분간 소켓을 열어 놓은 상태로 유지. 이 상태는 새로운 연결이 기존의 연결
에서 사
용된 일련번호를 다시 사용하는 것을 막음. 원격 시스템이 종결하는 호스트
로부터 더
이상 데이터를 수신할 가능성이 없으므로, 이 상태는 능동적인 종결을 요청
한 호스트
에서만 나타남.

CLOSED

아무일도 발생하지 않음. 회선은 종결되었고, TCP는 그 가상 회선에 사용하
였던 모든
자원을 놓아줌. 이 상태를 보여줄 수 있는 가상 회선이 없으므로 아무 일도
발생하지 않음.
[root@devdb /sbin]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
190.190.1.99 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
190.190.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 190.190.1.193 0.0.0.0 UG 0 0 0 eth0


--> 라우팅 정보..

[root@devdb /sbin]# 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 42187952 0 0 0 35874672 0 0 0 BRU
lo 3924 0 40134921 0 0 0 40134921 0 0 0 LRU
--> 인터페이스 진단...

root@devdb /sbin]# netstat -vs | more
Ip:
81802612 total packets received
0 forwarded
0 incoming packets discarded
3156651 incoming packets delivered
75990690 requests sent out
Icmp:
4525 ICMP messages received
15 input ICMP message failed.
ICMP input histogram:
destination unreachable: 228
timeout in transit: 2
redirects: 507
echo requests: 3730
echo replies: 58
4666 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 936
echo replies: 3730
Tcp:
1613726 active connections openings
0 passive connection openings
41 failed connection attempts
0 connection resets received
23 connections established
78639198 segments received
75744785 segments send out
11181 segments retransmited
0 bad segments received.
121138 resets sent

Udp:
239931 packets received
790 packets to unknown port received.
0 packet receive errors
241177 packets sent
TcpExt:
118 resets received for embryonic SYN_RECV sockets
80 packets pruned from receive queue because of socket buffer overrun
152536 packets dropped from out-of-order queue because of socket
buffer overrun
65 ICMP packets dropped because they were out-of-window


--> 라우팅의 문제 및 프로토콜 진단....

참고로.. 참조 파일을 알아보면..

/etc/services -- The services translation file
/proc/net/dev -- devices information
/proc/net/raw -- RAW socket information
/proc/net/tcp -- TCP socket information
/proc/net/udp -- UDP socket information
/proc/net/igmp -- IGMP multicast information
/proc/net/unix -- Unix domain socket information
/proc/net/ipx -- IPX socket information
/proc/net/ax25 -- AX25 socket information
/proc/net/appletalk -- DDP (appletalk) socket information

/proc/net/nr -- NET/ROM socket information
/proc/net/route -- Kernel IP routing information
/proc/net/ax25_route -- Kernel AX25 routing information
/proc/net/ipx_route -- Kernel IPX routing information
/proc/net/nr_nodes -- Kernel NET/ROM nodelist
/proc/net/nr_neigh -- Kernel NET/ROM neighbours
/proc/net/ip_masquerade -- Kernel masqueraded connections

위와 같습니다..

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...