| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- pwnable
- CodeEngn
- Linux
- cloud
- python
- Reversing
- beebox
- htmlinjection
- 백준
- Reflected
- acc
- wireshark
- bWAPP
- mount
- Systemhacking
- SISS
- 유석종교수님
- System
- cgroup
- AWS
- docker
- EC2
- basicrce3
- 자료구조
- c
- fork-bomb
- datastructure
- 와이어샤크
- backjoon
- Dreamhack
- Today
- Total
목록분류 전체보기 (176)
Ctrl + Shift + ESC
Amazon CloudFront 기초Amazon CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스이다. 웹페이지, 이미지, 동영상 등의 컨텐츠를 본래 서버에서 받아와 캐싱한 후 해당 컨텐츠에 대한 요청이 들어오면 캐싱해둔 컨텐츠를 제공한다.컨텐츠를 제공하는 서버와 실제 요청 지점간의 지리적 거리가 매우 먼 경우, 요청 지점 근처의 CDN을 통해 빠르게 컨텐츠를 제공할 수 있다.엣지 로케이션에서 데이터를 캐싱하기 때문에 원본이 변해도 캐싱이 만료되지 않는다면 유저가 보는 내용은 변하지 않는다. 정적 컨텐츠(이미지, 글 등 서버에 저장된 파일이 모든 사용자에..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다. Linux에서 OverlayFS 살펴보기# 오버레이 파일시스템 실습에 사용할 디렉토리 생성 mkdir /tmp/{lower1,lower2,upper,merged,work} 실습에 사용할 디렉토리를 생성한다.lower1, lower2: 읽기 전용, 마운트할 레이어를 위해 사용할 디렉토리upper: writable한 레이어merged: lower 레이어들과 upper 레이어가 겹쳐져서 실습에서 실제로 사용할 디렉토리work: file sywtem에서 관리 목적으로 사용하는 디렉토리# 실습에 사용할 파일 생성echo "lower1 a" > /tmp/lower1/a.txtecho "lower1 b" > /t..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.Mount Namespace 격리하기해당 실습은 리눅스의 Namespace(특히 Mount Namespace) 기능을 직접 체험해보는 실습이다.실습을 통해 프로세스마다 독립적인 파일시스템 뷰를 갖게 할 수 있다는 것을 확인할 수 있다. echo $$unshare -m /bin/bashecho $$ echo $$ 명령어를 입력하면 Shell의 PID를 확인할 수 있다.unshare -m /bin/bash 명령어에서 -m은 mount namespace를 분리한다는 뜻이다. 이렇게 네임스페이스가 분리되었기 때문에, 이 안에서 발생하는 마운트/언마운트는 호스트에는 보이지 않는다. 따라서 unshare 명령어 ..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.리눅스 배포판리눅스 커널은 운영체제의 핵심이지만, 커널만으로는 사용자가 컴퓨터를 쉽게 조작하기 어렵다.리눅스 배포판이란 리눅스 커널에 컴파일러, 셸, 윈도우 시스템, 그리고 각종 유틸리티와 응용 프로그램들을 포함하여 사용자가 바로 설치해서 사용할 수 있도록 패키징한 운영체제를 말한다. 주요 리눅스 계열을 비교하면 다음과 같은 표로 정리할 수 있다.계열특징 및 목표패키지 관리 도구대표 배포판Debian 계열• 오픈소스이며 안정성에 초점을 둔다 .• Ubuntu의 경우 사용 편의성과 LTS(Long Term Support, 5년) 지원을 목표로 한다 .• 서버와 데스크톱 환경 모두에서 널리 사용된다.• D..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.실습 개요 여러 CLI와 GUI를 겪어본 결과, 터미널 환경에서 명령어로 모든 것을 연결하는 환경은 생각보다 어렵다.VSCode나 IntelliJ 같은 텍스트 에디터 환경에서는 편리한 확장 프로그램도 많고, 무엇보다 디버깅이 편리해진다.Linux 환경에서 gdb로 디버깅한 경험과, VSCode에서 디버깅을 해본 경험이 있는 사람이라면 공감할 수 있을 것이다.EC2에서도 편리한 작업을 위해 VSCode에서 SSH(22)로 연결하는 방법을 알아보자. 클라우드 환경 구성VPC 생성 다음과 같은 옵션으로 VPC를 생성한다. 주요 옵션은 다음과 같다.Number of AZ : 사용 가능한 가용 영역 개수이다. ..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다. n-티어 아키텍처란? n-티어 아키텍처란 애플리케이션을 n개의 레이어으로 나눈 아키텍처를 말한다.레이어은 물리적으로 구분되고, 별도의 컴퓨터에서 실행된다. 이를 통해 책임을 분리하고 종속성을 관리한다.레이어은 다른 레이어를 직접 호출하거나 메시지 큐를 통해 비동기 메시징 패턴을 사용할 수 있다.또한 상위 레이어은 하위 레이어의 서비스를 사용할 수 있지만, 하위 레이어는 상위 레이어의 서비스를 사용할 수 없다. n-티어 애플리케이션에는 폐쇄형 레이어 아키텍처 또는 개방형 레이어 아키텍처가 있다.폐쇄형 레이어 아키텍처: 자기 다음의 레이어로만 접근이 가능한 통신 모델개방형 레이어 아키텍처: 자기의 하위 ..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다. Go 언어 설치https://go.dev/doc/install Download and install - The Go Programming LanguageDocumentation Download and install Download and install Download and install Go quickly with the steps described here. For other content on installing, you might be interested in: Download Go installation Select the tab for your computer's operating sys..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.실습 시나리오포크 폭탄이란 프로세스가 지속적으로 자신을 복제함으로써 이용 가능한 시스템 자원을 고갈시키고 시스템 속도를 떨어트려 결국엔 기아 상태로 인한 시스템 충돌을 일으키는 서비스 거부 공격이다.bomb(){ bomb | bomb &}bomb Bash에서 포크 폭탄은 다중 재귀 함수를 선언하고 호출함으로써 수행할 수 있다. :(){ :|:& };: 이 명령어는 상기 명령의 난독화된 버전이다. 여기서의 트릭은 :를 함수명으로 사용한다는 점인데, 이것이 가능한 이유는 콜론이 다른 대부분의 언어에서처럼 Bash의 예약된 문자가 아니기 때문이다. 포크 폭탄 공격을 당하는 경우 기아 상태로 인한 시스템 충..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다. 실습 개요실제 시나리오: 새벽 2시에 주기적으로 데이터 베이스 서버 응답 성능이 크게 증가했고, 원인 분석 결과 Anti-Virus앱의 주기적인 수행 작업에 영향을 받은 것을 확인했다. Anti-Virus 앱의 수행 작업이 CPU에 영향을 미치는 작업을 줄이기 위해 CPU 사용을 제한한다. 하지만 현재 실습을 진행 중인 t2.micro 인스턴스는 CPU Credit 기반이라 한 번 크레딧을 다 써버리면 EC2가 굉장히 느려진다.따라서 Anti-Virus 앱을 통해 실습하는 대신 CPU 스트레스 툴을 이용해서 stress 커맨드로 실행시킨다. 또한 강의의 Ubuntu는 이전 버전이었기 때문에 cgrou..
* 이 글은 코딩 자율학습 네트워크 입문을 읽고 정리한 글입니다.Nginx란?https://nginx.org/ nginxnginx nginx ("engine x") is an HTTP web server, reverse proxy, content cache, load balancer, TCP/UDP proxy server, and mail proxy server. Originally written by Igor Sysoev and distributed under the 2-clause BSD License. Enterprise distributions, commercialnginx.orgNginx는 전 세계적으로 인기 있는 고성능 오픈소스 웹 서버 프로그램 중 하나이다.Nginx의 장점은 다음과 같다.뛰..
Railway란?https://railway.com/ RailwayRailway is an infrastructure platform where you can provision infrastructure, develop with that infrastructure locally, and then deploy to the cloud.railway.comRailway는 웹 애플리케이션, 백엔드 서버, 데이터베이스 등을 손쉽게 배포하고 관리할 수 있는 클라우드 PaaS 플랫폼이다.복잡한 서버 설정(예: AWS EC2) 없이 GitHub 등에서 코드를 가져와 웹사이트나 앱을 배포할 수 있어 매우 간편하다.또한 Railway 내에서 https로 접근할 수 있는 도메인을 추가할 수 있어 매우 편리하다. 사전 준비R..
실습 동기https://github.com/esc-beep/TIL/blob/main/Network/4.%EC%A0%84%EC%86%A1-%EA%B3%84%EC%B8%B5.md TIL/Network/4.전송-계층.md at main · esc-beep/TILToday I Learned. Contribute to esc-beep/TIL development by creating an account on GitHub.github.com전송 계층의 내용 중 TCP Handshake는 매우 중요하게 다뤄지는 부분이기 때문에 꼭 패킷을 직접 확인해보겠다는 생각을 했다. 사전 준비import socketimport datetimeHOST = '127.0.0.1'PORT = 13with socket.socket(soc..