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
위와 같습니다..
를 알수 있는 명령어 입니다.
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
위와 같습니다..
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.