본문 바로가기

ALL

(79)
[T0M4TO] Mac에서 NodeJS LTS 버전 설치하기 ※ 참고 이 글은 기본적으로 iMac 또는 Macbook을 사용하시는 분들 중 homebrew를 이미 설치하신 분들을 위한 글입니다. 혹시 homebrew가 설치되어 있지 않다면 아래 링크로 들어가셔서 homebrew 설치를 먼저 진행해주세요! https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh Homebrew로 node, npm 설치하기 자세한 설명이 필요없다. 명령어 한줄이다. brew install node 명령어를 입력하면 아래와 같은 화면을 볼 수 있을 것이다. 명령어를 입력하고 조금 기다려주면 설치가 완료될텐데, 잘 설치가 되었는지 확인하기 위해서는 아래 명령어 두개를 입력해보면 된..
[T0M4TO] Google Image Proxy가 뭐여...? 가끔 메일보낼때 이미지를 첨부하게 되는데, 보통은 아래 2개 방식중 하나를 택하게 된다. 내 컴퓨터에 저장된 파일 첨부하기 이미지 링크로 연결하기 요 방법 중 2번을 사용할 경우 메일을 수신한 사람은 링크에 접근해 이미지를 보게 된다. 이때 수신자가 Gmail을 사용한다면, 발신자가 건 링크를 통해 이미지를 보는게 아닌 Google image proxy를 통해 이미지를 보게 된다. 위 사진들을 보면, 발신자가 연결한 링크와 수신자가 보는 링크가 다른것을 확인할 수 있다. 열심히 설명했지만 이렇게 말로만 하면 어렵지. 내가 그린 그림을 보자 딱 이런 느낌이다. www.test.com/test.png 그림이 웃겨서 A는 B에게 메일로 공유하려 한다. A는 gmail을 사용하는 B에게 이미지 링크를 연결하여 ..
NAT의 종류? 내가 네알못임을 또 크게 깨달았다... NAT에 종류가 있었구나... 그저 NAT는 Private IP/Port를 Public IP/Port로 매핑시켜준다. 이정도만 알고 있던 내가 부끄럽다... 자 그래서, 오늘 써볼 내용은 NAT의 종류이다. (아래 나오는 모든 그림은 내가 그렸다!) 크게 4가지가 있다. Full Cone NAT Restricted Cone NAT Port Restricted Cone NAT Symmetric NAT Full Cone NAT 가장 간단한 NAT 방식이다. private ip/port와 public ip/port가 매핑되면, 누구든 간에 그 public ip/port로 접근 시, host에게 통신을 시도할 수 있는 방식이다. 말로 설명하면 너무 어렵다. 그림으로 설명하..
Application Level Gateway 란? NAT Slipstreaming 공부중 내가 네트워크 머저리였음을 깨달았다. Application Level Gateway 조차도 제대로 설명하지 못해 정리해보았다. Application Level Gateway란 말 그대로 Application Level에서 패킷을 처리하는 Gateway라는 말이다. 여러분들 모두가 아는 OSI 7 Layer다. Application Level Gateway는 여기서 7계층 Application Layer에서 동작한다고 말할 수 있다. 여기서 Gateway는 스위치나 뭐 방화벽이나 될 수 있다. 방화벽에서 처리한다면 Application Level Firewall 이라고 표현하면 된다. 이름이 중요한게 아니다. 일반적인 Packet Filtering 방식의 경우 3 4..
[T0M4TO] Hypervisor를 이용한 가상화 방식 종류 공부하게 된 배경..? Docker Engine을 통한 container 가상화를 공부하다 보니, 자연스레 Hypervisor를 이용한 가상화 방식을 공부하게 되었다. 물론 이렇게까지 하는 사람이 없을수 있지만, 무언가를 공부한다면 내가 다른사람에게 교육할 수 있을 정도의 수준까지 공부 하는것을 추구하는 터라... 혹시나 나와같은 사람이 있다면 도움이 되었으면 하는 마음에 정리를 해봤다. 하여튼 먼저 Hypervisor를 이용한 가상화 방식의 종류에 대해 나열해 보고자 한다. Type-1 가상화(베어메탈형 가상화) 소프트웨어가 설치되지 않은 하드웨어 위에 Hypervisor가 직접 구동되어 동작하는 가상화 방식 Host용 운영체제가 설치되지 않아, Type-2 가상화에 비해 성능 사용에 제약이 적다. M..
[T0M4TO] Linux chroot / namespace / cgroup 이란? chroot 프로세스에 대하여 새로운 root 디렉토리를 지정하는 것 새로운 root 디렉토리가 지정된 프로세스는 할당된 root 디렉토리 하위로만 접근이 가능함 즉 프로세스에 대한 파일시스템 격리 (다만 시스템 설정 및 환경은 동일함) 참고자료 : man7.org/linux/man-pages/man1/chroot.2.html namespace 프로세스 별 리소스 사용을 분리하는 것 namespace 말 그대로 이름이 다른 공간을 만들어, 프로세스를 분리함 다른 namespace에 존재하는 프로세스들은 서로 리소스 관리를 따로 수행 ex) namespace a에서 동작하는 aa 프로세스에서 hostname을 test로 변경한다고 해도, namespace b에서 동작하는 bb 프로세스의 hostname은 ..
[T0M4TO] Virtual Machine(가상머신)과 Docker의 차이 Virtual Machine 이란? 하나의 Host 컴퓨터에서 Hypervisor를 이용하여 생성된 Guest OS들을 의미함 👉 HyperVisor : Host 컴퓨터에서 다수의 OS를 동시에 실행하기 위한 논리적 플랫폼 👉 Guest OS : HyperVisor에 의해 생성되고 관리되는 가상 운영체제 각각의 Guest OS는 완전히 독립된 공간과 시스템 자원을 할당받아 사용함 Type-1 방식과 Type-2 방식이 존재함 Type-1 방식은 대표적으로 Microsoft의 Hyper-V가 있음 Type-2 방식은 대표적으로 VMware와 VirtualBox가 있음 Virtual Machine을 통한 가상화의 단점 시스템 자원 가상화, 독립된 공간 생성 등의 작업이 Hypervisor를 거치기 때문에 일..
[Webhacking.kr] old-20번 문제 풀이 20번 풀이도 가즈아 맨 위에 time limit이 있고, 캡챠가 있고... submit이 있다... 일단 다 입력해서 submit을 눌러보았다. (무엇을 보는거지? 그건 내 잔상이라구...) 느리댄다... 느낌이 팍 온다. 캡챠를 넣어놓은 것으로 보아, 닉네임/코멘트/캡차를 완벽하게 입력하여 submit을 2초안에 해야 풀리는 문제이다. 문제를 푸는 방법은 2가지 정도가 있을것 같다. python urllib 또는 request 또는 selenium 모듈을 사용하여, Response내 captcha를 파싱하여 자동으로 Request에 넣어 보내기 프록시 툴을 이용하여 응답 코드 내 html 코드를 수정하여 자동으로 Request를 정상적으로 보내게 만들기 첫번째 방법은 너무 쉬우니, 두번째 방법을 설명..