[드림핵] Dream Beginners 2

큐가·2025년 3월 9일
1

드림핵

목록 보기
2/5

1. NC(Netcat)

Netcat (nc)

  • 소켓: 통신을 위한 가장 작은 단위의 프로토콜
  • Netcat(nc): 서버에서 특정 포트를 통해 서비스를 동작시키는 환경을 구성해야 하는데, 클라이언트가 프로그램과 통신하기 위해서 사용하는 도구. 현대의 거의 모든 네트워크 통신은 네트워크 소켓을 통해 이루어진다.
  • nc 사용법: nc hostname(ip) port
  • 웹 서비스의 경우 'http'로 시작하는 링크를 클릭하면 웹페이지가 출력되지만 그렇지 않은 경우 nc로 접속해야 함.
  • 드림핵에서 제공하는 실습 문제와 워게임은 nc 명령어로 접속하여 푸는 형태가 많음.

2. SSH

  • SSH: 원격 서버(컴퓨터)에 연결할 수 있도록 해주는 암호화된 네트워크 프로토콜. 암호화를 통해 호스트와 클라이언트가 안전하게 통신할 수 있음.
  • 클라이언트가 원격 서버 터미널에 접속하여 명령어를 입력하면, 호스트가 명령 실행 결과를 클라이언트에게 전달함.
ssh user@HOST -p PORT -i [개인 키 파일 경로]

Exercise: SSH

https://dreamhack.io/wargame/challenges/875/


  1. ssh 명령어를 입력하여 원격 서버에 접속하였다.
  2. ls 명령어를 통해 flag가 있는 걸 확인하고 cat flag로 flag 값을 알아내었다.

3. Docker

도커

  • 컨테이너: 가상 환경이 구축되어있는 하나의 박스. 가상 머신과 유사하지만 도커 컨테이너는 새로운 운영체제 환경을 구축할 필요 없이 하나의 분리된 프로세스처럼 작동한다.(특정한 환경을 구성하기 위해 만들어진 가상의 공간)
  • 도커: 컨테이너를 만들고, 실행하고, 배포할 수 있는 가상화 플랫폼.
  • 도커이미지: 도커 컨테이너의 전 단계, 컨테이너를 생성하고 실행하기 위한 모든 것.
  • 도커 컨테이너: 도커 이미지로부터 만들어진 실행 가능한 인스턴트(실행 중인 이미지).
  • 도커 레지스트리: 도커 이미지를 저장하는 저장소.

도커 명령어
1. docker build [옵션] <경로>:도커파일을 이용하여 이미지를 생성한다.
2. docder build .:현재 디렉토리에 있는 도커파일로 이미지 생성한다.
3. docker images: 도커 이미지 목록을 출력한다.
4. docker run [옵션] <이미지명|ID> [명령어]: 도커 이미지로 컨테이너를 생성하고 실행한다.
5. 4. docker ps: 실행 중인 컨테이너 목록을 출력한다. -a 옵션은 종료된 컨테이너까지 모두 출력한다.
6. docker create [옵션] <이미지명|ID> [명령어]: 도커 이미지로 컨테이너를 생성한다.
7. docker start [옵션] <컨테이너명|ID>: 중단된 컨테이너를 시작한다.
8. docker exec [옵션] <컨테이너명|ID> [명령어]: 실행 중인 컨테이너에 접속하여 명령을 수행한다.
9. docker stop [옵션] <컨테이너명|ID>: 실행 중인 컨테이너를 중단한다.
10. docker pull [옵션] <이미지명>: 레지스트리에 존재하는 도커 이미지를 다운받는다.
11. docker rm [옵션] <컨테이너명|ID>: 도커 컨테이너를 삭제한다.
12. docker rmi [옵션] <컨테이너명|ID>: 도커 이미지를 삭제한다.
13. docker inspect [옵션] <이미지 혹은 컨테이너명|ID>: 도커 이미지 또는 컨테이너의 자세한 정보를 출력

profile
대학교 2학년, 컴퓨터학과

0개의 댓글