리눅스에서 소캣 통신 테스트를 위한 도구로 ncat(줄여서 nc)을 제공한다. (TCP, UDP)
혹시 설치가 필요하다면 yum install nc 등 을 통해서 설치 후 사용한다.
nc는 소켓 통신에서 클라이언트 역할뿐만 아니라 -l 옵션을 통해서 서버 역할도 수행이 가능한데 오늘은 이 기능에 대해서 예제를 통해서 알아보려고 한다.
1. TCP 소켓 생성 후 접속 대기
nc -v -l -k IP PORT
ex.
$ nc -v -l -k 10.0.2.15 1111
Ncat: Listening on 10.0.2.15:1111
서버(IP : 10.0.2.15)에서 소켓(PORT : 1111) 생성 후 클라이언트의 접속을 기다린다. (LISTEN)
2. TCP 소켓 생성 후 다른 TCP 소켓에 접속
nc -v -s SOURCE_IP -p SOURCE_PORT DESTINATION_IP DESTINATION_PORT
ex.
$ nc -v -s 10.0.2.16 -p 2222 10.0.2.15 1111
Ncat: Connected to 10.0.2.15:1111.
클라이언트(IP : 10.0.2.16)에서 소켓(PORT : 2222) 생성 후 서버(IP : 10.0.2.15)의 소켓(PORT : 1111)으로 접속을 시도한다. (SENT)
3. 네트워크 상태 확인
netstat -an | grep PORT
ex.
$ netstat -an | grep 1111
tcp 0 0 10.0.2.15:1111 10.0.2.16:2222 ESTABLISHED
1111번 포트의 네트워크 상태를 확인한다. (ESTABLISHED)
한줄의 명령어로 간단하게 TCP 소켓 서버를 생성하고 연결, 데이터 송수신 테스트까지 수행할 수 있다.
'알아두면 좋은 IT 지식 > Network' 카테고리의 다른 글
"그쪽 네트워크 문제 아니에요?" 네트워크 분쟁의 해결사 TCPDUMP 사용법 (생성~분석) (0) | 2022.11.03 |
---|---|
[IT] Telnet의 전송키는 Enter키가 아니다? (Not Enter But Ctrl+D?) (0) | 2022.08.05 |
[리눅스] 가장 간단한 3가지 통신 테스트 방법 (telnet, curl, /dev/tcp) (0) | 2022.06.24 |
curl post json http telnet sftp 명령어 사용법 옵션 예제 (1) | 2022.02.07 |
윈도우 서버 원격 데스크톱 연결 사용법 / 클립보드 설정 (0) | 2020.09.09 |