DevOps/DevOps

[Mac OS]웹서버 - 클라이언트 간단 실습 (netcat-nc)

chanstory 2022. 12. 11. 23:18
반응형

nc 명령어를 사용하여 웹서버 (멀티패스)와 클라이언트 (웹 브라우저 접속) 구성의 간단한 통신을 테스트 해보고자 한다.

 

 

nc 명령어 

- nc 란 TCP 또는 UDP 프로토콜을 사용하는 네트워크 환경에서 데이터를 읽고 쓰는 용도로 사용된다.

- 상대 포트 상태 확인 또는 서버가 되어 원격 서버에서 접속이 가능한지 확인하는 용도로도 사용된다.

- 사용법 : $ nc <옵션> <호스트> <포트>

 

 

실습

1. 멀티패스 (우분투 가상환경) 에서 포트 8000번에 LISTEN 모드 실행

- 별다른 응답이 발생하지 않는다.

 

2. 웹 브라우저를 실행하여 서버 IP의 8000번 포트로 진입한다.

 

3. 웹 브라우저의 데이터 요청에 대한 내용이 서버에게 출력된다.

HTTP 메시지 요청 구조 중 몇가지를 살펴본다.

 

GET / HTTP / 1.1        // Start Line (GET 메소드를 통한 데이터 요청)

HOST : 192.168.64.2 : 8000        // 요청하는 호스트에 대한 호스트 명 및 포트번호 (필수항목)

Connection : keep-alive   //  현 TCP 커넥션을 유지

User-Agent    // 클라이언트 소프트웨어 (웹 브라우저) 명칭 및 버전 정보

Accept    // 클라이언트 자신이 원하는 미디어 타입 및 우선순위

 

 

4. 클라이언트의 요청에 대한 응답을 전송한다.

- html 타입, UTF-8 인코딩 방식의 데이터 전송

- 'A webpage served with netcat' 문구 출력 예상

 

 

5.  브라우저에 데이터 출력 확인

 

6.  웹 브라우저에서 F12(개발자도구)를 통하여 요청 내용 확인 

- Header

-Timing

 

7. 간단한 웹 서버 클라이언트  통신 실습 완료

-  HTTP 요청 및 응답 데이터 분석

 

 

 

**참고링크**

 

HTTP 요청에 대한 부가적인 내용은 아래 게시물 링크 참고 바랍니다.

https://chance-story.tistory.com/8

 

HTTP Message 구성 및 특징

HTTP - Hyper Text Transfer Protocol - HTML과 같은 문서를 전송하기 위한 응용계층 프로토콜 이다. - 웹 브라우저와 웹 서버의 통신에 사용됨 (서버와 클라이언트가 HTTP Messages 양식에 맞춰 요청 및 응답 실

chance-story.tistory.com

 

http://www.ktword.co.kr/test/view/view.php?m_temp1=5905 

 

HTTP 헤더 항목

HTTP 요청 헤더 항목, HTTP 응답 헤더 항목, HTTP 일반 헤더 항목, HTTP 엔터티 헤더 항목, User-Agent

www.ktword.co.kr

https://sh-safer.tistory.com/74

 

[Linux] nc 명령어

nc 란? TCP 또는 UDP 프로토콜을 사용하는 네트워크 환경에서 데이터를 읽고 쓰는 간단한 프로그램. 일반적으로 상대 서버의 포트가 열렸는지 확인하거나, 직접 서버가 되어 원격 서버에서(클라이

sh-safer.tistory.com

 

반응형