일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- libpcap
- vi
- ftz
- KASAN
- Find
- command
- FTZ 레벨2
- #IntelManual
- C++11
- #Qt Creator
- #Best of the Best #OS #MINT64 #Sqix
- #
- linux
- Sqix
- 인터럽트
- 오버워치
- >
- Overwatch League SaberMetrics
- #MINT64 #Sqix
- 오버워치 세이버메트릭스
- vim
- BEST of the BEST
- Network
- libtins
- vi 외부 명령어
- #IntelManual #segment Descriptor #세그먼트 디스크립터 #MINT64 #Sqix
- Today
- Total
Sqix
Linux에서 libtins 라이브러리 사용하기 - 1. 소개 및 설치편 본문
<작성자가 libtins를 사용하는 환경은 Ubuntu 16.04.2 LTS, Kernel version 4.10 환경입니다>
안녕하세요. 이번에 프로젝트에서 libtins를 활용하여 개발을 하게 되었고, 공부 겸 메뉴얼 제공? 을 위해서 libtins의 tutorial 부분을 번역 및 내용 추가 설명을 하여 포스팅하려고 합니다. 원본 주소는 libtins.github.io/tutorial/ 입니다.
libtins 라이브러리는 Matis Fontanini가 개발한 C++ 기반 네트워크 패킷 스니핑 및 프로토콜 개발 라이브러리입니다. libtins를 이용하면 매우 편리하게 네트워크 패킷을 전송 / 수신 / 조작하는 도구를 만들 수 있고, 플랫폼에 독립적이며 Endian을 헷갈리지 않게 개발할 수 있습니다. 또한, x86, x86/64, ARM, MIPS 아키텍쳐를 지원하기 때문에 범용성이 넓고 이식성이 뛰어나다고 할 수 있습니다.
libtins를 이용하면 802.11 패킷의 WEP(RC4), WPA, WPA2 (AES)를 decrypt할 수 있습니다. 그리고 여러 프로토콜을 지원하는데, 그 목록은 다음과 같습니다.
- IEEE 802.11, 802.3, 802.1Q
- Ethernet
- ARP, IPv4, IPv6, ICMP, ICMPv6
- TCP, UDP
- DHCP, DHCPv6
- DNS
- RadioTap, MPLS, EAPOL, PPPOE, PTS, LLC, LLC + SNAP
- Linux Cooked Capture, PPI, PKTAP, NULL / Loopback
libtins로 개발하기 위한 환경을 구축하는 방법은 다음과 같습니다.
1. Download
git clone https://github.com/mfontanini/libtins.git
2. 컴파일하기 위한 도구 설치
libtins를 설치하기 위해서는 다음 도구들이 필요합니다.
2 - 1) debian 계열 (Ubuntu, Linux Mint 등)
apt-get install libpcap-dev libssl-dev cmake
2 - 2) red-hat 계열 (kali-linux, backtrack linux, fedora, CentOS 등)
yum install libpcap-devel openssl-devel cmake
3. 컴파일
3 - 1) ~ C++ 03 버전까지를 사용하여 개발하는 경우
mkdir build
cd build
cmake ../
make && make install
ldconfig
3 - 2) C++ 11 및 그 이후 버전을 사용하여 개발하는 경우
mkdir build
cd build
cmake ../ -DLIBTINS_ENABLE_CXX11=1
make && make install
ldconfig
4. Include Header
#include <tins/tins.h>
5. Linking
g++ -std=c++11 <filename.cpp> o <filename> -ltins
'libtins' 카테고리의 다른 글
Linux에서 libtins 라이브러리 사용하기 - 5. TCP Stream (0) | 2017.09.22 |
---|---|
Linux에서 libtins 라이브러리 사용하기 - 4. IEEE 802.11 프로토콜 (0) | 2017.09.21 |
Linux에서 libtins 라이브러리 사용하기 - 3. Packet Sniffing (0) | 2017.09.21 |
Linux에서 libtins 라이브러리 사용하기 - 2. libtins의 기능들 (0) | 2017.09.13 |