분류 전체보기 153

네트워크에 대한 근본적 이해 (뇌피셜)

모든 네트워크 상황은 결국 프로토콜로 설명될 수 있고,프로토콜은 아래 요소들로 구성된다:- 패킷의 구조 정의 (+ 여기에 실제로 담긴 데이터)- 패킷 해석 로직- 기본적인 제어 로직 (패킷과 별개로) 또한, 로직과 패킷 구조 정의 정보가 실제로 들어있는 곳은 아래의 `처리 주체`이다 (gpt가 알려줌):OSI 7 Layer주요 프로토콜 / 기능 예시처리 주체7응용 계층 (Application)HTTP, HTTPS, FTP, SMTP, DNS, SSH 등애플리케이션 소프트웨어 (브라우저, 메일클라이언트 등)6표현 계층 (Presentation)인코딩, 암호화, 압축 (e.g., JPEG, TLS, ASCII)운영체제 또는 라이브러리 (예: OpenSSL, codec)5세션 계층 (Session)세션 관리..

[Network Layer (Layer 3) in OSI 7 Layer <3>] Router, Subnet, DHCP Relay, Class, Sub-Interface

Router모듈형임: 전체 시스템을 여러 개의 독립적인 부품(모듈)으로 나누고, 필요에 따라 추가, 제거, 교체가 가능한 구조eg. Cisco 2811 라우터기본 본체에는 WAN 포트가 2개뿐.하지만 WIC-1T 모듈을 추가하면 시리얼 포트 1개를 확장 가능NM-ESW-16 모듈을 꽂으면 스위치 포트 16개 추가Subnet서로 다른 서브넷 간의 통신은 반드시 라우터를 거쳐야 함DHCP Relay클라이언트와 DHCP 서버가 서로 다른 네트워크(서브넷)에 있을 때, DHCP 통신이 가능하도록 중개 역할필요한 이유: DHCP Discover 메시지는 브로드캐스트(255.255.255.255)로 전송되기 때문에 라우터를 넘을 수 없으므로.DHCP 클라이언트 라우터 (DHCP Relay 에이전트 역할인 경우) D..

[Data Link Layer (Layer 2) in OSI 7 Layer] Switch, STP, VLAN

Switch스위치는 수신 MAC 주소를 학습하여, 정확한 포트로만 전달함.eg. PC1이 PC2에게 데이터를 보내면 → 스위치는 모든 포트가 아니라 PC2가 연결된 포트로만 전송 → 불필요한 트래픽 감소 단순한 허브(Hub)는 들어온 데이터를 모든 포트로 방송(Broadcast)함.스위치의 Trunk Port & Access Port L2에 소속되므로, 기본적으로 MAC 주소를 기반으로 작동하고, IP 주소가 불필요하지만, 원격 관리를 위해 IP 주소를 할당하기도 함. (eg. 다른 서브넷의 관리 서버에서 스위치를 관리/모니터링.) 이때 스위치의 모든 포트와 관리 IP 주소는 기본적으로 가상 인터페이스인 VLAN에 속함.-> 스위치가 속한 VLAN 인터페이스 & 다른 네트워크 간의 통신.STP이 프로토..

[Kubernetes] Container, Pod, Deployment, Service, Node, Cluster

container✅사용 목적Single Responsibility Principle에 따라 분리된 각각의 기능 (프로세스)를 격리된 환경에서 실행할 수 있음 eg. "nginx", Database, 백엔드 각각이 container 하나씩 사용▶ pod 정의에 각 container 정의가 포함돼 있음. 예를 들어 nginx의 경우 그 내용은:기반 OS: 보통 `debian`, `alpine`, `ubuntu` 중 하나.nginx 바이너리: `/usr/sbin/nginx` 위치에 존재 nginx 설정 파일: `/etc/nginx/nginx.conf` 등 ..

[System Hacking] validator

소스코드 분석 & 보호기법 확인__int64 __fastcall main(int a1, char **a2, char **a3){ char s[128]; // [rsp+0h] [rbp-80h] BYREF memset(s, 0, 0x10uLL); read(0, s, 0x400uLL); sub_400580((__int64)s, 0x80uLL); return 0LL;}buffer에 사용자의 입력을 받고,이것이 sub_400580()를 통과하면 프로그램은 정상 종료된다.__int64 __fastcall sub_400580(__int64 a1, unsigned __int64 a2){ unsigned int i; // [rsp+1Ch] [rbp-4h] int j; // [rsp+1Ch] [rbp-4h] ..

보안/Wargame 2025.03.17

[System Hacking] cmd_center

소스코드 & 보호기법 확인#include #include #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0);}int main(){ char cmd_ip[256] = "ifconfig"; int dummy; char center_name[24]; init(); printf("Center name: "); read(0, center_name, 100); if( !strncmp(cmd_ip, "ifconfig", 8)) { system(cmd_ip); } else { printf("Something is wrong!\n"); } exit(0);}center_name 변수에 이것의 크기보다 큰 100바이트를 읽어..

보안/Wargame 2025.03.13

[GoLang] 디렉터리 구조, 패키지

hello.exe를 만들기 위한 기본적인 디렉터리 구조ㅡ hello ㅡㅡ go.mod (go mod init hello으로 생성됨, go mod tidy로 수정됨) ㅡㅡ pkg1 ㅡㅡㅡ pkg1.gopackage pkg1// Imported Packagesimport ( "..." "...")// Constconst ( PublicConst = ... privateConst = ...)// Variablevar PublicVar ...var privateVar ...var someVar = someFunc()var someVar2 = ...// Aliastype PublicType ...type privateType ...// Functionfunc init() { someVar2...}func Publ..