본문 바로가기

분류 전체보기

(210)
네트워크관리사 2급 필기 - OSI 7계층 & TCP/IP 4계층 OSI 7계층은 ISO에서 만듬TCP/IP 4 Layer는 TCP와 IP 통신을 기준으로 간소화 해서 정리이 표만 다 외우면 됨PDU는 각 계층에서 부르는 데이터의, 크기프로토콜은 전송계층이 TCP, UDP, I랑 A가 들어간건 internet, 나머지는 응용계층7계층 - Application Layer 응용계층직접 데이터에 엑세스하고 정보를 생산, 처리6계층 - Presentation Layer 표현계층정보를 어떤 형식으로 표현할 것인지 결정응용계층에서 생산한 데이터의 표현, 압축, 보안 기능5계층 - Session Layer 세션계층응용 프로그램간 연결을 성립, 연결이 안정되게 유지자원접근에 대한 인증 역할, 작업 완료 후 연결을 끊는 역할4계층 - Transport Layer 전송계층데이터를 안전하..
네트워크관리사 2급 필기 - 네트워크 상호 간에 정보를 교환할 수 있도록 유선, 무선을 통하여 연결노드라고 불리는 장치들이 통신링크로 연결된 집합체, 정해진 약속의 집합 통신절차, 규약에 따라 주고받는 것호스트 - 일반적으로 컴퓨팅 기능이 있는 시스템클라이언트/서버 - 각각 서비스를 이용, 제공인터페이스 - 시스템을 연결하는 표준화된 접근 방법전송매체 - 시스템끼리 데이터를 전달하기 위한 물리적인 전송 수단프로토콜 - 데이터를 교환할 때 표준화된 특정 규칙패킷 - 데이터를 일정 크기로 자른 묶음 1. 크기(거리)에 따른 분류LAN - 300m이하의 통신 회선(가정, 학교 등의 소규모)MAN - 도시를 하나의 네트워크WAN - 지방, 국가, 대륙을 연결2. 전송방식에 따른 분류  1) 회선 교환망 - 직접 물리적으로 연결(전화망)    다른 ..
트리의 지름 문제 설명이다.트리의 지름을 구하기 위해서는 어느 한 정점에서 가장 거리가 먼 정점을 찾고, 그 정점에서 가장 먼 거리를 찾으면 된다.그래서 그냥 dfs 2번을 하면 되는데, 구현하는데 생각보다 오래 걸렸다.일단 정점 개수가 100000개까지 가능하기 때문에 V*V크기의 배열을 만들어서 간선을 정리할 수가 없다.그래서 vector를 써야 되는데 다 까먹어서 찾아보면서 코드를 작성했다.#include#include#includeusing namespace std;vector> node[100004];int V;int check[100004];int mv=0,mn=0;void dfs(int num, int dist){ check[num]=1; if(dist>mv) { mv = d..
2048(easy) 백준 푸는거 진짜 오랜만인데 골드2부터 다시 풀어보려고 한다.처음부터 다시 하려고 계정도 새로 팠으니 문제 풀다가 중간중간 solved.ac 도 캡쳐해서 올리도록 하겠다. 2048(easy) 문제는 정말 easy한데, ps 푸는게 너무 오랜만이라 생각보다 시간이 좀 걸렸다.상하좌우로 이동을 시키는 함수를 짜고, dfs로 5번 이동을 모든 경우에 대해 해보면서 최대값을 찾으면 된다.상하좌우로 이동 시키는 함수를 잘못 짜서 고생했는데 처음에는 만약 위로 이동한다고 하면,위에서부터 하나씩 위로 이동시키면서 같으면 2배, 비었으면 이동 이런 식으로 짰는데 이렇게 하면 위에서 한번 합쳐진 블록이 또 합쳐질 수 있어서 안된다. 그래서 그냥 합치는거 빼고 빈칸인 경우에 이동시키는 걸로 위로 블록들을 올린 다음, 인접..
드림핵 Small Counter 롸업 flag_gen() 함수를 호출하라고 한다.undefined8 main(void){ undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined4 local_b8; undefined local_b4; undefined local_a8 [80]; undefined local_58 [72]; uint local_10; uint local_c; local_c = 0; puts("---Counter---"); for (loc..
드림핵 Batch Checker 실행만 하면 된다는데 문제에서 주는 prob.bat 파일을 실행시키면 wrong이라고만 뜬다.배치 파일이 정확히 어떤 종류의 파일인지 찾아보았다.배치 파일은 사용자의 입력이나 개입 없이 순서대로 처리되는 명령어의 모음, 리스트이다.프로그램을 로드하고, 한 번에 여러 프로세스를 실행하거나 일반적이고 반복적인 작업을 수행하는데 사용된다. 배치 파일은 그냥 메모장 등의 에디터에서 명령어를 쭉 쓰고 .bat으로 저장만 하면 만들 수 있다.명령어에는 echo, pause, startshutdown 등이 있다.문제의 배치 파일을 메모장으로 열어보니 이런 식으로 SET이 쭉 있고 그 밑에 이런식으로 문자열, ~숫자,숫자%% 가 있었다.SET은 변수를 지정하는거 같고 밑에%%는 뭔지 몰랐는데 찾아보니%변수:~a, b%..
드림핵 Easy Assembly 롸업 check_password에서 행해지는 연산을 하면 enc_flag가 원래 flag로 나올것 같다.이 과정을 역연산하는 코드를 짜봤다.import base64db=[0x74,0x78,0x4b,0x65,0x77,0x48,0x5c,0x69,0x68,0x7e,0x5c,0x79,0x77,0x62,0x46,0x79,0x77,0x5,0x46,0x54,0x73,0x72,0x59,0x69,0x68,0x7e,0x5c,0x7e,0x5a,0x61,0x57,0x6a ,0x77,0x66,0x5a,0x52,0x2,0x62,0x5c,0x79,0x77,0x5c,0x0,0x7c,0x57,0xd,0xd,0x4d]flag=[]for i in range(len(db)): flag.append(chr((db[i]^(len(db)^..
MODULAR ARITHMETIC 크립토핵 사이트에서 크립토 공부를 시작하며 문제를 풀기 전에 강의 course 부터 쭉 볼 생각이다.가장 기초 강의인 MODULAR ARITHMETIC을 시작한다.기초 수학인 것 같으니 간단한 설명과 해결 코드만 남기면서 지나가겠다. 첫번째는 Greatest Common Divisor로 그냥 최대공약수 GCD이다. GCD를 유클리드 알고리즘으로 구해보라는 문제이다.<pre id="code..