옵션 및 사용법 리눅스 명령어 net stat

Linux 명령줄 netstat 옵션 사용법 Linux :: 리눅스 CentOSnetstat 명령줄 옵션 및 사용법 리눅스 netstat 명령줄 리눅스 계열 서버 관리 시 서버에 접속된 클라이언트 및 네트워크 연결 상태를 점검하고 네트워크 인터페이스의 통계 정보를 확인하기 위한 명령어이다.#리눅스 명령어 netstat에 대한 포스팅으로서 #netstat 명령어 옵션 및 #netstat 명령어의 사용법에 대해 알아본다.

netstat 명령어 netstat 명령어는 network statistics의 약자로, 네트워크 접속 정보, 라우팅 테이블 정보, 네트워크 통계 정보 등, 현재 서버에 접속되어 있는 클라이언트의 네트워크 정보를 확인할 수 있는 명령어이다.Linux 계열 서버에서 이 명령어를 사용하면, 다음과 같은 정보를 얻을 수 있다.

net stat 명령어는 다음 형태로 사용 가능하다.나중에 옵션으로 올 수 있는 내용은 이하와 같다.옵션 설명 -a 모든 접속에 대해 확인 -c 실행한 명령을 초 단위로 재실행(Default1초) -c2:2초 단위 -l 리스닝 중 포트만 확인 -tTCP 연결 포트 확인 -uUDP 연결 포트 확인 -n 주소 또는 포트 번호 확인 -ppID/프로그램 이름 확인 -o 연결 여부 및 시간 -r 라우팅 테이블 확인

그럼 실제로 응용해서 확인해 보기로 한다.접속된 네트워크 정보를 확인하는 -netstat-anop 이라는 명령으로 현재 접속되어 있는 IP와 포트 정보를 모두 확인해 보았다.(다소 보안적으로 민감한 내용은 ★로 숨겨두었으니 참고)

보시는 바와 같이, 현재 서비스 중인 IP와 포트 정보를 확인할 수 있으며, 해당 포트에 접속된 클라이언트도 확인할 수 있다.또한, 리스닝 중의 모든 포트에 실시간으로 접속되어 있거나 끊어진 클라이언트 정보도 확인할 수 있다.

만약 내가 서비스하고 있는 포트에 과도한 클라이언트가 접속되어 있거나, ssh 포트에 관리자 이외에 알 수 없는 누군가가 접속되어 있다면 보안상 위험하기 때문에 해당 접속을 강제로 끊고 방화벽 설정을 통해 접속을 제한해야 한다.grep 옵션에서 필요한 정보 확인 후에 조치할 #netstat 명령어를 사용해 보면 알 수 있지만, 확인하지 않아도 되는 다양한 정보까지 조회할 수 있기 때문에 보기 어려울 수 있다.이 때문에 grep 명령어를 함께 활용하면 보다 쉽게 확인할 수 있다.

현재 접속되어 있는 유저 중 접속되어 있는 유저를 확인해 보았다.커맨드:netstat-anop|grep ESTABLISHED 상의 커맨드에 접속된 사용자(established)에게 필터링을 걸어서 확인한 결과이다.ssh를 통해 접속된 사용자로부터 서비스 중인 프로그램에 접속을 유지하는 클라이언트도 보인다.

이번에는 내가 서비스 중인 포트에 접속된 사용자를 확인해 보았다.명령어 : netstat-anop | grep-a”443 | 1111″ 위의 명령어는 443 port와 1111 port에 접속된 클라이언트를 확인하는 명령어이다.보안상 port를 보여주어서는 안 되기 때문에 port는 임의로 수정했다.(실제 서비스 중 port가 443과 1111이 아닌 port 번호를 변경하여 연출한다) 이와 같이 grep 명령어를 통해 필터링 하여 현재 네트워크 상황을 확인할 수 있다.

그러면 얼마나 많은 유저가 그 포토를 사용중인가 궁금할 때가 있다.서비스 중인 포트에 접속된 사용자 수를 확인해 보았다.명령어 : netstat-anop | grep-a”443 | 1111″ | wc-l 위와 같이 뒤에 wc-l 옵션으로 조회된 목록의 라인 수를 구하여 몇 명이 접속되어 있는지 확인할 수 있다.접속된 사용자 중 해커 또는 접속을 끊고 싶다면 kill 명령을 통해 접속을 끊을 수 있다.우선 PS 명령을 통해 현재 ssh로 접속된 사용자 리스트를 확인한다.내 접속을 제외한 나머지를 kill 명령으로 접속을 끊는다.ssh로 접속하였던 클라이언트 2곳이 다음과 같이 모두 종료된다.

error: Content is protected !!