Linux 명령어 | 네트워크 | netstat 네트워크 상태 확인
netstat 명령어
network statistics
의 줄임말로 네트워크 인터페이스나 프로토콜 상에서의 통계를 보여주는 소프트웨어 혹은 도구이다. 대체로 네트워크의 상태 및 성능을 측정하고 네트워크 상의 문제점을 파악할 때 많이 쓰인다.
netstat 사용법
netstat [옵션] [| grep 포트 번호 or 서비스 명]
option:
-l
(listen) : 연결 가능한 상태-n
(number port) : 포트 넘버-t
(tcp) : tcp-u
(udp) : udp-p
(Program name / PID) : 프로그램 이름 / PID. 어떤 프로세스에서 해당 통신을 사용하고 있는 지를 보여준다.-a
(all) : 모두. ESTABLISHED 뿐만 아닌 모든 State에 대한 소켓들의 정보를 보여준다
netstat 사용 예시
$ netstat
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 192.168.0.1.62123 111.111.11.111.https ESTABLISHED
- Proto : 해당 통신이 사용하는 프로토콜을 나타낸다.
- Recv-Q , Send-Q : 해당 통신이 사용할 때 소켓 사이즈 버퍼를 의미하며 Recv-Q의 경우 recv()를 - 통해 처리 받지 못한 데이터를 의미하며 Send-Q의 경우 send()를 통해 보냈지만 아직 완전하게 외부로 보내지지 않은 데이터의 크기를 의미한다.
- Local Address, Foreign Address : 말 그대로 해당 통신에서 나가는 내 주소와 목적지에 해당하는 주소를 의미한다.
- (state) : ESTABLISHED, LISTEN과 같은 상태를 나타낸다.
NOTE
포트
서버에 열린 문을 의미하며 숫자로 표현된다. IP를 타고 서버에 접속할 때 서버에 여러 포트가 있다.
TCP와 UDP
TCP: 속도↓, 상호 통신(신뢰성↑), 질의응답 o, stream
UDP: 속도↑, 일방 통신(신뢰성↓), 질의응답 x, datagram(dgram)
netstat 옵션은 주로 -lntup를 쓴다.
그 외에 -antup, -ltup, -atup 등을 쓴다.
/etc/services는 서비스 명 및 포트 정의 파일이고 포트 넘버를 확인 가능하다.
최종 수정 : 2019-10-14