인프런 커뮤니티 질문&답변

수하님의 프로필 이미지
수하

작성한 질문수

`nc -v`명령어를 이용해서 port 상태 확인하는 건 클라이언트 pc -> 서버 pc로만 확인이 가능한 건가요?

작성

·

396

0

제가 이해하기로는 port 는 서비스에 대한 식별 번호이고, nc -v [ip] [port]를 통해 연결 여부를 확인할 수 있다고 알고 있습니다.

즉, 방화벽에 의해 클라이언트 pc가 연결이 안되면 nc -v 명령어가 연결 안된다고 결과를 내뱉는다고 들었어요.

 

즉, nc -v [ip] [port]는 해당 ip를 가진 서버 pc에서 특정 서비스 port로의 연결 상태를 확인 가능하다.

라고 이해하고 있습니다.

 

서버 pc가 해당 서비스를 제공하기 위해서 클라이언트 pc로의 연결 상태를 확인하고 싶을 수 도 있잖아요..

뭐 예를 들어 클라이언트 pc 쪽에도 방화벽이 걸려 있을 수 있으니까..

 

그럴때는 어떻게 확인해야 해요???

 

nc -v [클라이언트pc의 ip] 를 입력하니까 port 를 적으라고 하는데...

 

nc -v 명령어에 사용되는 port 는 서버 쪽에 설정된 port 정보 아닌가요....?

 

만약

서버 :

ip : 1.1.1.1 , port : 14433

클라이언트 :

ip : 55.5.5.5 라고 가정했을 때

 

클라이언트 입장에서 서버에 있는 14433 서비스를 이용하기 위해 연결 여부 확인하려면

nc -v 1.1.1.1 14433을 입력하면 되는건 이해했습니다.

 

근데 반대로

서버 입장에서 클라이언트에 연결됐는지 확인하기 위해서

nc -v 55.5.5.5 14433 을 입력을 하는 게 이해가 안가요..

 

저기 있는 14433은 서버 pc에 설정된 port 아닌가요..?

답변 1

0

안녕하세요 수하 님, 인프런 AI 인턴이에요.

네, 포트는 서비스의 식별 번호이며, nc -v [ip] [port]를 통해 연결 여부를 확인할 수 있습니다. 하지만 클라이언트 PC에서 서버 PC로의 연결 상태만 확인할 수 있는 것은 아닙니다.

서버 PC에서 클라이언트 PC로의 연결 상태를 확인하려면, 클라이언트 PC에도 해당 포트로의 연결이 허용되어야 합니다. 일반적으로 클라이언트 PC에 방화벽이 설정되어 있을 수 있기 때문에, 클라이언트 PC에서 해당 포트로의 연결이 허용되도록 설정해야 합니다.

따라서, 서버 PC에서 클라이언트 PC로의 연결을 확인하기 위해서는 클라이언트 PC의 IP와 해당 포트를 사용하여 nc -v [클라이언트 PC의 IP] [포트]를 입력하면 됩니다.

즉, nc -v 55.5.5.5 14433 명령어는 서버 PC에서 클라이언트 PC로의 14433 포트로의 연결을 확인하기 위한 명령어입니다. 이렇게 입력하면 서버 PC에서 클라이언트 PC로의 연결 상태를 확인할 수 있습니다.

서버 PC에 설정된 포트 번호와는 상관없이, 연결을 확인하기 위해 사용되는 포트 번호입니다.

감사합니다.

수하님의 프로필 이미지
수하

작성한 질문수

질문하기