일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 커밋 이력
- Principles of Security
- 티스토리챌린지
- Submodule
- 라즈비안 os
- mosquitto
- Samba
- 스피커
- rfc 1350
- 가상머신
- virtualbox
- bfg repo-cleaner
- GitHub
- vm
- tftp
- 명령어
- 네트워크
- Type of Attacks
- ubuntu 20.04
- 리눅스
- 부팅 스크립트
- mqtt
- 라즈베리파이5
- Git
- 통신 프로토콜
- IOT
- 공유기 포트포워딩
- tftpd-hpa
- 오블완
- protocol
목록분류 전체보기 (30)
신짱구의 개발일지

Windows PC와 Ubuntu 20.04 Desktop PC 사이에서 네트워크로 간단히 파일 주고 받기 위해 Samba 설정한다. Ubuntu PC에 Samba를 설치해 윈도우(Client)에서 우분투(Server)로 접근하도록 구성하고자 한다.Samba란?Samba는 네트워크를 통해 Windows와 Unix/Linux 시스템 간 파일 및 프린터 공유를 가능하게 해주는 오픈 소스 소프트웨어이다.Andrew Tridgell이라는 호주 대학원생이 Windows가 사용하는 네트워크 프로토콜을 분석하다가 Windows의 SMB 프로토콜을 reverse engineering 하여 리눅스에서 구현한 것이다.1. 삼바 설치하기Ubuntu PC에 Samba를 설치한다.sudo apt-get install samba..
더보기1. tftpd-hpa/tftp 패키지란?2. tftpd-hpa 패키지 설치3. tftpd-hpa 설정 파일 수정4. tftpd-hpa 디렉토리 권한 설정 5. tftpd-hpa 실행6. tftp 패키지 설치7. tftp로 서버에 파일 요청본인은 Host PC(VM Ubuntu 20.04)에 tftpd-hpa Server를 설치하여 타겟 머신(Client)에서 Host PC(Server)로 파일을 요청하는 기능을 구성하고자 한다. TFTP에 대한 이론은 아래 링크에서 확인할 수 있다.https://shinzzangu.tistory.com/35 TFTP 프로토콜이란?더보기1. TFTP 배경2. TFTP 개념3. TFTP Packet 구조4. TFTP Packet 종류5. TFTP 전송 흐름6. Ref..

더보기1. TFTP 배경2. TFTP 개념3. TFTP Packet 구조4. TFTP Packet 종류5. TFTP 전송 흐름6. Reference 1. TFTP 배경TFTP는 특정 기업이 아닌, 인터넷 프로토콜 표준화 과정에서 개발된 프로토콜이다. 미국 국방부 산하의 고등연구계획국(DARPA)의 지원을 받아 MIT의 Karen R. Sollins에 의해 1992년 7월 *RFC 1350 문서로 정의되었다. TFTP는 RFC에 기반한 여러 구현체가 존재하며, 그 중 대표적인 구현체로는 리눅스 환경에서 많이 사용되는 TFTP Server인 tftpd-hpa 오픈소스가 있다. 이 패키지는 Linux Foundation에서 운영하는 kernel.org(리눅스 커널 공식 코드 저장소) 사이트에서 관리되고 있다...

더보기1. Submodule 이란?2. Submodule 동작 방식3. ReferenceSubmodule이란?프로젝트를 수행하다 보면 다른 프로젝트를 함께 사용해야 하는 경우가 종종 있다. 함께 사용할 다른 프로젝트는 외부에서 개발한 라이브러리라던가 내부 여러 프로젝트에서 공통으로 사용할 라이브러리일 수 있다. 이런 상황에서 자주 생기는 이슈는 두 프로젝트를 서로 별개로 다루면서도 그 중 하나를 다른 하나 안에서 사용할 수 있어야 한다는 것이다. Git의 서브모듈은 이런 문제를 다루는 도구이다. Git 저장소 안에 다른 Git 저장소를 디렉토리로 분리해 넣는 것이 서브모듈이다. 다른 독립된 Git 저장소를 Clone해서 내 Git 저장소 안에 포함할 수 있으며 각 저장소의 커밋은 독립적으로 관리한다. ..
더보기1. VirtualBox 네트워크 인터페이스 종류2. NAT (Network Address Translation)3. 브리지 어댑터 (Bridged Adapter)4. 내부 네트워크 (Internal Network)5. 호스트 전용 어댑터 (Host-Only Adapter) VM을 자주 사용하지만, 네트워크 인터페이스에 대해서는 얕게 알고 있는 것 같아 정리한다. VirtualBox에서는 VM이 네트워크에 연결되는 여러 가지 방식을 제공한다. VirtualBox 네트워크 인터페이스 종류NAT(Network Address Translation)NAT 네트워크 (NAT Network)브리지 어댑터 (Bridge Adapter)내부 네트워크 (Internal Network)호스트 전용 어댑터 (Host-..

더보기1. MQTT 프로토콜 지원 오픈소스 SW2. Mosquitto를 이용한 MQTT 통신 실습MQTT 프로토콜 지원 오픈소스 SWMQTT 프로토콜을 지원하는 여러 오픈소스 SW와 라이브러리가 있다. Broker와 Client 라이브러리로 나눌 수 있다. Mosquitto (Eclipse Mosquitto)Mosquitto는 설치가 간단하며, 리소스 소모가 적어서 사용하기에 편리하다. 또한, TLS 인증 및 WebSocket 기능을 사용할 수 있다. MQTT 3.1, 3.1.1, 5.0 버전을 지원하고, EPL/EDL 라이센스를 가진다.Mosquitto Broker경량 MQTT 브로커로, 빠르고 효율적인 메시지 중계를 제공한다. mosquitto 실행 파일로 서버 역할을 수행한다. CLI 명령어(mos..

더보기1. 가상머신 개념2. Ubuntu 다운로드3. VirtualBox 설치가상머신(Virtual Machine)이란?가상머신은 간단히 말하면 컴퓨팅 환경을 소프트웨어로 구현한 것이다. 가상머신에 대한 잘 정리된 내용을 아래에 인용했다.가상머신(VM; Virtual Machine)은 단일 물리적 컴퓨터 시스템 내에서 여러 개의 독립적인 운영 체제와 애플리케이션을 실행할 수 있도록 하는 소프트웨어 기술입니다. 마치 하나의 물리적 컴퓨터 안에 여러 개의 가상 컴퓨터가 존재하는 것과 같습니다. 각 가상머신은 자체 운영 체제, 메모리, 스토리지, 네트워크 자원 등을 가지고 독립적으로 작동합니다.가상머신을 사용하면 단일 컴퓨터에서 다양한 운영 체제를 동시에 사용할 수 있습니다. 각각의 가상머신은 다른 가상머신과..

더보기1. MQTT 프로토콜 배경2. MQTT 프로토콜 개념3. MQTT 구조 및 구성 요소4. MQTT 프로토콜 Layer5. MQTT 프로토콜 Topic 개념6. MQTT 프로토콜 QoS 개념7. 참고 문헌MQTT 프로토콜 배경MQTT (Message Queuing Telemetry Transport) 프로토콜은 Andy Stanford Clark(IBM)과 Arlen Nipper(Cirrus Link)이 1999년도에 공동으로 발명한 프로토콜이다. 그들은 위성을 통해 송유관과 연결하기 위해 최소한의 배터리 손실과 최소한의 대역폭을 가진 프로토콜이 필요했다. 두 발명가들은 미래 개발할 프로토콜을 위해 몇 가지 요구사항을 정리했다. Simple implementationQuality of Servi..

더보기1. 라즈베리파이 연결 방법2. GPIO 제어 라이브러리 설치3. DHT22 센서 통신 프로세스4. 코드 부분 설명사용된 장비라즈베리파이5DHT22 센서저항 (10kΩ)점퍼 와이어하드웨어 연결VCC: 5V (예: GPIO 2번 핀)GND: GND (예: GPIO 6번 핀)Data: GPIO 핀 (예: GPIO 17번 핀) 라즈베리파이5 GPIO 핀맵 온습도 센서 핀맵핀 구성은 왼쪽에서부터 아래와 같다.Pin 1: VDD (전원 공급, 3.3~6V DC 필요)Pin 2: DATA (디지털 신호 출력)Pin 3: NULL (연결되지 않음)Pin 4: GND (접지) 온습도 센서의 범위 오차표라즈베리파이 연결DHT22 데이타시트에 따르면, 전원 안정화를 위해 VDD와 GND 사이에 100nF의 Capac..
프로젝트를 진행하면서 IP 주소나 포트 번호 그리고 디비 계정 등을 임의의 값으로 수정하는 것을 잊고 커밋해버렸다.. 바로 이전 커밋을 취소하여도 되지만, 예전에 올린 커밋 이력에도 존재할 경우 모두 찾아서 커밋을 취소하기에는 너무너무 귀찮다. 이참에 이미 올라간 커밋 기록들에서 여러 민감 정보들을 한번에 가리거나 지울 수 있는 툴을 찾아보기로 했다. BFG Repo-CleanerBFG Repo-Cleaner는 Git 저장소에서 대용량 파일이나 민감한 정보를 빠르게 제거하기 위한 오픈 소스 도구이다. Git은 기본적으로 모든 커밋과 변경 이력을 추적하고 유지하기 때문에, 실수로 저장소에 민감한 정보나 큰 파일이 포함될 경우 영구적으로 남아 있을 수 있다. BFG Repo-Cleaner는 이러한 이력에서 ..