리눅스에서 포트를 보는 경우가 두가지가 있습니다.
하나는 포트가 이미 사용중이어서 서비스를 시작하지 못하는 경우와
서비스가 가동 되었으나 접속이 불가능할 때, 포트가 열려있는지 확인할 때지요.

첫번째의 경우에는 PID는 확인할 필요가 없습니다.
하지만 포트가 개방되어있는지 뿐만 아니라 방화벽 등등을 거쳐 실제로 외부에서 접속 가능한지도 확인할 수 있어야 합니다.

두번째 경우에는 방화벽이 열려있는지는 나중에 확인해도 되지만
PID나 프로세스 이름은 알 수 있어야 합니다.

저는 이 분의 방법을 참조했습니다.

nc

하지만 저는 nc는 안되더라구요..
그리고 실제로 브라우저에서 접속이 가능해도 접속 불가라고 나옵니다.

/dev/tcp

저는 이 방법을 보고 이 글을 작성하게 되었습니다

timeout 5 bash -c 'cat < /dev/null > /dev/tcp/[IP]/[PORT]'; echo $?
timeout 5 bash -c 'cat < /dev/null > /dev/udp/[IP]/[PORT]'; echo $?

시도해보니 UDP는 작동하지 않습니다.
되돌아 오는 값이 없다보니 무조건 0이 return 되더군요

/dev/TCP 결과

TCP 결과는 세가지 숫자로 나오는데 각 의미는 다음과 같습니다.

# 0   // 성공 
# 1   // 실패 연결 전 에러(hostname not known등 오류)
# 124 // 실패 Timeout 에러

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock