1. 머리말 시프트 레지스터(74HC595)와 7-segemts 모듈을 사용하여 시계를 만드는 과정과 회로, 코드를 소개한다. 2. 사전 연구 시프트 레지스터(shift register)는 데이터를 저장하거나 데이터를 옆으로 이동할 때 사용하는 회로이다. 디지털 시스템에서 시프트 레지스터와 같이 데이터 및 정보를 저장하고 이동하는 기능을 발전시켜 메모리라는 부품이 개발되고 프로세서와 CPU 등이 개발된다. 시프트 레지스터 중 실습에 사용한 74HC595에 대해 데이터 시트를 참고하여 핀번호와 기능에 대해서 알아본다. 1. 74HC595 그림 1은 74HC595의 핀 맵과 로직 다이어그램이다. 시프트 레지스터는 단방향 또는 양방향으로 매 클록마다 한 단씩 이진 정보를 이동시킬 수 있는 레지스터이다. 일련의..
라우팅 프로토콜 구성 1) 라우팅 테이블 패킷을 목적지로 라우팅할 때 참조하는 테이블 목적지 주소, Output I/F, Metric 값 2) Message 라우터 간 라우팅을 위해 교환하는 메시지 이웃 도달 메시지, 라우팅 정보 3) Metric 라우팅 테이블 생성 및 업데이트 시 최적의 경로를 결정 경로길이, 홉(Hop) 수, 대역폭, 비용, 신뢰성 라우팅 프로토콜 중 동적 라우팅 - IGP - Link State Vector - OSPF 프로토콜에 대해 알아보고, 실습해본다. OSPF(Open Shortest Path First) 라우터가 목적지 경로를 SPF(Shortest Path First) 알고리즘을 통해 모든 라우팅 테이블에 기록 “소요비용(Cost)”이 가장 작은 경로를 최적의 경로를 선..
IPv4 vs IPv6 등장배경 •현재 사용중인 인터넷 프로토콜인 IPv4(Internet Protocol Version 4)는 광범위한 네트워크의 사용을 예측하지 못하던 시대에 등장 •IPv4 – 이론 상 42억여개의 인터넷 주소 지원 –But, 부족하다. 비교 IPv4 IPv6 주소 체계 32bit 128bit 주소 개수 2^32(약 42억 개) 2^128(약 3.4x10^38 개) 패킷 헤더 가변적 고정적(40 옥텟) 주소 할당 방법 A, B, C, D(멀티캐스트) 클래스 CIDR CIDR 기반 계층적 할당 주소 유형 유니캐스트(unicast) 멀티캐스트(multicast) 브로드캐스트(broadcast) 유니캐스트(link-local address, site-local address, global..
Request Smuggling 불특정 다수의 사용자로부터 받은 HTTP 요청을 프록시와 웹서버가 처리하는 과정에서 사용자가 요청한 HTTP 패킷을 조작할 수 있는 공격이다. 웹서버는 클라이언트의 요청을 직접 처리하는 것이 아니라 메인서버의 과부하를 방지하기 위해 LB나 리버시 프록시 등 중간에서 요청을 처리하여 전달한다. 이 과정에서 HTTP/1.1에서는 여러개의 요청을 연속적으로 전달할 수 있도록 지원하는데 패킷을 받아 처리하는 과정에서 Content-Length, Transfer-Encoding 에 대한 처리를 서로 다르게 하여 패킷의 시작과 끝부분을 다르게 해석하는 문제가 발생한다. CL.CL 여러 Content-Length 헤더가 존재하거나 유효하지 않은 값일 경우 400 상태 코드로 응답해야한..
안드로이드 설치 파일(APK) 역공학 환경 구성 gomguk.tistory.com/16에서 작성한 앱을 역공학으로 분석해보고 동시에 apk 구조에 대한 학습 다운로드 및 설치 APK Tool(apk → smali) https://ibotpeaches.github.io/Apktool/ java 1.8 버전 이상 필요 java -version apktool -v 설치확인 Dex2Jar(dex → jar) https://sourceforge.net/projects/dex2jar/ brew로도 설치 가능 brew install dex2jar 디컴파일 d2j-dex2jar [apk파일명] JD-GUI (jar → java) http://jd.benow.ca/ 위 방법으로 분석이 안될 때 바이트 코드 뷰어나 Jad..
gomguk.tistory.com/15 에서 작성한 앱에서 기능을 추가한다. 목적 : URI-3 에서 만든 앱에서 JavaScript Interface 등록한 함수를 html에서 호출하도록 변경한다. 패키지 변경 기존에 사용한 flutter 내장 Webview는 JS를 안정적으로 지원하지 않는다고 한다. 그래서 공식 패키지 중 "flutter_inappwebview" https://pub.dev/documentation/flutter_inappwebview/latest/index.html 를 이용한다. 설치 pubspec.yml 에서 flutter_inappwebview: 4.0.0 import 'package:flutter_inappwebview/flutter_inappwebview.dart'; And..