본문 바로가기

아이티 :D

nvidia-docker 컨테이너에서 사용중인 Gpu 제거하기 안녕하세요 :D 오늘은 지구에서 가장 핫한 IT키워드중 하나인 Docker를 주제삼아 포스팅 하려고 합니다. 요즘 Docker로 개발환경을 구성하는 개발회사들이 굉장히 많아졌고 저희팀 또한 모든 개발환경이 Docker로 구성되어 있습니다. 즉 각각의 Docker Container에 서비스에 맞는 개발환경이 구성되어 있는거죠. 때문에 본의 아니게 Docker 삽질을 굉장히 많이 했습니다...IT의 매력중 하나는 삽질이니까 괜찮아요...하하 Container는 Host와 매핑된 정보를 가지고 있습니다. 때문에 기동시에는 이 정보를 가지고 있는 파일을 참조하게 됩니다. 그렇다면 질문: GPU 4개를 사용중인 Docker Container는 GPU를 1개 제거한다면 기동이 될까요 안될까요?정답은 "설정파일을 수.. 더보기
파이썬 Paramiko 모듈을 이용한 커스텀 SFTP모듈 만들기! import osimport sysimport paramikoimport threadingimport time '''사용중인 logger가 있으시다면 아래 logger 변수에 할당해주시기 바랍니다.만약 없다면 applogger의 Logger를 디폴트로 사용합니다.'''logger = None_loggerflag = False if logger is None: from applogger import Logger _loggerflag = True logger = Logger(logtype='STREAM',loglevel='DEBUG').UseLogger() '''테스트를 위한 사용자정보 딕셔너리(추후 다른 모듈과 연동될때는 DB든 JSON이든 사용자 정보를 아래와 같이 딕셔너리 형태로 받아옵니다.)'''in.. 더보기
파이썬 로깅모듈을 이용한 커스텀 logger 만들기 Python logging 라이브러리를 활용해서 Custom Logger를 아래와 같이 간단하게 만들어보았습니다.개발할때 중요한게 참 많지만 그중에서 디버깅과 로깅은 정말 중요하다고 할 수 있죠.적절한 로깅은 디버깅을 한결 편리하게 해주니 우리모두 로깅을 남발하지 말고 적절하게 사용합시다 :D.. from __future__ import absolute_importimport os,sysfrom logging import getLogger, StreamHandler, FileHandler, Formatter, DEBUG, INFOfrom logging.handlers import TimedRotatingFileHandler class Logger(object): def __init__(self, logt.. 더보기
PE format 상세분석 안녕하세요 :) 저번 포스팅에서는 RVA to RAW 관련 개념들을 정리했었는데 이번 포스팅에선 PE file format을 상세분석 하도록 하겠습니다. 사실 이 포스팅이 먼저였어야 하는데 말이죠!ㅎㅎ 아직까지도 PE에 대해서 초보지만 PE 분석하는 프로그램을 만들면서 하나하나 파싱해나가니깐 그래도 좀 친숙하게 PE가 다가오더라구여 그래서 이번에도 자신감을 가지고 가보도록 하겠습니다. 1. PE란 무엇인가? -Portable Executable의 약자로 Win32 운영체제가 돌아가는 시스템이면 어디서든 실행이 가능한 파일을 말합니다. -PE 파일의 종 류는 아래와 같습니다. 드라이브: SYS, 오브젝트파일: OBJ, 라이브러리: DLL, OCX, 실행파일: EXE, SCR 2. PE구조 한눈에 보기! 출.. 더보기
RVA to RAW PE 분석글을 쓰기에 앞서 RVA, RAW, VA에 대해서 포스팅을 하겠습니다. 컴퓨터는 한가지의 작업만 하는게 아니기에 메모리나 디스크의 주소공간들은 연속해서 사용되어지지 않습니다. 때문에 사용가능한 주소공간들이 비연속적 (띄엄 띄엄) 존재하게 됩니다. 그래서 가상공간에 메모리를 만들어서 (32비트 환경에서는 4G의 크기를 가집니다) 거기서 연속된 주소공간을 재구성합니다. 1. VA (Virtual Address) 가상메모리상에서 연속된 주소공간을 가르킵니다. RVA + Imagebase 공식으로 구할 수 있습니다. - Imagebase 값 (400000) - RVA 값 (1000) - RVA + Imagebase = VA 값 (401000) 2. RVA (Relative Virtual Address).. 더보기
Pcap 파싱하기 1. Pcap 파일이란 무엇인가? -Packet capture의 약자로 네트워크 트래픽을 캡쳐하기 위한 API로 구성되어 있습니다. 윈도우 시스템에서는 Winpcap이며, 리눅스 시스템에서는 libpcap입니다. 네트워크 트래픽을 분석하기에 아주 용이한 라이브러리의 모음이라고 볼 수 있습니다. -Pcap file format [글로벌헤더] + [패킷헤더 + 패킷데이터] + [패킷헤더 + 패킷데이터] ...... [글로벌헤더] *magic_number: pcap 시그니쳐이며, "0xa1b2c3d4"의 고정값을 가집니다. (32bit) *version_major, version_minor: pcap파일의 버전을 나타냅니다.(각 16bit) *thiszone: GMT와 localT의 차이를 나타낸 필드. (3.. 더보기
parallels 서비스를 실행 할 수 없습니다. 이번 포스팅은 Mac에서 누릴 수 있는 최고의 호사 Parallels의 Error에 대하여 포스팅 하겠습니다. Mac OS X 10.9.5(매버릭스) 와 10.10(요세미티)상에서 parallels가 실행이 되지 않는 버그가 발생헀습니다.parallels측에서도 해당 문제를 파악하고 이후 업그레이드 버전을 배포 했는데요 설치하기가 매우 귀찮다면 아래와 같은 방법으로 parallels를 구동시킬 수 있습니다. 1. Parallels error 발생 2. 터미널상에서 아래와 같은 명령어 입력"sudo /Applications/Parallels\ Desktop.app/Contents/MacOS/Parallels\Service.app/Contents/MacOS/prl_disp_service -e"입력하면 터미널.. 더보기
Write Through Vs Write Back 2013년에 정리한 Write Through Vs Write Back 비교 문서입니다. 안정성을 중점으로 둘건지 퍼포먼스를 중점으로 둘건지를 파악해서 비교해서 각 서비스에 맞게 사용하시면 될 것 같습니다. 더보기