목록실더스 루키즈 교육 (42)
작은 메모장
저번 IP에 이어서 Header Checksum헤더의 오류를 검증하기 위해 사용계산방식은 간단한데, 각 필드에 있는 모든 값을 더해서 나오는 값을 적는다즉, version 필드 ~ 목적지 IP 필드까지의 값을 전부 더해서 Checksum에 적는 것더하는 기준은 Byte를 기준으로 연산되며, 자릿수를 초과한 값은 초과한 값 만큼 다시 더한다 재미있는 점은 프로토콜마다, 헤더 종류마다 Checksum 방식이 전부 다르다위 기준은 IP 헤더를 기준으로 체크썸을 구하는 방법이며, TCP, UDP 같은 경우는 방법이 다 다르다는 것 MTU와 MSS우리가 생각하는 것보다 MTU는 상당히 중요하게 작용한다.Maximum Transfer Unit, 즉 네트워크 기기가 전송할 수 있는 최대 전송 단위로, 랜카드가 전송할..
Payload & Encapsulation패킷을 전송하려면 패킷을 제어하는 정보가 필요이는 Header, Trailer가 해당함문제는 OSI 계층마다 원하는 정보가 다르다는 것때문에 각각의 계층이 원하는 정보를 계속 담으면서 계속 인코딩을 해야함이를 Payload라고 함Encapsulation캡슐화라고도 부르며, 주로 송신자측에서 캡슐화가 진행됨상위계층(7계층)부터 하위 계층으로 내려오면서 계속 진행되며,한 계층을 내려올때마다 제어정보가 추가됨 De-encapsulation역캡슐화라고도 부르며, 주로 수신자측에서 역캡슐화가 진행됨하위계층(1계층)부터 상위 계층으로 올라오면서 계속 진행되며,한 계층을 올라올때마다 제어정보가 제거됨각각의 계층은 이 정보가 자신에게 오는 정보가 맞는지 검증하고,맞다면 통과, ..
네트워크 주소의 종류- 논리적 주소(3계층 주소)IP address 구성, Network ID + Host ID의 구성- Subnet Mask 기능IP와 함께 무조건 씀.IP address의 Network ID와 Host ID를 구분하기 위함.사용 방법은 IP Address와 Subnet Mask를 AND 연산하면 Network ID가 도출예) IP: 192.168.1.10, Subnet mask: 255.255.255.0, Network ID: 192.168.1.0- 내부망과 외부망송신자: 데이터를 보내는 측, 수신자: 데이터를 받는 측내부망: 송&수신자가 동일한 Network ID를 사용, 외부망: 송&수신자가 다른 Network ID를 사용 - 물리적 주소(2계층 주소)Network Interfac..
API를 제공하는 서비스들- 공공데이터- 포탈등등 여기서 주로 쓰는 것 OSINT(오픈소스 인텔리전스)- 구글 검색(구글 해킹)- 이메일, 직원 정보 검색 등이게 왜 퍼짐? 관리자 페이지 미흡(IoT 기기) 각종 IP, 도메인에 대한 취약점, 악성 내력같은 것을 조회 가능취약점으로 인해 유출된 웹캠, 스크린샷 취득 정보 확인 가능 pip install foliumpip install python-docxpip install docx2pdf import requestsdef get_criminalip_info(ip_address): url = f"https://api.criminalip.io/v1/asset/ip/summary?ip={ip_address}" payload = {} heade..
Frame + work, 즉 어떤 틀에 맞춰서 동작하는 작업왜 이게 필요한가?어떤 커다란 프로젝트나 계획에서 개발자들이 서로 다른 환경에서 개발한다면 충돌, 오류의 위험이 커짐.때문에 이러한 변수들을 통제하기 위해, 체계적으로 정해진 환경에서 개발한다면 이러한 요인을 최대한으로 줄일 수 있음.그런 목적으로 기초적인 환경이 정해져 있는 것을 프레임워크라고 함. 파이썬 웹 프레임 워크- Django (어려움, 용이함)- Flask API (쉬움, 가벼움)- Fast API (백엔드, 요즘 뜨고 있음) pip install flask from flask import Flaskapp = Flask(__name__)@app.route("/")def hello_world(): return "Hello Flas..
저번 메일 자동화 이어서import timeimport smtplibimport requestsimport openpyxlimport schedulefrom datetime import datetimefrom dotenv import load_dotenvfrom bs4 import BeautifulSoup as bsfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.application import MIMEApplicationnow = datetime.now().strftime("%Y-%m-%d")def mail_sender()..
저번 파일 입출력에서 계속 pip install python-dotenv import osimport timeDIR_WATCH = "static"previous_files = set(os.listdir(DIR_WATCH))# WatchDogswhile True: time.sleep(1) print("Watching..") current_files = set(os.listdir(DIR_WATCH)) new_files = current_files - previous_files # Update for file in new_files: print(f"+ Detected New File : {file}") with open(f"{DIR_WATCH}/{fi..
파이썬이 보안에서 쓰는 곳?- 일단 많이 사용함- 자동화 업무에서 압도적 -> 특히 모의해킹 오픈 도구 80% 이상- 보안 솔루션, 보안 스크립트 자동화 -> 보고서 작성 자동화- 모든 운영체제에서 호환성이 뛰어남- 웹 서비스 – PHP, ASP, NET, JSP/JAVA… -> React, Vue, Flask, DjangoAPI란?사용자들이 원하는 데이터를 인증을 통해 제공하는 일련의 통로쉽게 말해 창구 업무 종사자와 이야기를 한다고 생각하면 편함어떤 데이터를 원하는가?어떤 인증이 필요한가? (인증키, 개인정보 등)얼마나 필요한가?등등을 정해진 함수를 통해 제공하면, 데이터를 전송해 줌 사용 라이브러리>환경은 vsc 기준으로 설명extensions > black formatter ~> set defau..