글 목록
HTTP
The Basic HTTP GET/response interaction 브라우저로 http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html로 HTTP 요청을 보내봅니다. 0000 60 29 d5 41 ac 08 8c b8 7e db 15 05 08 00 45 00 `).A....~.....E. 0010 02 12 b5 c1 40 00 80 06 00 00 ac 1e 01 12 80 77 ....@..........w 0020 f5 0c d5 16 00 50 73 4d b7 fb 26 31 c0 a9 50 18 .....PsM..&1..P. 0030 00 ff 24 b9 00 00 47 45 54 20 2f 77 69 72 65 73 ..$...GET /wires 0040 68 61 72 6b 2d 6c 61 62 73 2f 48 54 54 50 2d 77 hark-labs/HTTP-w 0050 69 72 65 73 68 61 72 6b 2d 66 69 6c 65 31 2e 68 ireshark-file1.h 0060 74 6d 6c 20 48 54 54 50 2f 31 2e 31 0d 0a 48 6f tml HTTP/1.1..Ho 0070 73 74 3a 20 67 61 69 61 2e 63 73 2e 75 6d 61 73 st: gaia.cs.umas 0080 73 2e 65 64 75 0d 0a 43 6f 6e 6e 65 63 74 69 6f s.edu..Connectio 0090 6e 3a 20 6b 65 65 70 2d 61 6c 69 76 65 0d 0a 55 n: keep-alive..U 00a0 70 67 72 61 64 65 2d 49 6e 73 65 63 75 72 65 2d pgrade-Insecure- 00b0 52 65 71 75 65 73 74 73 3a 20 31 0d 0a 55 73 65 Requests: 1..Use 00c0 72 2d 41 67 65 6e 74 3a 20 4d 6f 7a 69 6c 6c 61 r-Agent: Mozilla 00d0 2f 35 2e 30 20 28 57 69 6e 64 6f 77 73 20 4e 54 /5.0 (Windows NT 00e0 20 31 30 2e 30 3b 20 57 69 6e 36 34 3b 20 78 36 10.0; Win64; x6 00f0 34 29 20 41 70 70 6c 65 57 65 62 4b 69 74 2f 35 4) AppleWebKit/5 0100 33 37 2e 33 36 20 28 4b 48 54 4d 4c 2c 20 6c 69 37.36 (KHTML, li 0110 6b 65 20 47 65 63 6b 6f 29 20 43 68 72 6f 6d 65 ke Gecko) Chrome 0120 2f 31 34 32 2e 30 2e 30 2e 30 20 53 61 66 61 72 /142.0.0.0 Safar 0130 69 2f 35 33 37 2e 33 36 0d 0a 41 63 63 65 70 74 i/537.36..Accept 0140 3a 20 74 65 78 74 2f 68 74 6d 6c 2c 61 70 70 6c : text/html,appl 0150 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d ication/xhtml+xm 0160 6c 2c 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 6d l,application/xm 0170 6c 3b 71 3d 30 2e 39 2c 69 6d 61 67 65 2f 61 76 l;q=0.9,image/av 0180 69 66 2c 69 6d 61 67 65 2f 77 65 62 70 2c 69 6d if,image/webp,im 0190 61 67 65 2f 61 70 6e 67 2c 2a 2f 2a 3b 71 3d 30 age/apng,*/*;q=0 01a0 2e 38 2c 61 70 70 6c 69 63 61 74 69 6f 6e 2f 73 .8,application/s 01b0 69 67 6e 65 64 2d 65 78 63 68 61 6e 67 65 3b 76 igned-exchange;v 01c0 3d 62 33 3b 71 3d 30 2e 37 0d 0a 41 63 63 65 70 =b3;q=0.7..Accep 01d0 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69 70 t-Encoding: gzip 01e0 2c 20 64 65 66 6c 61 74 65 0d 0a 41 63 63 65 70 , deflate..Accep 01f0 74 2d 4c 61 6e 67 75 61 67 65 3a 20 6b 6f 2c 65 t-Language: ko,e 0200 6e 2d 55 53 3b 71 3d 30 2e 39 2c 65 6e 3b 71 3d n-US;q=0.9,en;q= 0210 30 2e 38 2c 6a 61 3b 71 3d 30 2e 37 0d 0a 0d 0a 0.8,ja;q=0.7.... 0000 8c b8 7e db 15 05 60 29 d5 41 ac 08 08 00 45 00 ..~...`).A....E. 0010 02 11 4d 45 40 00 2e 06 da ed 80 77 f5 0c ac 1e ..ME@......w.... 0020 01 12 00 50 d5 16 26 31 c0 a9 73 4d b9 e5 50 18 ...P..&1..sM..P. 0030 01 f5 cc b2 00 00 48 54 54 50 2f 31 2e 31 20 32 ......HTTP/1.1 2 0040 30 30 20 4f 4b 0d 0a 44 61 74 65 3a 20 53 75 6e 00 OK..Date: Sun 0050 2c 20 30 37 20 44 65 63 20 32 30 32 35 20 30 38 , 07 Dec 2025 08 0060 3a 32 32 3a 32 34 20 47 4d 54 0d 0a 53 65 72 76 :22:24 GMT..Serv 0070 65 72 3a 20 41 70 61 63 68 65 2f 32 2e 34 2e 36 er: Apache/2.4.6 0080 32 20 28 41 6c 6d 61 4c 69 6e 75 78 29 20 4f 70 2 (AlmaLinux) Op 0090 65 6e 53 53 4c 2f 33 2e 35 2e 31 20 6d 6f 64 5f enSSL/3.5.1 mod_ 00a0 66 63 67 69 64 2f 32 2e 33 2e 39 20 6d 6f 64 5f fcgid/2.3.9 mod_ 00b0 70 65 72 6c 2f 32 2e 30 2e 31 32 20 50 65 72 6c perl/2.0.12 Perl 00c0 2f 76 35 2e 33 32 2e 31 0d 0a 4c 61 73 74 2d 4d /v5.32.1..Last-M 00d0 6f 64 69 66 69 65 64 3a 20 54 75 65 2c 20 32 38 odified: Tue, 28 00e0 20 4f 63 74 20 32 30 32 35 20 30 35 3a 35 39 3a Oct 2025 05:59: 00f0 30 31 20 47 4d 54 0d 0a 45 54 61 67 3a 20 22 38 01 GMT..ETag: "8 0100 30 2d 36 34 32 33 31 62 36 37 31 37 65 38 37 22 0-64231b6717e87" 0110 0d 0a 41 63 63 65 70 74 2d 52 61 6e 67 65 73 3a ..Accept-Ranges: 0120 20 62 79 74 65 73 0d 0a 43 6f 6e 74 65 6e 74 2d bytes..Content- 0130 4c 65 6e 67 74 68 3a 20 31 32 38 0d 0a 4b 65 65 Length: 128..Kee 0140 70 2d 41 6c 69 76 65 3a 20 74 69 6d 65 6f 75 74 p-Alive: timeout 0150 3d 35 2c 20 6d 61 78 3d 31 30 30 0d 0a 43 6f 6e =5, max=100..Con 0160 6e 65 63 74 69 6f 6e 3a 20 4b 65 65 70 2d 41 6c nection: Keep-Al 0170 69 76 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 ive..Content-Typ 0180 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 e: text/html; ch 0190 61 72 73 65 74 3d 55 54 46 2d 38 0d 0a 0d 0a 3c arset=UTF-8....< 01a0 68 74 6d 6c 3e 0a 43 6f 6e 67 72 61 74 75 6c 61 html>.Congratula 01b0 74 69 6f 6e 73 2e 20 20 59 6f 75 27 76 65 20 64 tions. You've d 01c0 6f 77 6e 6c 6f 61 64 65 64 20 74 68 65 20 66 69 ownloaded the fi 01d0 6c 65 20 0a 68 74 74 70 3a 2f 2f 67 61 69 61 2e le .http://gaia. 01e0 63 73 2e 75 6d 61 73 73 2e 65 64 75 2f 77 69 72 cs.umass.edu/wir 01f0 65 73 68 61 72 6b 2d 6c 61 62 73 2f 48 54 54 50 eshark-labs/HTTP 0200 2d 77 69 72 65 73 68 61 72 6b 2d 66 69 6c 65 31 -wireshark-file1 0210 2e 68 74 6d 6c 21 0a 3c 2f 68 74 6d 6c 3e 0a .html!.</html>. Is your browser running HTTP version 1.0, 1.1, or 2? What version of HTTP is the server running?
December 7, 2025
Getting Started
Wireshark라는 Packet sniffer 프로그램의 기본적인 사용법을 익힙니다. Packet sniffer의 원리 Packet sniffer는 커널에서 구현된 네트워크 관련 동작부에서 Data frame을 복사해옵니다. 네트워크의 중간에 껴서 받은 후에 대신 전달하는게 아닙니다. Data frame은 커널에 어떻게 저장되길래 가져올 수 있는걸까요? NIC라는 하드웨어 장치가 하드웨어적으로 구현된 과정(CPU가 Clock을 소모하는 것이 아님)을 통해 Frame을 읽어서 DMA buffer에 써줍니다. NIC가 발생시킨 interrupt로 인해 적절한 Interrupt service Routine이 실행되면서 DMA buffer에서 데이터를 읽어서 내 컴퓨터의 메모리에 올린다. Kernel이 다루는 sk_buff라는 형태로 저장됩니다. Wireshark의 libpcap은 socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); 같은 방법으로 socket을 엽니다. 이 소켓은 L2 raw frame을 받을 수 있는 특별한 소켓이며, 소켓을 열면 커널은 수신된 sk_buff의 패킷 데이터를 복사해서 해당 Packet Socket의 receive queue에 넣어줍니다. Internet Protocols의 의미 Transport, Netowrk, Link, Physical 이 4개의 추상적인 Layer를 묶어서 Internet Protocols이라고 부른다고 합니다.
December 4, 2025
2026 카카오그룹 신입크루 공채 코딩 테스트 2차 풀이
1. 힌트권 문제 요약 1,2,⋯ ,n(n≤16)1, 2, \cdots, n(n \le 16)1,2,⋯,n(n≤16)개의 문제를 순서대로 풀어야 한다. k(k≤16)k(k \le 16)k(k≤16)개의 힌트 번들이 주어지는데, 각 번들은 최대 한 번 구매할 수 있으며 (ai,pi,bi1,bi2,⋯ ,biM)(a_i, p_i, b_{i1}, b_{i2}, \cdots, b_{iM})(ai,pi,bi1,bi2,⋯,biM)으로 구성되어 있다. aia_iai번 문제를 풀고 난 후에 pip_ipi의 비용으로 구매할 수 있으며, 총 mmm개의 힌트권이 들어있음을 의미한다. 힌트권은 어떤 문제에 대한 힌트권인지를 의미하는 정수 bjb_jbj로 이루어져 있다.
November 24, 2025
Computer Networking: A Top-Down Approach
Computer Networking: A Top-Down Approach를 공부하면서 깨달은 점과 고민들을 정리합니다. Wireshark labs의 문제들을 어떻게 접근했는지 시행착오를 정리합니다. Wireshark labs Wireshark labs은 Computer Networking: A Top-Down Approach를 기반으로 한 실습 자료입니다. Getting Started HTTP DNS TCP UDP IP NAT DHCP ICMP Ethernet & ARP 802.11 WiFi Basic WiFi Radio 5G Radio 5G Finding & Joining TLS
November 19, 2025
2026 카카오그룹 신입크루 공채 코딩 테스트 1차 풀이
1. 스포일러 방지 구간 문제 요약 공백과 알파벳 소문자와 숫자로만 이루어진 문자열 sss가 주어진다. qqq개의 구간 [l1,r1],[l2,r2],⋯ ,[lq,rq][l_1, r_1], [l_2, r_2], \cdots, [l_q, r_q][l1,r1],[l2,r2],⋯,[lq,rq]가 주어지고, 이 구간에 포함되는 문자는 스포일러 방지 처리되어 있다.
October 29, 2025