IT잡학/Linux

리눅스 서비스 포트 테스트 방법(netcat, nc -l)

고기버스 2025. 1. 10. 00:10
반응형
애플리케이션 설치 전 네트워크 통신 상태를
점검하고 싶은데 할 수 있는 방법은 없을까?

 

port 테스트 목적을 위한 netcat 명령어 사용 방법

 

netcat 명령어는?

 - netcat 명령어(유틸리티)는 nc 구문으로 명령을 시작하고 여러 가지 옵션 사항들이 있습니다.

 - 여러 옵션 중에서 우리는 nc -l 명령어만 알고 익힌다면 네트워크 port 가 어떤 상태인지(열렸는지? 막혔는지?) 간단하게 확인할 수 있는 유용한 스킬을 획득할 수 있습니다.

 

 - nc -l  명령어는 Netcat에서 리스닝 모드를 활성화해, 지정된 포트에서 연결을 기다리는 명령어입니다.

 

netcat_logo

 

 

 ○ 사용방법

 

# 서버 (리스닝) - 서버의 IP주소 192.168.1.100
nc -l 12345

# 클라이언트 (연결 시도 )
 nc 192.168.1.100 12345

 

 

  연결 성공

1. 연결 성공 시, 아무 메시지 없이 입력 대기 상태로 넘어갑니다. 

2. 만약 -v 옵션을 추가했다면, 연결 정보를 더 자세히 볼 수 있습니다. 

 

예를 들어 : 

#클라이언트
nc -v 192.168.1.100 12345

 

이 경우, 연결 시 다음과 비슷한 출력이 나타납니다.

#클라이언트
Connection to 192.168.1.100 12345 port [tcp/*] succeeded!

 

반응형

 

 연결 실패 Case

 

1. 연결 거부(Connection Refused)

 - 만약 서버가 해당 포트에서 연결을 수락하지 않거나, 해당 포트가 열려 있지 않다면, 다음과 같은 메시지가 나타날 수 있습니다.

# 클라이언트
nc: connect to 192.168.1.100 port 12345 (tcp) failed: Connection refused

 

2. 서버가 응답하지 않음(Connection Timeout)

 - 서버가 해당 포트에서 연결을 수락하지만 응답이 없거나 서버가 너무 느리게 반응하는 경우에는 연결 대기 시간 초과가 발생할 수 있습니다. 이 경우, 다음과 같은 메시지가 출력됩니다.

#클라이언트
nc: connect to 192.168.1.100 port 12345 (tcp) failed: Connection timed out

 

3. 포트가 열리지 않음(No Route to Host)

- 서버 IP 주소가 올바르지만, 네트워크 상에서 해당 호스트에 연결할 수 없는 경우에는 다음과 같은 메시지가 표시될 수 있습니다.

#클라이언트
nc: connect to 192.168.1.100 port 12345 (tcp) failed: No route to host

 

 

○ nc -l 명령어 정리

  - 특정 서비스를 올리지 않은 상태에서도 포트 통신 점검 가능

  -  네트워크 문제를 빠르게 진단하고 해결하는 데 큰 역할을 함

  - nc 명령어의 다른 옵션을 사용하면 메시지 전송, 파일 전송이 가능한 아주 매력적인 도구

 

 

 

반응형