본문 바로가기
반응형

전체 글73

파이썬 Crypto 모듈 설치 Python 암호화 프로그래밍 준비하기 파이썬에서 암호화 알고리즘 DES(DES3)나 AES, 해시함수 MD4,5 SHA를 이용하기 위해서는 Crypto 모듈이 필요합니다. Crypto 모듈은 기본으로 설치되어있는 모듈이 아니므로 모듈을 설치해야 합니다. linux$리눅스환경 windows>윈도우환경 0. 윈도우의 경우 먼저 pip를 설치하여야 합니다. bootstrap.pypa.io/get-pip.py windows>python get-pip.py 1. 먼저 파이썬을 통해 pip를 업그레이드합니다. linux$python -m pip install --upgrade pip windows>python -m pip install --upgrade pip 2. 다음으로 crypto 모듈을 설치합니다. lin.. 2021. 5. 14.
DNS, DNS 테이블과 DNS 캐싱이란? DNS dns는 사용자에게 편리함을 주기 위해 만들어졌다. 웹사이트들은 각각의 IP를 가지고 있고 그 아이피로 접속을 해야 우리가 보는 웹 사이트가 나온다. 하지만 우리가 접속하는 웹사이트만 해도 수십 가지이고 그것들을 일일이 외울 수 없어 이름 주소(domain name)를 사용하여 웹 페이지에 접속을 하는 것이다. 간단히 DNS는 domain name을 ip로 바꿔주는 역할을 한다. DNS를 이용하려면 domain name을 ip로 변환해주는 무언가가 있어야 한다. 그것을 DNS 서버라 하며 여러 종류의 DNS 서버가 있으며 그중 우리가 사용하는 것은 보통 ISP(인터넷 제공 업체 ex.KT,SKT..)에서 제공하는 로컬 DNS 서버를 사용한다. 전송 프로토콜로는 UDP를 사용하며 DNS 질의를 DN.. 2021. 5. 14.
서브넷 마스크란? SubnetMask 서브넷 마스크 서브넷 마스크는 서브 넷팅을 하고 네트워크 ID와 호스트 ID를 구별하기 위해 사용한다. 네트워크 주소를 세분화해서 나누는 것을 서브넷팅이라 하고 반대로 합치는 과정을 슈퍼넷팅이라 한다. IPv4의 경우 클래스가 나눠져 있는데 이것을 사용해서 표현할 수 있다. 끝에 '/'를 붙이고 뒤에 서브넷 비트수를 적어 표현할 수 있다. 서브넷 비트와 Host 주소를 곱하게 되면 Network 주소가 나온다. Class 별 서브넷 마스크 SubnetMask 프리픽스 A Class 255.0.0.0 x.x.x.x/8 B Class 255.255.0.0 x.x.x.x/16 C Class 255.255.255.0 x.x.x.x/24 서브넷팅의 이유 조금더 서브넷으로 구분하여 IPv4 주소체계를 더 효율적으로.. 2021. 5. 13.
DDoS란 DoS공격 서비스 거부 공격 (Denial of Service(dos))는 서비스를 수행하는 것을 방해하는 공격이다. 현실에서 이용하지 못하게 훼방을 놓는것 역시 서비스 거부 공격이다. DDoS는 더 발전된 형태로 다양한 곳에서 공격하는 것이다. Distributed Denial of Service 의 약자로 분산 서비스 거부 공격이라 한다. DDoS의 공격으로 논리적으로 문제가 있거나 어쩔수 없이 생겨난 취약점을 이용하여 공격을 하는 것이다. 무차별 자원고갈 공격은 말그대로 무차별적으로 방대한 패킷을 보내 서비스를 이용하지 못하도록 공격하는 방법이 있다. 취약점 공격 프로토콜의 자체 결함이나 취약점을 이용하는 공격이다. 예를들어 SYN 넘버를 조작하여 시스템에 과부하가 되게 하거나 IP의 출발지 목적지.. 2021. 5. 6.
Socket을 닫은 뒤 바로 쓸 수 없는 이유 socket 관련 예제를 진해하다 보면 연결을 끊고 바로 같은 PORT를 이용하는 경우가 잦을 것이다. 그럴 때마다 소켓이 정상적으로 동작하지 않는다. 이것은 TCP 특성상의 이유로 정상적인 현상이다. TCP의 특성에 의한 시스템적으로 막혀 있는 것이다. TCP이해 TCP에서는 신뢰성, 단편화등 많은 기능을 수행하기 위해 3-way handshaking 3.3/4 연결 종료를 수행한다. 결과적으로는 신뢰성있는 통신을 하기 위해서 이 기법을 사용한다. TCP에서는 세션 관리를 한다. 이는 신뢰성 있는 연결 상태를 확립하기 위해 존재하는 TCP의 특성이다. 이로 인해 반대로 취약점이 있기도 하나 신뢰성있는 통신을 하기 위한 기능이다. 주제처럼 세션을 끊을 때 이 현상이 발생한다. 위와 같이 먼저 FIN을 요.. 2021. 5. 4.
[c/c++] 구조체, 공용체 struct, union 구조체 Struct 구조체는 여러 개의 변수 및 자료형을 묶어 정의하는 새로운 자료형이다. 자주 쓰면서 연관되는 자료형을 묶으려고 할 때 구조체를 사용하면 매우 유용하다 마치 우리가 사용하던 char, int 형을 쓰듯이 비슷한 것이다. 배열 역시 사용 가능하다. struct person{ char name[30]; char birthday[8]; int age; } 위의 예제와 같이 구조체 정의는 위와 같고 구조체 선언은 다음과 같다. struct [구조체 이름] [구조체 변수 이름]; struct person p1; 그런데 이대로면 구조체에 있는 멤버를 접근할 방법이 없다. 구조체 멤버에 접근하기 위해서 '.' 연산자를 사용한다. person.name; 구조체 포인터 구조체 포인터는 조금 다른 것이 .. 2021. 5. 2.
반응형