netstat으로 출력되는 네트워크 정보들의 의미

netstat은 네트워크 관련 정보들을 표시하는 명령줄 도구입니다. 리눅스와 윈도우에서 모두 사용 가능하며, 주로 서버에서 특정 서비스를 실행하고 바인딩한 포트에서 정상적으로 리스닝 상태를 유지하고 있는지 확인하기 위해 사용하곤 합니다.

netstat -ntlp

저는 netstat에 ntlp 옵션을 붙여서 자주 사용합니다.

  • n : 도메인이 아닌  숫자로 주소를 표기합니다.
  • t : tcp 프로토콜을 사용하는 소켓만 출력합니다. udp 프로토콜은 아무래도 잘 쓰지 않기 때문에 이 옵션을 쓰고 있습니다. 
  • l : LISTEN 상태인 소켓만 출력합니다.
  • p : 소켓에 연결된 프로세스의 이름과 PID를 출력합니다.
netstat -ntlp

netstat

 

항목 의미
Proto 소켓에서 사용하는 프로토콜을 나타냅니다. tcp 또는 udp로 표현됩니다. tcp6는 IPv6에 사용됩니다. 
Recv-Q / Send-Q 소켓 대기열에 있는 데이터의 양을 나타냅니다. Recv-Q는 전달받았는데 처리하지 못하고 있는 데이터를, Send-Q는 아직 전송되지 못하고 있는 데이터입니다. 둘 모두 값이 0이면 지연되고 있는 데이터가 없다는 의미이니 정상이라고 이해할 수 있습니다. 
Local Address / Foreign Address 소켓이 연결된 호스트와 포트를 나타냅니다. Local은 자신의 컴퓨터에서 수신을 대기하고 있는 호스트를 의미하며 Foreign은 외부 컴퓨터에 대한 호스트 정보를 출력합니다. 

예를 들어 Local Address 0.0.0.0:111, Foreign Address 0.0.0.0:*은 내부 모든 IP 주소의 111포트에서 외부의 모든 주소와 포트에 대해 통신을 대기하고 있다는 의미입니다.
State 소켓의 상태를 나타냅니다. 예시에선 l 옵션을 줘서 LISTEN 상태만 출력되고 있습니다. 
PID/Program name 소켓이 열려 있는 프로세스의 PID와 프로세스 이름을 나타냅니다. 

 

반응형

댓글

Designed by JB FACTORY