[Linux Study-7] netstat 활용법
안녕하세요.
오늘은 netstat에 대해서 정리할까합니다.
netstat
netstat란 무엇일까요?
netstat는 시스템 네트워크 연결 목록을 보여주는 명령어입니다.
(TCP, UDP, 소켓 등)
netstat도 여러 옵션을 가지고 있습니다. 먼저 netstat 명령 옵션에 대해서 알아봅시다 ㅎㅎ
-a : 모두 보여주기
-e : 확장 정보 추가. User부분과 Inode 열이 추가
-l : 대기중인 소켓 리스트만 보여줌
-n : 도메인 주소 대신 숫자로 출력
-t : TCP 프로토콜 보기
-u : UDP 프로토콜 보기
이 기능 또한 조합이 가능한 것 아시죠 ? 저는 -na를 자주 사용한답니다!
[root@localhost ~]# netstat -na |
그럼 아래와 같이 시스템 네트워크 연결 목록을 보여줍니다.
[root@localhost ~]# netstat -na Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 :::2222 :::* LISTEN |
대략 각 항목이 무엇을 뜻하는 지 다 아시겠죠?
하지만 여기서 State의 종류에 대해 정리해보고 가겠습니다. (자주 보이는 것들만 ^^;;)
- CLOSED : 닫힌 상태
- CLOSING : 닫히고 있는 중
- ESTABLISHED : 연결이 완료된 상태
- LISTEN : 대기중인 포트. 포트가 열려 있음
- SYN_RECV : 연결 요청을 받은 후에 확인 값을 기다리는 상태
- SYN_SENT : 목적지에 연결 요청
- TIME_WAIT : 연결이 종료된 후 기다리는 상태. 약 1분 정도이며 시간이 다 지나면 사라짐.
- UNKNOWN : 소켓의 상태를 알 수 없음.
이러면 netstat에 대한 기본적인 사용법에 대해서 완성입니다.
여기서 Tip을 하나 드리자면, 많은 연결 및 대기 중인 포트가 있는 사용자 환경의 경우
netstat명령은 수 많은 목록을 보여줍니다.
그렇기에 원하는 포트를 찾기 위해서 또 다시 목록에서 검색을 해야 합니다.
이럴 때 유용한 명령어가 바로 grep입니다. grep을 활용하여 특정 단어가 들어있는
목록만 표시할 수 있거든요. 다른 여러 명령어와 결합하여 유용하게 활용됩니다.
자세한 grep의 소개와 활용법은 다음 포스팅에서 하겠습니다.
여기서는 어떻게 사용하는지에 대해서 대략적으로만 설명 할게요.
[root@localhost ~]# netstat -na | grep ESTABLISHED |
위와 같이 명령어를 입력하면 'ESTABLISHED' 가 포함된 목록을 보여줍니다.
즉, 현재 연결이 완료된 상태의 목록을 보여주는 것 이지요.
오늘은 우선 이정도만 알려드려도, grep을 활용할 수 있겠죠?
netstat를 잘 활용하여 현재 시스템 상태를 잘 파악할 수 있답니다. ^^
그럼 이만 마치고, 다음 시간에 뵐게요. 감사합니다.