-
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 외의 방법으로는 잘 확인이 되지 않았고, 다른 방법들이 있는지 확인해보려 했으나 시간 관계상 여기까지만 포스팅하게 되었습니다.
'Operating System > CentOS' 카테고리의 다른 글
[CentOS] CentOS 관리자(root)계정 콘솔 로그인 제한 (linux disable root login console) (1) | 2021.01.13 |
---|---|
[CentOS] CentOS Stream 발표, 그리고 Project Lenix와 록키 리눅스(Rocky Linux) (0) | 2020.12.18 |
[CentOS 7] 리눅스 Python 3 설치 후 yum 에러 (SyntaxError: invalid syntax) (0) | 2020.07.16 |
[CentOS 7] 리눅스 AWK 개념 (awk 필드와 레코드에 대해, linux awk) (3) | 2020.07.15 |
[CentOS 7] 리눅스 시간 동기화 실패 시 해결 방법 (ntp, ntpdate) (0) | 2020.06.25 |