블로그 이미지
훅크선장

카테고리

분류 전체보기 (360)
사진이야기 (23)
펭귄컴퓨팅 (120)
컴퓨터보안 (83)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.3
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
31

공지사항

태그목록

최근에 올라온 글

최근 RF 해킹에 관심을 가지게 되어서, HackRF One 장비를 구입했습니다.

외국 문헌에 사용방법이 많이 나와있는데, 저는 가능하면 칼리 리눅스 Kali Linux 2.0을 선호해서, 여기서 사용할 수 있는 방법을 정리해봤습니다.


이미 칼리 리눅스 Kali Linux 2.0 에는 HackRF와 관련된 모든 설치와 

셋팅이 되어 있습니다. 그냥 사용하시면 됩니다.

GNU Radio를 바로 쓰면 됩니다.


다만, 매번 장비를 꽂고나서 반드시

# rmmod hackrf

명령어를 실행시켜야만 합니다. 그래야 정상적으로 장비가 커널에서 인식이 됩니다.


HackRF one에 관련된 정보는 https://greatscottgadgets.com/hackrf/ 를 참고하시면 됩니다.



쉽게 풀어 말하면, 소프트웨어로 조종할 수 있는 전파장비 Radio 입니다. SDR 즉, Software Defined Radio.


GNU Radio라는 훌륭한 프로젝트가 있기 때문에, 우리는 이것을 이용하면 됩니다. 다만, 우리의 칼리 리눅스 2.0에서는 다음과 같이 몇 가지 설치가 필요합니다.

먼저 칼리 리눅스 2.0 한글판으로 부팅합니다. LXDE, Gnome 버전이나 XFCE 윈도우 매니저 버전에서도 동일하게 잘 동작합니다. XFCE, LXDE 윈도우 매니저 버전에서는 아주 잘 동작하는 것을 직접 확인하였습니다.


참고 : Pentoo Linux를 LiveCD로 그냥 사용하는 방법도 있습니다만, Pentoo 리눅스의 작업환경이 일반적인 Debian 이나 Ubuntu 환경과 조금? 다른 Gentoo 리눅스 기반이라서, 명령어나 설치등에 차이로 불편이 많습니다. Pentoo 리눅스를 쓰는 것도 나쁘지는 않습니다. 익숙해지기 전까지 조금 불편할 뿐이죠!


1. 설치를 위해서 컴파일 도구 및 라이브러리의 사전 설치

# apt-get update

# apt-get install git build-essential cmake libusb-1.0-0-dev liblog4cpp5-dev libboost-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev swig gnuradio-dev libvolk-dev
# apt-get install gnuradio gnuradio-dev gr-iqbal

# sync


패키지 설치를 위한 소스 컴파일용 디렉토리를 생성
# cd ~
# mkdir sdr
# cd sdr


hackrf 기존 패키지 제거

# dpkg -r --ignore-depends=gqrx,kali-linux-full,kali-linux-sdr  hackrf

# dpkg -r --ignore-depends=gqrx,kali-linux-full,kali-linux-sdr,gr-osmosdr,libgnuradio-osmosdr0.1.3  libhackrf0


2. hackrf  패키지를 소스로 컴파일 후,  설치
# git clone https://github.com/mossmann/hackrf.git
# cd hackrf/host/
# mkdir build && cd build
# cmake ../ -DINSTALL_UDEV_RULES=ON
# make
# make install

# ldconfig


root@kali:~/sdr/hackrf/host/build# make install
[ 11%] Built target hackrf
[ 22%] Built target hackrf-static
[ 33%] Built target hackrf_cpldjtag
[ 44%] Built target hackrf_info
[ 55%] Built target hackrf_max2837
[ 66%] Built target hackrf_rffc5071
[ 77%] Built target hackrf_si5351c
[ 88%] Built target hackrf_spiflash
[100%] Built target hackrf_transfer
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/local/lib/pkgconfig/libhackrf.pc
-- Up-to-date: /etc/udev/rules.d/53-hackrf.rules
-- Up-to-date: /usr/local/lib/libhackrf.so.0.4.0
-- Up-to-date: /usr/local/lib/libhackrf.so.0
-- Up-to-date: /usr/local/lib/libhackrf.so
-- Up-to-date: /usr/local/lib/libhackrf.a
-- Up-to-date: /usr/local/include/libhackrf/hackrf.h
-- Up-to-date: /usr/local/bin/hackrf_max2837
-- Up-to-date: /usr/local/bin/hackrf_si5351c
-- Up-to-date: /usr/local/bin/hackrf_transfer
-- Up-to-date: /usr/local/bin/hackrf_rffc5071
-- Up-to-date: /usr/local/bin/hackrf_spiflash
-- Up-to-date: /usr/local/bin/hackrf_cpldjtag
-- Up-to-date: /usr/local/bin/hackrf_info

3. GNU Radio 관련 패키지 설치


기존 gr-osmosdr 패키지 제거


# dpkg -r --ignore-depends=gqrx,kali-linux-sdr gr-osmosdr libgnuradio-osmosdr0.1.3


4. osmocom 패키지를 소스로 컴파일 후,  설치
# cd ~/sdr

git clone git://git.osmocom.org/gr-osmosdr
# cd gr-osmosdr/
# mkdir build && cd build
# cmake ../
# make
# make install
# ldconfig


root@kali:~/sdr/gr-osmosdr/build# make install
[ 41%] Built target gnuradio-osmosdr
[ 41%] Built target osmosdr_swig_swig_doc
[ 44%] Built target _osmosdr_swig_swig_tag
[ 51%] Built target osmosdr_swig_swig_2d0df
[ 55%] Built target _osmosdr_swig
[ 62%] Built target pygen_swig_6ab6b
[ 68%] Built target pygen_python_0fe8f
[ 79%] Built target osmosdr_grc_xml_blocks
[ 86%] Built target pygen_apps_05ff6
[100%] Built target pygen_apps_5ca0e
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/lib/pkgconfig/gnuradio-osmosdr.pc
-- Up-to-date: /usr/local/include/osmosdr/api.h
-- Up-to-date: /usr/local/include/osmosdr/pimpl.h
-- Up-to-date: /usr/local/include/osmosdr/ranges.h
-- Up-to-date: /usr/local/include/osmosdr/time_spec.h
-- Up-to-date: /usr/local/include/osmosdr/device.h
-- Up-to-date: /usr/local/include/osmosdr/source.h
-- Up-to-date: /usr/local/include/osmosdr/sink.h
-- Up-to-date: /usr/local/lib/libgnuradio-osmosdr.so.0.1.5git
-- Up-to-date: /usr/local/lib/libgnuradio-osmosdr.so
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/_osmosdr_swig.so
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/osmosdr_swig.py
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/osmosdr_swig.pyc
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/osmosdr_swig.pyo
-- Up-to-date: /usr/local/include/osmosdr/swig/osmosdr_swig.i
-- Up-to-date: /usr/local/include/osmosdr/swig/osmosdr_swig_doc.i
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/__init__.py
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/__init__.pyc
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/__init__.pyo
-- Up-to-date: /usr/local/share/gnuradio/grc/blocks/rtlsdr_source.xml
-- Up-to-date: /usr/local/share/gnuradio/grc/blocks/osmosdr_source.xml
-- Up-to-date: /usr/local/share/gnuradio/grc/blocks/osmosdr_sink.xml
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/osmocom_siggen_base.py
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/osmocom_siggen_base.pyc
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/osmosdr/osmocom_siggen_base.pyo
-- Up-to-date: /usr/local/bin/osmocom_fft
-- Up-to-date: /usr/local/bin/osmocom_siggen
-- Up-to-date: /usr/local/bin/osmocom_siggen_nogui
-- Up-to-date: /usr/local/bin/osmocom_spectrum_sense


4. gqrx  패키지를 소스로 컴파일 후,  설치
# cd ~/sdr

git clone https://github.com/csete/gqrx.git
# cd gqrx/
# mkdir build && cd build

주의: 여기서는 cmake가 아니라, qmake 를 사용
# qmake ../
# make
# make install
# ldconfig


5. rtl-sdr 패키지를 소스로 컴파일 후,  설치
# cd ~/sdr
# git clone git://git.osmocom.org/rtl-sdr.git
# cd rtl-sdr/
# mkdir build && cd build
# cmake ../ -DINSTALL_UDEV_RULES=ON
# make
# make install
# ldconfig


6. gr-osmosdr 에서 만들어진 gnuradio용 블럭정의 파일을 사용하기 위해서, 정해진 위치로 복사
# cd
# cd /usr/local/share/gnuradio/grc/blocks/
# cp *.xml /usr/share/gnuradio/grc/blocks/
# cd /usr/share/gnuradio/grc/blocks/



7. GNU Raido Companion 프로그램을 실행해서, 사용
# cd
# gnuradio-companion &






Posted by 훅크선장
, |