본문 바로가기

네트워크 공부

(29)
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라는 말을 알아야 한다. ..