강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

netstat의 주요옵션들과 라우팅테이블 읽고 해석하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

netstat의 주요옵션들과 라우팅테이블 읽고 해석하기

 

 

 

 

 

먼저 시스템관리자나 네트워크관리자들이 netstat에서 주로 사용하는 유용한 netstat옵션들에 대해서 알아보도록 하자.

 

 

 

, 다음은 netstat의 주요옵션들에 대한 간략한 설명이다.

 

 

 

 

 

-a 옵션 : --all과 같으며 listen되는 소켓정보와 listen되지않는 소켓정보 모두 보여줌.

 


-n
옵션 : --numeric과 같으며 10진수의 수치정보로 결과를 출력해줌.

 


-r
옵션 : --route과 같으며 설정된 라우팅정보를 출력해줌.

 


-p
옵션 : --program과 같으며 실행되고있는 각 프로그램과 PID정보를 출력함.

 


-i
옵션 : --interface=iface과 같으며 모든 네트워크인터페이스정보를 출력함.

 


            
또는 특정 네트워크인터페이스를 지정할 수도 있음.

 


-c
옵션 : --continuous과 같으며 netstat결과를 연속적으로 출력함.

 


-l
옵션 : --listening과 같으며 현재 listen되고 있는 소켓정보를 출력

 


-s
옵션 : --statistics과 같으며 각 프로토콜에 대한 통계정보를 출력

 

 

 

그렇다면 이제 netstat를 사용하여 확인할 수 있는 가장 간단한 사용예를 보도록 하자.

 

 

, 현재 시스템이 어떤 경로로 데이터를 라우팅하는가를 확인하고자 할 때에는 -rn옵션을 사용하면 간단히 확인할 수 있다.

 

 

 

 물론, 시스템 라우팅경로를 확인하는 가장 흔한 방법은 “route”를 실행하는 것이다.

 

 

 

 하지만 앞서 말했던 것 처럼 netstat으로도 얼마든지 라우팅경로를 확인할 수 있다.

 

 

 

 , 다음은 실제로 인터넷서비스를 하고 있는 서버의 라우팅테이블 확인 예이다.

 

 

 

 

 

[root@sulinux ~]#netstat -rn

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0

[root@sulinux ~]#

 

 

 

여기서 중요한 것은 "netstat -rn"이라는 명령어를 사용하는 방법을 아는 것이 아니라 "netstat -rn"의 출력 결과를 이해할 수 있어야 한다는 것이다.

 

 

 

 , 위의 결과로 나온 이 시스템의 라우팅테이블의 의미는 다음과 같다.

 

 

 

 

 

  일단 모든 패킷들은 이 라우팅테이블의 적용을 받아서 어디로 보내질것인가를 결정한다.



  특정패킷을 보내기 위하여 위의 한행씩 차례대로 읽혀져서 어디로 보낼지 결정한다.

 

  해당 행의 GenMask(SubnetMask)과 보낼 패킷의 목적지 IP주소와의 AND연산을 수행 결과가 해당 행의 Destination값과 같은 때에는 그 행에 설정된 인터페이스(Iface항목) 이더넷으로 해당 패킷을 보내게 된다.



  어디로 보내질것인지 결정되었다면 그 이하에 있는 행들을 더 이상 읽지 않는다.

 

  , 해당 패킷의 경로가 결정이 되어버리면 해당 패킷에 한해서 라우팅경로선택과정은 더 이상 진행되지 않고 멈춘다.

 

   물론, 새로운 패킷의 새로운 경로를 결정하기 위한 위의 AND연산은 계속 수행되고 있다.

 

  이 시스템이 사용하는 기본게이트웨이는 192.168.0.1이다.

 

   , 대부분의 패킷들은 외부와의 통신을 하기 위하여 eth0 이더넷 인터페이스를 통해서 기본게이트웨이인 192.168.0.1로 보내진다.

 

 

 


이 라우팅테이블은 가장 간단한 형태로서 자기 자신에게 보내어지는 데이터는 "lo"라는 인터페이스로 보내고(, 자기자신에게 보냄) 외부로 나가는 데이터들은 모두 eth0를 통하여 192.168.0.1로 보내게된다.

 

 

 

 물론 192.168.0.1로 보내어진 데이터들은 192.168.0.1의 라우팅테이블 의해서 다시 다른 네트워크로 보내지게 될 것이다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,772 개
  • 현재 접속자 :  194 명