Study/네트워크 공부 29

Virtualbox 다른 컴퓨터로 가상환경 옮기기

나는 집 데스크탑으로 Virtualbox를 다운받고 가상 환경을 셋팅해놨다. 근데, 출장을 가거나 멀리 있을 때 노트북에서 가상 환경 내부의 코딩을 진행할 수 없으니 어쩔 수 없이 다른공부를 하거나 다른 작업을 해야만 했는데, 이 가상환경을 ova 파일로 내보낼 수 있다는 것을 알았다. 내보내는 방법은 간단하다. 원하는 맨 위 탭에서 가상 시스템 내보내기를 클릭한다. 그럼 창이 하나 뜰텐데, 여기서 전문가 모드를 클릭한다. Format settings 를 항목에서 형식은 Open Virtualization Format 1.0 파일은 원하는 저장 경로를 선택하고 MAC 주소 정책은 모든 네트워크 어댑터 MAC 주소 포함으로 설정한다. 나머지는 건드릴 거 없이 Finish를 눌러주면 된다. 그럼 로딩이 되는..

WebSocket - 간단한 설치 및 세팅법

이 코드는 https://www.youtube.com/watch?v=yXPCg5eupGM 이 강의를 참고하여 작성되었습니다. 차후 채팅서비스 구현 시 참조 사이트 https://cocoder16.tistory.com/62 90년대까지는 HTTP 요청만으로 모든 웹 서비스를 만들 수 있었다. 하지만 요즘의 웹 서비스는 꽤나 복잡하다. 그 중 하나가 웹소켓이다. 기존의 HTTP 통신은 서버가 먼저 클라이언트에게 전송을 할 수가 없었다. 일방적인 관계였던 거다. 하지만 그러기엔 복잡한 웹 서비스를 구현할 수 없었기 때문에 다른 통신들이 생겨났다. HTTP 통신의 단점을 보완한 예시로 대표적인 2가지를 꼽을 수가 있다. 1. Server-Sent Event > HTTP 통신을 끊기지 않고 유지할 수 있음 2. ..

Python - Requests 모듈

이번엔 파이썬으로 스크립트를 짤 때, 아주 유용하게 응용할 수 있는 requests란 모듈에 대해서 알아보자 requests 모듈을 사용하면 페이로드를 날릴 수 있다. 기본적인 사용방법은 import로 불러온 후, URL을 get이나 post 방식으로 응답을 받아온다. http 관련 스크립트를 짤 때, selenium 보다 가벼워서 쓰기가 좋다. 밑 코드를 입력만 한 것으로 웹브라우저에서 해당 url에 접속한 것과 같은 효과를 얻는다. import requests url = "http://www.naver.com" response = requests.get(url) response.status_code response.text response.status_code 를 입력했는데 200의 값을 반환했다면 ..

aws - 클라우드 컴퓨팅이란?

인터넷으로 하는 서비스를 구현할 때, 서버를 두는 두 방식이 존재 온프레미스 (On-premise): 회사가 자사의 시설 혹은 IDC (인터넷 데이터 센터)에 직접 서버를 둠 클라우드 : 고급 프로그래머들이 구현해놓은 훌륭한 컴퓨팅 자원을 돈을 지불하고 빌려서 사용하는 방식 AWS란? AWS는 클라우드 서비스의 대표적인 예시이다. 인터넷을 통해서 언제어디서든지 원하는 때, 원하는 만큼의 컴퓨팅 리소스 (컴퓨팅, 스토리지, 네트워크)를 손쉽게 사용할 수 있게 하는 서비스 AWS는 훌륭한 개인의 아이디어를 받쳐줄 수 있는 좋은 지렛대와 같은 서비스이다. 컴퓨팅 CPU라고 하는 계산 능력을 사용한 것 스토리지 파일, 정보 등을 저장하는 것 네트워크 저장된 것들을 전송, 배포하는 것 클라우드란? 원거리에 있는 ..

Websocket 개념 정리

학교 동아리에서 수기로 일일히 출석체크를 하는 시스템이 빡세다고 운영진 측의 의견이 있었다. 그래서 서버 측에서 서버를 열면, 그 시간 동안 들어온 클라이언트들이 출석번호같은 문자를 입력하고, 출석을 인증하는 웹앱을 만들고 싶었다. 그 때, 같이 작업하던 친구가 사용했던 방식이 웹소켓이었다. 웹소켓에 대한 개념이 전무했기 때문에 새로 공부하며 그에 대한 내용을 여기 정리하려고 한다. 웹소켓 (WebSocket) 웹소켓 프로토콜은 HTTP와는 다른 통신 프로토콜로 웹 서버와 웹 브라우저가 서로 실시간 메시지를 교환하는 데에 사용된다. 웹소켓 연결을 맺기 위한 첫 번째 핸드쉐이크를 주고받은 이후에 지속적으로 연결이 유지되어 추가적인 HTTP 연결 요청을 보낼 필요가 없어 빠르고 효율적이다. 예를 들어, 웹 ..

AJAX와 JSON - PHP와 javascript를 동시에 사용할 수 없을까?

php파일을 코딩하다가 머릿속에서 javascript와 php 코드가 혼동되면서 동시에 쓸 수 있는지 코딩해보다가 안되었었다. 인터넷을 찾아보니 ajax를 사용해야 된다고 한다. ajax가 대체 뭔지 알아보니 javascript는 클라이언트 측에서 사용하는 언어이고 php는 서버에서 다루는 언어이다 보니 결국 php와 javascript를 동시에 사용한다는 것은 서버 통신을 한다는 의미이다 ajax는 서버 통신 방법이었다 AJAX (Asynchronous JavaScript and XML) 약자는 이렇게 되지만 브라우저 내에서 비동기 기능을 제공하는 모든 기법을 통칭한다. 이용자가 서버를 통해 데이터를 전해 받을 때 전해주는 여러가지 형식이 있다 XML, CSV, JSON 등등이 있는데 AJAX의 X가 ..

HTTPS란 대체 뭘까? 대칭키와 비대칭키

HTTP를 User와 서버에서 주고 받을 때 네트워크 상에서 어떤 누군가가 신호를 인터셉트하면 소중한 개인 정보가 유출될 가능성이 있다. 이러한 취약점을 해결하기 위한 프로토콜이 HTTPS이다. HTTP에 S (Secure Socket)가 추가된 형태이다. 기본 골격은 HTTP와 거의 동일하지만 데이터를 주고 받는 과정에 '보안'요소가 추가되었다. 웹페이지를 돌아다니다 보면 나오는 이 자물쇠 표시가 안전하게 HTTPS를 통해 보호되고 있다는 뜻이다. 어떻게 보안할까? 그것은 바로 대칭키와 비대칭키라는 요소를 사용한다. SSL이나 TLS 프로토콜을 사용하여 세션 데이터를 암호화한다. TLS : Transport Layer Security의 줄임말. SSL에서 발전하여 변경된 이름이지만 아직도 SSL이란 이..

ARP Spoofing 공격 원리 공부 노트

ARP 스푸핑은 근거리 통신 망(LAN) 하에서 주소 결정 프로토콜 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다.(Man In The Middle attack) 이 공격은 데이터 링크 (OSI 7계층에서의 2번째 계층) 상의 ARP 프로토콜을 이용하기 때문에 근거리상의 통신에서만 사용할 수 있는 공격이다. ARP 란? ARP는 네트워크 상에서 IP 주소를 물리적 주소 (MAC 주소)로 대응 시켜주는 프로토콜이다. 네트워크 상에서 특정 IP를 가지고 있는 호스트가 누군지 물어보면 (Request) 해당 IP를 가진 호스트가 응답 (Reply)하는 구조로 동작한다. 공격 방법 PC 1대와 L2 스위치가 있고 이 라우터를 지나가야 Internet으로 나간다면, pc 1번은 ..

[네트워크 공부#1]망분리 정리노트

망분리는 인터넷 상에서의 해커의 공격을 막기 위해 인터넷 망 / 업무 망을 분리하는 것을 의미한다. 한 사람이 오피스에서 일을 한다고 생각했을 때 내부 시스템과 인터넷에 동시에 연결되어있다면, 인터넷은 Public 하기 때문에 해커가 인터넷으로 들어와 내부를 헤집어 놓을 가능성이 있다. 이런 개념에서 나오는 게 망분리이다. 두 가지로 구분할 수 있다. 물리적 망분리 논리적 망분리 물리적 망분리 말 그대로 물리적으로 망분리 하는 것이다. 두개의 컴퓨터가 있을 때 하나는 인터넷을 연결하고 하나는 내부 시스템만을 사용하는 것이다. 이 방식은 내부 시스템이 절대로 해킹당할 일이 없지만 한 사람이 두 개의 pc를 사용해야 한다는 피로감이 있다. 논리적 망분리 가상화라는 기술 vm과 vdi라는 말을 알아야 한다. ..