분류 전체보기 259

[Python] 파이썬 기본 자료형 ( int, float )

1. 파이썬 기본 자료형 자료형 Type 크기 값 예시 문자열 str ??? 'a', 'hello', "A", "Hello", ... 정수형 int ??? 0, 10, -71, ... 실수형 float ??? 0.0, 5.58. -4.67, ... 논리형 bool 1byte True, False 1-1. 정수형 ( int ) > Integer (정수) > 양의 정수, 음의 정수, 0을 포함하는 자료형. > 기본적으로 원하는 값의 크기를 제한 없이 사용 가능 (다른 언어와 다르게 arbitary-precision을 이용하여 데이터 표현 형식 범위가 더 넓음) 파이썬 2.x 버전에서는 long타입이 따로 존재했지만, 3.x 버전부터는 long타입이 사라진 대신 int형을 크기 제한 없이 사용 가능해졌습니다...

[Python] 파이썬 2022.07.12

[Python] 파이썬 개요 및 변수와 상수, 주석

1. 파이썬(Python)이란? 파이썬이란 1991년 귀도 반 로섬(Guido van Rossum)이 개발한 프로그래밍 언어입니다. 인터프리터 언어로, 소스 코드를 한 줄씩 처리하는 언어입니다. 라이브러리가 풍부하기 때문에 불러와서 쓸 수 있는 모듈이 많고, 문법이 타 언어보다 덜 어려워서 코드가 보다 간결합니다. TIOBE에서는 Python이 2022 / 07 기준 1위로 올라선 것을 확인할 수 있습니다. https://www.tiobe.com/tiobe-index/ 2. 인터프리터 언어(Interpreter Language)? 번역과 실행이 동시에 이뤄져 명령 자체의 속도는 컴파일 언어에 비해 느릴 수 있으나, 규모가 큰 소스의 경우 인터프리터 언어는 원하는 부분만 실행이 가능하고, 프로그램 수정이 ..

[Python] 파이썬 2022.07.11

[Python] PyCharm 프로젝트 생성 및 Anaconda 연동

이전 포스팅에서의 메인 화면입니다. Anaconda가 이미 설치되어 있기 때문에, anaconda 설치 과정은 생략하도록 하겠습니다. ( 아나콘다와 연동을 하지 않을 분들은 포스트 하단의 "2. Pycharm Project 생성"부터 참고 ) 1. Anaconda & PyCharm 연동 프로젝트를 생성하기 전에, 아나콘다 프롬프트 (Anaconda Prompt)를 실행해줍니다. (Windows 10 기준 좌측 하단 검색창에 Anaconda Prompt 검색 후 실행) 1. 먼저 아나콘다 및 파이썬 패키지를 업데이트합니다. [ conda update conda --all ] 입력 후 엔터 2. 업데이트 후 가상 환경을 생성해주겠습니다. 형식은 conda create --name [ 환경 이름 ] pytho..

[Python] 파이썬 2022.07.10

[Python] 파이썬 개발 환경 세팅

이번 포스팅에서는 파이썬 개발 환경 세팅을 위해 Colaboratory, Pycharm을 설치하겠습니다. Google Drive에 로그인 후 기본 폴더를 생성해줍니다. 저는 "Python"으로 생성하겠습니다. 생성한 폴더에서 우클릭 또는 새로 만들기 => 더보기 => 연결할 앱 더보기 를 클릭하면 Google Workspace Marketplace가 나옵니다. 여기서 Colaboratory를 검색 후 설치하시면 됩니다. Colaboratory에서는 주로 확장자명이 " .ipynb " 라는 파일을 열 예정입니다. ipynb 파일은 Jupyter Notebook 파일로, Python 버전의 메모장(?)이라고 생각하면 됩니다. 이제 메인으로 사용할 PyCharm을 설치하겠습니다. 저는 무료 버전인 Commun..

[Python] 파이썬 2022.07.09

Time To Live (TTL)과 Ping, 그리고 ICMP

이번 포스팅에서는 포트에 대해 잠깐 짚고 넘어가겠습니다. (CentOS7 기준) /etc/protocols 파일 안에 포트에 대한 정보가 저장되어 있습니다. icmp는 1번, ipv4는 4번, tcp는 6번 그림상에선 잘렸지만 udp는 17번입니다. 다시 내용으로 돌아와서 지난 포스팅에서 IPv4 Header에 대해 다뤘습니다. Time to live (TTL)은 ping을 보낼 때도 확인할 수 있습니다. 8.8.8.8 즉, Google의 DNS 서버로 ping을 돌렸습니다. ping이라는 명령어는 응용 프로그램입니다. 여기에서도 TTL을 확인할 수 있습니다. where 명령어로 ping을 검색해보면 리눅스와 마찬가지로 명령어 프로그램의 위치가 나옵니다. 즉, ping이라는 프로그램이 32바이트의 패킷을..

[정보 보안] IPv4 Header, TCP Header

[정보 보안] Ethernet Frame과 IPv4 Header 포스팅과 이어지는 내용입니다. 흔히 말하는 IP는 IP Address(IP 주소)의 의미가 크지만, 확실하게 구분해야 합니다. IP (Internet Protocol) 과 IP Address는 분명히 다릅니다. 통상적으로 IP라고 부르지만, 정확히는 IP Header 안에 Source Address와 Destination Address 즉, IP Address가 들어있는 것을 볼 수 있습니다. 간단히 말해서 IP Address는 IP Header 안에 있는 항목입니다. IPv4 Header를 보면 맨 처음 " Version "이 4 Bits로 이뤄져있어 IPv4인지 IPv6인지 먼저 판단하게 됩니다. IHL은 Header Length로, 전..

[정보 보안] Ethernet Frame과 IPv4 Header

Ethernet Frame은 아래 그림과 같습니다. MAC은 48 Bits 즉, 6 Bytes로 이루어져 있습니다. 하지만, 실제 Ethernet Frame을 보면 MAC은 12 Bytes를 차지하고 있습니다. Destination MAC과 Source MAC 을 가지고 있기 때문입니다. ( IP Address도 4 Bytes이지만, 출발지 IP와 목적지 IP를 갖기 때문에 실제적으로는 8 Bytes인 이유와 같습니다. ) "Ethernet에서 MAC Address의 크기는 얼마인가?" 하고 물어보는 문제에 당연히 6 Bytes라고 생각할 수 있지만, 12 Bytes입니다. 즉, MAC은 Source MAC Address (출발지 MAC 주소) 가 있다면, Destination MAC Address (목..

[정보 보안] 이더넷(Ethernet)과 ARP Header

이전 포스팅에서 "브로드캐스트(Broadcast)"에 대해 언급했습니다. 데이터 전송 방식에 대해 다시 한번 짚고 넘어가겠습니다. [CISCO] 네트워크 개론 포스팅에서 브로드캐스트 뿐 아니라 유니캐스트, 멀티캐스트도 포스팅했습니다. [ Unicast (유니캐스트) ] > 유니캐스트는 같은 네트워크에서 "특정 대상"에게 1:1로 데이터를 전달하는 방식입니다. > 전송 상대를 "알고 있을 때" 사용합니다. > 요청에 대한 응답은 전송해야 할 상대를 알기 때문에 유니캐스트 방식으로 데이터를 전달합니다. > Ex) 강의실에서 한 사람만 지목하여 부르는 경우 [ Multicast (멀티캐스트) ] > 멀티캐스트는 같은 네트워크에서 "특정 그룹"에게 1:N으로 데이터를 전달하는 방식입니다. > 일부를 "알고 있을..

[정보 보안] 식별자(Identifier)_2

지난 포스팅에서 ARP(Address Resolution Protocol)를 사용하여 IP 주소를 가지고도 MAC 주소를 찾을 수 있다고 언급했습니다. CMD에서는 arp -a (또는 arp -g) 명령으로 ARP 테이블을 확인할 수 있습니다. ARP 테이블의 내용을 보면 IP Address와 MAC Address가 매핑되어 있습니다. 라우팅 테이블은 netstat -r 명령으로 확인이 가능합니다. IPv4 경로 테이블 즉, 라우팅 테이블을 확인할 수 있습니다. "스위치(Switch)"는 이 MAC Address를 다룹니다. 스위치는 데이터 링크 계층 즉, 2계층 장비입니다. ARP 테이블에서는 IP Address와 MAC Address를 매핑하지만, MAC 테이블에서는 MAC Address와 Ports..

[정보 보안] 식별자(Identifier)

[ MAC ] > 구조 : OUI + Serial(일련번호). NIC(Network Interface Card) 안에 들어있음. > 크기 : 48 > 필드 수 : 6 > 필드 당 비트 : 8 > 표기 : 16 > 구분자 : : - . > 총 개수 : 무제한 [ IPv4 ] > 구조 : 호스트 주소 + 네트워크 > 크기 : 32 > 필드 수 : 4 > 필드 당 비트 : 8 > 표기 : 10 > 구분자 : , > 총 개수 : 약 43억 개 [ IPv6 ] > 구조 : 네트워크ID + 인터페이스ID > 크기 : 128 > 필드 수 : 8 > 필드 당 비트 : 16 > 표기 : 16 > 구분자 : : > 총 개수 : (약) 43억 * 43억 * 43억 * 43억 개 CMD에서 ipconfig 명령어(또는 ipc..