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

열려진 포트를 사용하고 있는 프로세스 확인하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

열려진 포트를 사용하고 있는 프로세스 확인하기

 

 

 

 

앞에서 이미 설명하였듯이 netstat을 이용하여 프로세스정보 즉, 현재 서버에서 응답가능한(LISTEN상태인, 서버에서 열려있는) 포트를 사용하고 있는 프로세스(혹은 데몬)들을 확인할 수 있다.

 

 

 

 먼저, 이에 대한 예를 보자. 다음 예는 netstat명령어에서 -atp옵션을 사용한 것이다.

 

 

 

 

 

[root@sulinux ~]#netstat -atp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address        Foreign Address             State       PID/Program name  

tcp     0  0 su250.com:domain            *:*                         LISTEN      2278/named         

tcp     0  0 su250.com:smtp              *:*                         LISTEN      2306/sendmail: acce

tcp     0  0 su250.com:rndc              *:*                         LISTEN      2278/named         

tcp     0  0 localhost6.localdoma:domain *:*                         LISTEN      2278/named          

tcp     0  0 *:ssh                       *:*                         LISTEN      1901/sshd          

tcp     0  0 localhost6.localdomain:rndc *:*                         LISTEN      2278/named         

tcp     0  0 ::ffff:192.168.0.250:ssh    ::ffff:192.168.0.1:ii-admin ESTABLISHED 2391/sshd: sspark

tcp     0  148 ::ffff:192.168.0.250:ssh  ::ffff:192.168.0.1:simba-cs ESTABLISHED 2184/0             

[root@sulinux ~]#

 

 

 

 

, 위의 예는 현재 시스템에서 포트가 살아있고 서비스가 가능하기 때문에 응답이 가능한프로세스들을 확인한 것이다.

 

 

 

 무엇보다 중요한 것은 위의 결과의 의미를 해석할 수 있어야 한다는 것이다.

 

 

 

 위의 결과 행 가운데 다음 행에 대하여 해석해 보도록 하자.

 

 

 

 

tcp      0     0 *:ssh                       *:*   LISTEN      1901/sshd

 

 

 

 

이 행의 의미는 sshd라는 데몬이 1901 PID로 실행되어 있고, tcp연결로 연결(응답)이 가능한 상태(LISTEN)라는 의미이다.

 

 

 

 

 

tcp     0  0 ::ffff:192.168.0.250:ssh    ::ffff:192.168.0.1:ii-admin ESTABLISHED 2391/sshd: sspark

 

 

 

 

이 행은 192.168.0.250번 호스트(서버) ssh포트(22) 192.168.0.1번 호스트와 ssh연결(ESTABLISHED)이 되었으며 sspark이라는 ID로 접속되어 있다는 것을 의미한다.

 

 

 

 

 

 

그렇다면 사용자의 PC에서는 연결정보를 어떻게 확인할까?

 

 

어리석은 질문이라고 비난하지 말자.

 

 

여러분들이 알고 있다는 것을 필자도 잘 알고 있다.

 

 

 

 그러면서도 이런 질문을 하는것은 우리가 지금 공부하고 있는 핵심이 무엇인가를 상기시키기 위함이다.

 

 

 

 서버와 PC간의 세션연결이 되고나면 앞에서 확인하였던 바와 같이 서버내에서 연결정보를 netstat이라는 명령어를 이용하여 확인하였다.

 

 

 

 그렇다면 PC에서도 netstat이라는 명령어를 이용하여 연결정보를 다음과 같이 확인할 수 있다.

 

 

 

 

 

316fee9c12ed6bd492a864a12bb0b067_1684397303_3615.jpg
 

 

 

 

 

, 위의 예는 윈도우PC의 명령창(cmd.exe)을 실행하여 netstat을 실행한 것이다.

 

 

 

 위의 결과에서 다음과 같은 행을 확인할 수 있다.

 

 

 

 

 

TCP   sspark:1543        192.168.0.250:22         ESTABLISHED

 

 

 

 

위 행은 필자의 윈도우PC에서 192.168.0.250서버와 ssh연결(22번포트)상태임(ESTABLISHED)을 나타내고 있는 것이다.

 

 

 

 

 

필자가 설명하고자 하는 것은 너무도 분명하였다.

 

 

 

 우리가 알아야 하는 핵심은서버와 PC, 또는 서버와 서버 사이에 특정 서비스로 연결되고 나면 그 것을 확인할 수 있어야 한다는 것이다.

 

 

 

 , 서버시스템이든 윈도우 같은 데스크톱시스템이든 netstat을 이용하여 이와 같은 정보를 얼마든지 확인할 수 있다.

 

 

 

 그리고 netstat으로 확인한 결과의 의미를 또한 정확하게 알 수 있어야 한다.

 

 


관련자료

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

공지사항


뉴스광장


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