본문 바로가기

분류 전체보기

(86)
윈도우에서 CC2531을 이용하여 Zigbee 패킷 캡처 환경 Window 10 플래싱 된 CC2531 - CC2531 펌웨어 플래싱 방법 윈도우용 CC2531 Zigbee 스니핑 펌웨어 위의 윈도우용 CC2531 Zigbee 스니핑 펌웨어를 CC2531 펌웨어 플래싱 방법 게시물에 따라 플래싱을 완료한 상태의 CC2531이어야 한다. 위의 링크를 타고 들어가면 아래와 같은 웹 페이지로 들어가진다. 빨간색 박스를 클릭하면 아래와 같은 창이 나오는데, 체크박스에 체크를 해주고 CONTINUE를 눌러준다. 밑의 사진처럼 입력해야 하는 정보들을 입력하고 SUBMIT를 누른다. 그럼 입력한 이메일로 다운로드 링크가 온다. 그럼 해당 다운로드 링크를 눌러서 압축 파일을 하나 받아준다. 그리고 받은 압축 파일을 압축 해제 해주고 나온 폴더에서 2020_11_02_zbos..
리눅스에서 CC2531을 이용하여 Zigbee 패킷 캡처 환경 vmware Ubuntu 18.04 플래싱 된 CC2531 - CC2531 펌웨어 플래싱 방법 리눅스용 CC2531 Zigbee 스니핑 펌웨어 위의 리눅스용 CC2531 Zigbee 스니핑 펌웨어를 CC2531 펌웨어 플래싱 방법 게시물에 따라 플래싱을 완료한 상태의 CC2531이어야 한다. 리눅스에서 Wireshark 설치 sudo apt-get install -y libusb-1.0-0-dev wireshark git clone https://github.com/homewsn/whsniff cd whsniff-1.1 make sudo make install 위의 명령어들로 와이어샤크 설치 이후에 802.15.4 무선 센서 네트워크 패킷 을 컨버트 할 수 있도록 하는 whsniff를 설치한다. 이..
Zigbee 패킷 캡처를 위한 CC2531 펌웨어 플래싱 방법 준비물 CC2531 라즈베리파이 3B - 라즈베리 OS가 설치되어있는 것을 가정 암암 점퍼 케이블 플래싱에 필요한 파일들 다운로드 CC2531을 플래싱 하기 위해서는 먼저 2가지 파일들을 깃에서 클론 해야 한다. 또한, 스니핑에 사용되는 펌웨어를 가지고 있어야 한다. flash_cc2531은 CC2531을 플래싱 해주기 위해 필요한 파일들이며 WiringPi는 C언어로 헤더 핀을 제어할 수 있는 기능을 제공해 준다. 둘 다 같은 폴더에 클론 해준다. git clone https://github.com/jmichault/flash_cc2531.git git clone https://github.com/WiringPi/WiringPi 두 개 다 클론이 완료되면 WiringPi를 클론 한 폴더로 들어가서 ./..
Wireshark(와이어샤크) SSL/TLS 패킷 복호화 환경 Windows 10 Wireshark Version 4.0.0 Chrome 106.0.5249.119 SSLKEYLOGFILE 설정 윈도우 키 눌러서 시스템 환경 변수 편집 검색 후 클릭 환경 변수 클릭 새로 만들기 클릭 변수 이름 : SSLKEYLOGFILE 변수 값 : ssl key 로그 파일이 저장되고 싶은 아무 위치나 사용자가 지정하면 된다. 이후 전부 확인 눌러서 닫아주면 된다. 이후 크롬 브라우저를 열어서 SSL/TLS가 적용된 웹 사이트를 접속했다가 크롬을 종료하면 된다. 그러고 나서 아까 환경 변수 경로 설정한 부분에 sslkey.log 파일이 생성되었는지 여부와 파일 내부에 SECRET KEY 와 같은 것들이 생성되었는지 확인한다. Wireshark 설정 와이어샤크를 킨 후에 Edi..
2021 화이트햇 콘테스트 국방트랙 참가 후기 WITHCON 화이트햇 콘테스트, 약칭으로 WITHCON이라 불리는 이 대회는 내국인만 참여 가능한 국내 대회 중 꽤 큰 규모를 자랑한다. 이번 2021년도에는 일반부, 청소년부에 이어 국방트랙이라고 현역 장병 및 군무원만 참가 가능한 부문이 생겨났다. 언젠간 나가야지.. 나가야지 했던 CTF 대회를 군대에서 참여를 하게 될 줄은 몰랐다.. 사회에 있을 때 뭐든 나중으로 미루고 언젠간 하겠지 라는 생각을 고치려고 참여를 결심했다. 대회 참여 과정, 준비 처음에 부대 내 간부님이 먼저 WITHCON이 곧 열린다고 알려주셨다. 들었을 당시에는 흥미롭다고 생각했었고, 나갈지 말지를 고민하고 있었다. 그렇게 꽤 오랫동안 갈등하다가 안나가는 쪽으로 생각이 기울 즈음에 같은 기수 정보보호병 동기가 연락이 왔다. 같..
컴포넌트를 기능별로 분리한 다음 렌더링 컴포넌트를 기능별로 분리하는 이유? 이때까지 컴포넌트를 App.js에 정의해 나갔었다. 지금은 컴포넌트의 수가 많지 않으니 App.js에 있는 컴포넌트를 구별하고 읽기에 어렵진 않겠지만, 각기 다른 기능을 가진 컴포넌트가 매우 많아지고 컴포넌트 하나에 들어있는 코드 줄 수가 많아진다면 추후에 컴포넌트를 수정할때 그 컴포넌트가 있는 부분을 찾기 힘들 것이다. 다시말해 유지보수가 힘들어진다는 것이다. 폴더를 만들고 각각의 파일로 분리 컴포넌트를 분리하는 방법은 간단하다. src 폴더에 컴포넌트를 담는 폴더를 만들고 컴포넌트별로 파일을 분리하면 된다. 컴포넌트를 담는 폴더인 components 폴더를 만들었다. 그리고 App.js에 있는 사용자 정의 컴포넌트를 옮길 파일(Webhead.js)을 componen..
React props를 이용해 재사용 가능한 컴포넌트 제작 props React에서 사용자가 새롭게 정의한 컴포넌트를 발견하면 JSX의 속성을 단일 객체로 저장하는데 이때의 객체를 props라고 부른다. Javascript에서의 객체를 생각하면 이해하기 쉬울 것이다. Javascript의 자료형 중 하나인 '객체(Object)' 객체 (Object) 객체는 자바스크립트에 존재하는 자료형 중 하나이다. 이 객체는 여러 데이터를 담을 수 있다는 점에서 배열과 비슷하나, 배열보다 담을 수 있는 데이터의 종류가 더 다양하다. { } ( ludeno-studying.tistory.com Javascript에서 HTML 태그를 불러올때 DOM을 이용해 객체로 반환되듯이, React에서 JSX에 있는 속성 값을 props에 객체로 반환되는 것이다. 객체이기 때문에 Javas..
React 함수형 컴포넌트, 클래스형 컴포넌트 차이점 함수형 컴포넌트 function App() { return ( // HTML이 들어갈 자리 ); } 클래스형 컴포넌트 import React, { Component } from 'react' class App extends Component{ render(){ return( // HTML이 들어갈 자리 ); } } 선언의 차이점 일단, 함수형 컴포넌트와 클래스형 컴포넌트는 선언 방식부터 다르다. function App() { return ( // HTML이 들어갈 자리 ); } 함수형 컴포넌트는 말 그대로 Javascript의 함수형식으로 되어있는 컴포넌트이다. import React, { Component } from 'react' class App extends Component{ render(){ ..