728x90

분류 전체보기 105

공유기의 WAN 설정에서 MAC clone 이란

MAC clone 기능은 공유기/라우터의 WAN 포트 MAC 주소를 다른 기기의 MAC 주소처럼 보이게 바꾸는 기능쉽게 말하면, 인터넷 회선이 “이 MAC 주소를 가진 기기만 접속 가능”하도록 기억하고 있을 때, 공유기가 그 기기인 척하도록 만드는 기능. MAC 주소란?MAC 주소는 네트워크 장비마다 붙어 있는 고유 식별자입니다. 예를 들면 노트북의 유선 랜카드, Wi-Fi 어댑터, 공유기의 WAN 포트 등에 각각 MAC 주소가 있습니다. 왜 MAC clone이 필요할까?일부 인터넷 서비스 제공업체(ISP)나 사무실/기숙사 네트워크는 처음 연결된 기기의 MAC 주소를 기억해 두고, 그 MAC 주소가 아니면 인터넷 연결을 허용하지 않는 경우가 있습니다.예를 들어 처음 설치시 통신사 공유기를 사용하다가, 나..

Networks 2026.05.14

뮤텍스(Mutex)와 세마포어(Semaphore)

뮤텍스(Mutex)와 세마포어(Semaphore)는 동기화(Synchronization)를 위한 도구이지만, 목적과 동작 방식에서 중요한 차이 있음1️⃣ 기본 개념🔐 뮤텍스 (Mutex: Mutual Exclusion)상호 배제를 위한 락(Lock)한 번에 오직 하나의 스레드만 공유 자원에 접근 가능락을 건 스레드만이 락을 해제할 수 있음소유권(ownership) 개념이 있음👉 "화장실 열쇠 하나"🚦 세마포어 (Semaphore)카운팅 기반 동기화 도구동시에 접근 가능한 스레드 수를 정수 값으로 제어소유권 개념이 없음 (다른 스레드가 해제 가능)두 종류가 있음:Binary Semaphore (0 또는 1)Counting Semaphore (0 이상 정수)👉 "입장 가능한 인원이 N명인 세미나실"2..

Linux 2026.02.24

[Python] 줄서기 시스템

✅ 구성👤 사용자 화면이름 + 전화번호 입력내 번호 확인실시간 대기열 확인🧑‍💼 관리자 화면다음 사람 호출 버튼현재 호출 번호 전체 화면 강조호출 시 소리 알림실시간 갱신🔒 서버Mutex (threading.Lock)동시 접속 안전AJAX 기반 (새로고침 없음)📁 파일 구조queue_system/ ├ app.py └ templates/ ├ user.html └ admin.html1️⃣ app.py (서버)from flask import Flask, render_template, request, jsonifyimport threadingapp = Flask(__name__)queue = []queue_lock = threading.Lock()next_id = 1current_person..

Python 2026.02.05

[WiFi] Preamble Puncturing과 Multi-RU

1️⃣ 한 줄 요약Preamble Puncturing은 “이 링크에서 어디를 아예 쓰지 않을지”를 정하고,Multi-RU는 “남아 있는 주파수를 어떻게 사용자에게 나눠줄지”를 정한다.➡️ Preamble Puncturing → Multi-RU의 전제 조건2️⃣ 개념 레벨 차이 (레이어 관점)항목Preamble PuncturingMulti-RU레이어PHYMAC (OFDMA 스케줄링)질문“이 채널에서 어디를 비울까?”“이 STA에 어떤 RU를 줄까?”단위20 MHz subchannelRU (26 / 52 / 106 / 242 / …)역할불사용 대역 제거사용 대역 분배👉 Preamble Puncturing은 채널의 모양을 바꾸는 것👉 Multi-RU는 그 모양 안에서 자원을 배치하는 것3️⃣ 실제 동작 관..

Networks 2026.02.03

tar 압축 옵션에 따른 압축률

압축률 기준 TOP🥇 tar + xz (LZMA2)압축률 최고단점: 압축/해제 속도 느림tar -cJf archive.tar.xz dir/🥈 tar + zstd (고압축 옵션)xz에 거의 근접한 압축률 + 훨씬 빠름요즘 제일 밸런스 좋음tar -cf archive.tar.zst --use-compress-program="zstd -19" dir/🥉 tar + bz2gzip보다 압축률 좋음요즘은 잘 안 씀 (느리고 zstd에 밀림)tar -cjf archive.tar.bz2 dir/4️⃣ tar + gzip압축률은 낮지만 매우 빠르고 호환성 최고tar -czf archive.tar.gz dir/한 줄 요약무조건 최고 압축률 👉 tar.xz압축률 + 속도 균형 👉 tar.zst범용/호환성 👉 ta..

Linux 2026.01.22

yt-dlp 라이브러리 사용하여 youtube 동영상 다운 받는 코드 작성

1️⃣ 라이브러리 설치pip install yt-dlp2️⃣ 재생목록 전체 다운로드 (최고 화질)from yt_dlp import YoutubeDLplaylist_url = "https://www.youtube.com/playlist?list=재생목록ID"ydl_opts = { "format": "bestvideo+bestaudio/best", "merge_output_format": "mp4", "outtmpl": "downloads/%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s", "ignoreerrors": True, # 오류 영상은 건너뜀}with YoutubeDL(ydl_opts) as ydl: ydl.dow..

Python 2026.01.20

nftables 에서 모든 룰을 제거 하는 방법

- 이전 문서 nftables 사용 이유Linux에서 iptables와 ebtables에서 nftables로 대체 되고 있는데, iptables와 ebtables를 nftables로 대체할 때 얻는 주요 이점은 다음과 같다✅ 1. 통합된 프레임워크iptables, ip6tables, ebtables, arptables는 각각 IPv4, Iskydays.tistory.com ✅ 전체 초기화현재 로드된 모든 테이블, 체인, 룰을 전부 삭제합니다.sudo nft flush ruleset🔥 완전 초기화커널에 로드된 nftables 설정이 모두 사라짐테스트 환경이나 규칙을 처음부터 다시 짤 때 가장 많이 사용✅ 테이블은 남기고 룰만 삭제특정 테이블의 룰만 제거하고 싶을 때:sudo nft flush table..

Networks 2026.01.19

[WiFi] Wireshark에서 WPA3-SAE decryption 방법

WPA3는 기존 WPA2처럼 단순 Pre-Shared Key(PSK)만으로 복호화가 되지 않는다https://wiki.wireshark.org/HowToDecrypt802.11 을 보면 다음과 같이 hostapd 나 wpa_supplicant 실행 시 디버깅과 키옵션을 넣어서 실행해야 한다고 되어 있다 패킷 캡쳐시 다음과 같은 순서로 진행 한다위 옵션을 추가해서 hostapd나 wpa_supplicant를 실행 WiFi 패킷 캡쳐 시작단말을 접속 시도필요한 테스트 WiFi 패킷 캡쳐 종료 패킷 켭쳐가 종료 되면 hostapd나 wpa_supplicant 로그에서 PMK와 TK를 확인하고 공백을 제외 해서 wireshark에 입력한다 메뉴 - 편집 - 설정 을 누르면 아래 창이 뜬다 여기서 protoc..

Networks 2025.12.11

nftables 사용 이유

Linux에서 iptables와 ebtables에서 nftables로 대체 되고 있는데, iptables와 ebtables를 nftables로 대체할 때 얻는 주요 이점은 다음과 같다✅ 1. 통합된 프레임워크iptables, ip6tables, ebtables, arptables는 각각 IPv4, IPv6, Ethernet, ARP에 대해 별도의 명령어 및 테이블을 사용합니다.nftables는 하나의 프레임워크로 모두 통합되어 있어 복잡성을 줄이고 관리가 쉬워집니다.예: 하나의 규칙 세트로 IPv4, IPv6, L2 트래픽 모두 처리 가능✅ 2. 향상된 성능nftables는 BPF (Berkeley Packet Filter) 기반 내부 구조와 JIT(Just-In-Time) 컴파일을 통해 더 빠른 패킷..

Linux 2025.12.11
728x90