전체 글 (123) 썸네일형 리스트형 ARP 스푸핑 — 스위치 환경에서 어떻게 스니핑하나 정의 — ARP는 왜 속기 쉬운가같은 LAN 안에서 실제로 프레임을 주고받으려면 상대의 IP 주소가 아니라 MAC 주소가 필요하다. ARP(Address Resolution Protocol)는 그 변환, 즉 IP 주소로 MAC 주소를 알아내는 프로토콜이다. 절차는 단순하다."192.168.0.1을 쓰는 사람의 MAC은?"이라는 ARP Request를 브로드캐스트한다.해당 IP를 가진 호스트가 자기 MAC을 담아 ARP Reply를 보낸다.응답을 ARP 캐시에 저장하고, 다음부터는 캐시를 본다(arp -a로 확인).문제는 이 프로토콜에 인증이 없다는 데 있다. ARP Reply에는 "내가 진짜 그 IP의 주인인가"를 증명하는 장치가 전혀 없고, 대부분의 구현은 요청하지 않았는데 날아온 Reply(gratu.. 리눅스 파일 권한과 SetUID·SetGID·스티키 비트 정의 — 세 주체, 세 권한리눅스의 모든 파일과 디렉터리는 소유자(user)·그룹(group)·그 외(other) 세 주체에 대해 읽기(r)·쓰기(w)·실행(x) 권한을 따로 갖는다. ls -l이 앞머리에 찍어주는 -rwxr-xr--가 그 표현이다. 맨 앞 한 자리는 파일 유형(- 일반 파일, d 디렉터리, l 심볼릭 링크)이고, 나머지 아홉 자리를 셋씩 끊어 읽는다.각 권한에는 8진수 값이 붙는다. r=4, w=2, x=1이고, 한 주체의 권한은 이 값을 더한 한 자리 숫자가 된다.표기계산8진수rwx4+2+17r-x4+0+15r--4+0+04그래서 -rwxr-xr--는 754이고, chmod 754 file로 같은 상태를 만들 수 있다.디렉터리에서는 뜻이 달라진다같은 rwx라도 디렉터리에 붙으면 의미가.. 대시보드엔 0원, 카드엔 226억 — Claude 요금 청구 오류가 드러낸 것 한 사용자의 대시보드에는 사용 요금 $0.00이 찍혀 있었다. 같은 시각 그의 청구서에는 £12.2M(약 $16.6M, 원화로 226억 원) 이 적혀 있었다. 2026년 7월, Anthropic의 요금 청구 오류가 이렇게 세상에 알려졌다. 이건 단순한 오타가 아니라, 결제 자동화가 어떻게 어긋날 수 있는지 보여준 사건이다.이 글은 최근 잇따른 세 건의 청구 오류를 사건별로 정리하고, 공통된 실패 구조를 짚는다. 수치는 외신 보도(IBTimes UK, TechTimes 등)에 근거한다.사건 1 — 무료 사용자에게 날아온 226억 원IBTimes 등의 보도에 따르면, 피해자는 한국의 무료 이용층(free tier) 사용자였다. 청구될 만한 API 사용 기록이 없었는데도 7월 7일 첫 청구서로 £1.23M($.. C++_Wiener Filtering 보호되어 있는 글입니다. CRA_리액트 프로젝트 만들기 CRA = create react app = 리액트 보일러플레이트 = 편하게 리액트 프로젝트를 만들어주는 도구 보일러플레이트? 컴퓨터 프로그래밍에서 보일러플레이트 또는 보일러플레이트 코드라고 부르는 것은 최소한의 변경으로 여러 곳에서 재사용되며, 반복적으로 비슷한 형태를 띄는 코드를 말한다. 개발자들에게 불필요하고 복잡하고 도움이 안 되는 반복적인 일들을 하지 않도록 도와주는 것이 보일러 플레이트 반복적으로 사용되는 부분을 재사용 최소한의 수정으로 재사용 개발자를 단순 작업으로부터 해방 CRA가 이 ‘보일러플레이트’의 역할을 해주기 때문에 ‘리액트 보일러플레이트’라고 한다. 요약하자면, 보일러플레이트의 장점 : 반복적으로 사용되는 부분을 재사용 최소한의 수정으로 재사용 개발자를 단순 작업으로부터 해방 C.. class vs interface 인터페이스 ES6가 지원하지 않는 타입스크립트만의 특징 인터페이스는 타입이며 컴파일 후에 사라진다. 추상 클래스는 선언과 구현이 모두 존재하지만 인터페이스는 선언만 존재하며, 멤버 변수와 멤버 메서드를 선언할 수 있지만 접근 제한자는 설정할 수 없다. 클래스와 달리 interface는 TypeScript의 컨텍스트 내에서만 존재하는 가상 구조 TypeScript 컴파일러는 타입 체크 목적으로만 인터페이스를 사용한다. 코드가 JavaScript 언어로 트랜스 파일되면 인터페이스에서 제거된다. 인터페이스 예시 let person = { name: 'Capt', age: 28}; function logAge(obj: { age: number }) { console.log(obj.age); // 28 } log.. Linux Git : 기초 CLI(Command-Line Interface) 입력하는 글자와 출력되는 글자로 컴퓨터와 소통할 수 있다. GUI(Graphical User Interface) 대표적인 예시 : Windows JavaScript가 돌아가는 환경 = 런타임 = 브라우저와 Node.js NVM nvm은 Node.js의 다양한 버전을 관리하는 프로그램 nvm을 사용하면 Node.js의 다양한 버전을 쉽게 설치하고, 사용할 수 있습니다. nvm으로 Node.js의 버전을 관리하면, Node.js를 설치하고 version을 바꾸는 일이 편리합니다. 정리하면 nvm은 다양한 Node.js version를 설치하고 관리할 수 있는 프로그램입니다. 모듈 모듈 = 쪼개 놓은 것 (기능 별로) 모듈 여러개를 합치면 ⇒ 하나의 프로그램 .. 에러 해결 : Plugin "react" was conflicted between "package.json » eslint-config-react-app [React.js] Yarn berry 적용하며 발생한 에러 정리 [React.js] Yarn berry 적용하며 발생한 에러 정리 Failed to load config "react-app" to extend from. .yarnrc.yml에 nodeLinker: node-modules를 제외하여 Plug'n'Play 기능을 활성화하려고 할 때 생기는 오류로 아래와 같이 Create React App에서 사용하는 ESLint 구성 패키지를 doqtqu.tistory.com 위의 티스토리에 정리가 잘 되어 있어서 참고했습니다. 에러 해결법을 한 줄로 요약하자면, package-lock.json, node_modules 삭제 후 다시 npm install 해보기 이전 1 2 3 4 ··· 16 다음