i3wm으로 생산성 극대화하기
서론 i3 윈도우 매니저(i3wm)는 효율성과 생산성에 초점을 맞춘 타일링 윈도우 매니저로, 2009년 Michael Stapelberg에 의해 처음 개발되었다. C언어로 작성된 i3는 가벼우면서도 강력한 기능을 제공하며, 특히 키보드 중심의 워크플로우를 선호하는 개발자와 파워 유저들 사이에서 큰 인기를 얻고 있다. i3는 X Window System 환경에서 동작하며, 최근에는 Wayland 호환 버전인 Sway도 널리 사용되고 있다. 불필요한 시각적 요소를 최소화하고 화면 공간을 최대한 활용하는 철학을 바탕으로, 다중 모니터 지원, 효율적인 창 관리, 그리고 높은 수준의 사용자 정의 기능을 제공한다. ...
메모리 압축(ZRAM)으로 RAM 한계 넘기기
zram의 개념과 원리 zram(이전 명칭: compcache)은 리눅스 커널에서 제공하는 메모리 압축 기술로, RAM의 일부를 압축하여 가상 블록 장치로 사용하는 메커니즘이다. 이 기술은 2009년 Nitin Gupta에 의해 처음 개발되었으며, 리눅스 커널 3.14부터 정식으로 통합되었다. zram의 핵심 아이디어는 디스크 기반 스왑 대신 압축된 RAM을 스왑 공간으로 활용함으로써, 디스크 I/O의 부하 없이 메모리 사용량을 줄이는 것이다. zram 장치는 데이터를 메모리에 저장하기 전에 실시간으로 압축하고, 데이터 접근 시 실시간으로 압축을 해제한다. 이 과정에서 CPU 리소스를 일부 소모하지만, 디스크 I/O를 피할 수 있어 전체적인 시스템 성능 향상에 기여한다. 일반적으로 zram은 LZO, LZ4, ZSTD와 같은 고속 압축 알고리즘을 사용하여 2:1에서 4:1 정도의 압축률을 달성한다. ...
NAT(Network Address Translation) 이해하기
서론 NAT(Network Address Translation)는 네트워크 통신에서 사설 IP 주소와 공인 IP 주소 사이를 중재하는 핵심 기술이다. 이는 1990년대 중반 IPv4 주소 고갈 문제에 대응하기 위해 등장했으며, IETF의 RFC 1631 문서를 통해 처음 표준화되었다. NAT는 현재 가정용 공유기부터 대규모 기업 네트워크, 클라우드 인프라에 이르기까지 전 세계 인터넷 인프라의 근간을 이루는 필수 기술로 자리잡았다. NAT의 기본 개념 NAT는 라우터나 방화벽과 같은 네트워크 장비에서 동작하며, 내부 네트워크(사설 IP)와 외부 네트워크(공인 IP) 간의 IP 주소를 변환한다. 이 과정에서 패킷 헤더의 IP 주소와 TCP/UDP 포트 번호를 수정하고, NAT 테이블에 변환 정보를 기록하여 양방향 통신을 가능하게 한다. RFC 1918에 정의된 사설 IP 주소 대역(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)은 이러한 NAT 환경에서 내부 네트워크 구성에 광범위하게 활용된다. 패킷이 NAT 장비를 통과할 때 체크섬(checksum)도 함께 재계산되며, 이는 IP와 TCP/UDP 헤더의 무결성을 보장하는 데 필수적이다. ...
이론과 실습으로 배우는 ARP 스푸핑
서론 ARP 스푸핑(ARP Spoofing)은 네트워크 보안 분야에서 오래전부터 연구되고 있는 공격 기법이다. 이 공격은 ARP 프로토콜의 구조적 한계를 악용하여 네트워크 트래픽을 가로채거나 변조하는 것을 목적으로 한다. 본 글에서는 ARP 프로토콜의 기본 개념을 시작으로, ARP 스푸핑의 작동 원리, 실제 공격 실습, 그리고 이를 방어하는 방법에 대해 알아보겠다. ARP 프로토콜이란? ARP(Address Resolution Protocol)는 네트워크 계층(IP)과 데이터 링크 계층(MAC) 사이의 주소 변환을 담당하는 프로토콜이다. 쉽게 말해, IP 네트워크 상에서 통신을 하려면 상대방의 IP 주소뿐만 아니라 MAC 주소도 알아야 한다. 이때 ARP가 사용된다. ...
Ubuntu에서 MAC 주소 변경하는 방법
서론 MAC 주소(Media Access Control address)는 네트워크 장치를 식별하는 고유 주소이다. 보안이나 프라이버시 등의 이유로 이 주소를 변경해야 할 필요가 있을 수 있다. 이 글에서는 Ubuntu에서 MAC 주소를 변경하는 방법을 알아본다. MAC 주소란? MAC 주소는 네트워크 인터페이스 카드(NIC)에 할당된 고유 식별자이다. 48비트(6바이트) 길이의 이 주소는 일반적으로 XX:XX:XX:XX:XX:XX 형식의 16진수로 표시된다. 주소의 구성은 다음과 같다: 처음 3바이트: 제조업체를 나타내는 OUI(Organizationally Unique Identifier) 나머지 3바이트: 제조업체가 할당한 고유 번호 MAC 주소 확인하기 MAC 주소를 변경하기 전에 현재 주소를 확인하는 방법은 다음과 같다: ...