728x90
반응형
리눅스에서 nc (Netcat), telnet, /dev/tcp, socat를 사용하여 통신 테스트를 할 때의 차이점을 비교표로 정리해 드리겠습니다. 아래 표는 각 도구의 주요 특징과 사용 시 고려해야 할 점들을 요약한 것입니다:
도구 | 설명 | 장점 | 단점 | 사용 사례 |
nc (Netcat) | 다양한 네트워크 연결을 위한 유틸리티로, TCP와 UDP 프로토콜 모두 지원합니다. | - 8비트 클린 연결 - 다양한 프로토콜 지원 - 스크립트와의 파이프 연결 가능 |
- 일부 시스템에서 기본적으로 설치되어 있지 않을 수 있음 | - 데이터 전송 - 포트 스캐닝 - 서버 시뮬레이션 |
telnet | 원격 호스트에 연결하기 위한 프로토콜 및 클라이언트입니다. | - 널리 사용됨 - 인터랙티브한 사용이 가능 |
- 보안이 취약함 - 일부 데이터 전송에 부적합 |
- ASCII 기반 프로토콜 테스트 - 원격 관리 |
/dev/tcp | 쉘 내장 기능으로, TCP 연결을 위한 가상 파일 시스템을 제공합니다. | - 별도의 프로그램 설치 필요 없음 - 간단한 테스트에 적합 |
- 모든 쉘에서 지원되지 않음 - 기능이 제한적 |
- 간단한 연결 테스트 - 쉘 스크립트 내 사용 |
socat | 더욱 강력한 nc의 대안으로, 다양한 데이터 전송과 포워딩 옵션을 제공합니다. | - 양방향 데이터 파이프라인 - 다양한 주소 유형 지원 |
- 사용법이 복잡할 수 있음 | - 포트 리스닝 및 연결 - 파일 및 프로세스 I/O - 프록시 브리징 |
nc는 텍스트와 바이너리 데이터 모두를 전송할 수 있으며, telnet은 주로 텍스트 기반 프로토콜에 사용됩니다.
/dev/tcp는 쉘 스크립트 내에서 간단한 연결 테스트에 유용하지만, 모든 시스템에서 지원되지 않을 수 있습니다.
socat는 nc의 기능을 확장한 도구로, 더 많은 기능과 유연성을 제공합니다
- Netcat (nc):
- 포트 스캐닝:
이 명령은 10.10.8.8 호스트의 20부터 80까지의 포트를 스캔합니다. -z 옵션은 연결을 시도하지 않고 열린 포트만 확인하며, -v 옵션은 자세한 정보를 제공합니다.nc -z -v 10.10.8.8 20-80
- 서버 소프트웨어 버전 확인:
이 명령은 10.10.8.8 호스트의 SSH 포트 22로 “EXIT” 명령을 보내 서버 소프트웨어 버전을 확인합니다.echo "EXIT" | nc 10.10.8.8 22
- 포트 스캐닝:
- Telnet:
- 접속 테스:
이 명령은 로컬호스트의 8080 포트로 접속하여 인터랙티브하게 통신합니다.telnet localhost 8080
- 접속 테스:
- /dev/tcp:
- 간단한 연결 테스트:
이 명령은 Google.com의 80번 포트로 연결을 시도합니다.cat < /dev/tcp/google.com/80
- 간단한 연결 테스트:
- Socat:
- TCP 포트 포워딩:
이 명령은 8080 포트로 들어오는 연결을 받아서 입력을 그대로 출력하는 Echo 서버를 생성합니다.socat -v tcp-listen:8080 system:cat
- TCP 클라이언트로 파일 전송:
이 명령은 파일을 송신 측에서 수신 측으로 전송합니다.# 수신 측에서 실행 socat -v tcp-listen:5555 system:cat > received_file.txt # 송신 측에서 실행 cat file_to_send.txt | socat -v tcp-connect:localhost:5555
- TCP/Unix 도메인 프록시 생성:
이 명령은 TCP와 Unix 도메인 소켓을 변환하는 프록시를 만듭니다.# 서버 생성 socat -v tcp-listen:8080 fork system:cat # 클라이언트 생성 socat STDIN unix-connect:proxysocket
- TCP 포트 포워딩:
728x90
반응형
LIST
'Network' 카테고리의 다른 글
[Network] OS별 Ethernet Lan 카드 브랜드 조회 명령어 (1) | 2023.12.13 |
---|---|
[Network] L4, L7의 다양한 Loadbalancer 비교 설명 (1) | 2023.12.01 |
[Network] 공인IP 와 사설IP 비교 (1) | 2023.09.26 |
[Network] L2, L3, L4, L7 스위치 간단 비교 (1) | 2023.03.31 |