반응형

 

  • PID가 없는 포트 추적하기(linux pid none, linux pid minus sigh)

간혹 우리는 netstat 명령을 실행했을 때 PID/Program name이 없는 포트들을 확인할 수 있습니다. 참고로 계정 권한 문제에 의해 PID/Program name이 안보일 수 있으니 먼저 sudo 또는 관리자 권한으로 netstat를 확인 해보셔야 합니다.

저는 마땅한것이 없어서 아래 사진의 2049 포트와 36259 포트를 추적해보도록 하겠습니다.

* 해당 글은 PID/Program name이 - 으로 표시되는 포트를 추적해볼 수 있는 여러가지 명령어에 대한 내용만 작성 되었습니다. 환경에 따라 아래 명령어들의 출력 결과가 다를것이니, 무작정 따라하지 마시고 명령어를 입력해가며 추적하셔야 합니다.

 

  • 1) rpcinfo, lsof, fuser

저의 경우 rpcinfo를 통해 바로 확인이 되었습니다.

rpcinfo -p | grep 2049
rpcinfo -p | grep 36259

lsof | grep 2049
lsof | grep 36259

fuser 2049/tcp
fuser 36259/tcp

 

  • 2) netstat -ltpane, lsof

아래와 같이 netstat -ltpane를 사용해 inode를 확인하고, lsof로 해당 inode가 있는지 확인 해보앗지만 저는 찾을 수 없었습니다.

# inode 확인
netstat -ltpane

# lsof로 inode 추적 시도
lsof | awk 'NR==1 || /20975/'
lsof | awk 'NR==1 || /20990/'

 

  • 3) ss -t -l

저는 ss 명령어를 통해 한번 더 2049 포트는 nfs인것이 확인 되었고 36259 포트는 ss 명령어로는 확인이 되지 않았습니다.

ss -t -l 'sport = 2049'
ss -t -l 'sport = 36259'

 

  • 4) netstat -ltp | egrep -- '-[[:space:]]*$'

해당 명령의 경우 소켓이 프로세스가 아닌 커널에 속하는것을 확인하는 것인데, 아까 확인했던 nfs(2049)와 현재 찾고자하는 36259 포트가 확인 되었습니다.

 

  • 마무리

netstat를 햇을 때 PID/program name이 - 으로 표시되는 경우 위와 같은 명령어들로 추적을 해볼 수 있었습니다. (PID/Program name이 표시되지 않을 때 가장 많이 사용되는 대표적인 명령어들 입니다.)

저같은 경우 36259 port에 대해 rpcinfo 외의 방법으로는 잘 확인이 되지 않았고, 다른 방법들이 있는지 확인해보려 했으나 시간 관계상 여기까지만 포스팅하게 되었습니다.

 

반응형

+ Recent posts