우분투 서버에서 패킷 캡쳐와 몽고디비 사용하기
서버에 우분투를 설치하고 나머지 모듈은 deb 또는 소스로 받아서 설치했다.
왜 그러냐고....
우리 서버는 외부와 단절되어 있다. ㅠㅠ
안정성을 위해서 Ubuntu 16.04.5 LTS 설치하였다.
아무래도 최신 판은 휼륭한 사람들이 테스트하기 때문이다.
패킷캡쳐를 하기 위해서는 다음과 같은 라이브러리가 필요하다.
libpcap, libpcap-dev 이 두개를 deb 파일을 받아서 설치하면 된다.
$ sudo apt-get install ./libpcap.deb <- 이런식으로 설치한다
그러면 /usr/include/pcap.h 파일과 pcap 폴더가 생긴다.
이제 스위프트를 사용하려면 clang, libicu-dev 가 필요하다.
위와 같은 방법으로 설치한다.
스위프트 파일을 받아서 홈페이지에 나온 안내대로 압축을 풀고 링크를 건다.
이제 몽고디비를 설치한다.
이것도 소스를 받아서 설치한다.
이제 몽고키튼이라고 스위프트용 프레임을 설치한다.
$ mkdir OpenKitten
$ cd OpenKitten
$ mkdir MongoKitten
$ cd MongoKitten
$ git clone https://github.com/OpenKitten/MongoKitten.git
$ git tag
$ cd ..
이제 pcap 라이브러리 설정을 한다
$ mkdir pcap
$ cd pcap
$ swift package init --type system-module
$ vim module.modulemap
module pcap [system] {
header "/usr/include/pcap.h"
link "pcap"
export *
}
$ vim Package.swift
import PackageDescription
let package = Package(
name: "pcap",
pkgConfig: "pcap"
)
$ git init
$ git add .
$ git commit -m "Initial Import"
$ git tag 1.0.0
$ cd ..
$ cd .. // OpenKitten 상위 폴더로 이동
왜 그러냐고....
우리 서버는 외부와 단절되어 있다. ㅠㅠ
안정성을 위해서 Ubuntu 16.04.5 LTS 설치하였다.
아무래도 최신 판은 휼륭한 사람들이 테스트하기 때문이다.
패킷캡쳐를 하기 위해서는 다음과 같은 라이브러리가 필요하다.
libpcap, libpcap-dev 이 두개를 deb 파일을 받아서 설치하면 된다.
$ sudo apt-get install ./libpcap.deb <- 이런식으로 설치한다
그러면 /usr/include/pcap.h 파일과 pcap 폴더가 생긴다.
이제 스위프트를 사용하려면 clang, libicu-dev 가 필요하다.
위와 같은 방법으로 설치한다.
스위프트 파일을 받아서 홈페이지에 나온 안내대로 압축을 풀고 링크를 건다.
이제 몽고디비를 설치한다.
이것도 소스를 받아서 설치한다.
이제 몽고키튼이라고 스위프트용 프레임을 설치한다.
$ mkdir OpenKitten
$ cd OpenKitten
$ mkdir MongoKitten
$ cd MongoKitten
$ git clone https://github.com/OpenKitten/MongoKitten.git
$ git tag
$ cd ..
이제 pcap 라이브러리 설정을 한다
$ mkdir pcap
$ cd pcap
$ swift package init --type system-module
$ vim module.modulemap
module pcap [system] {
header "/usr/include/pcap.h"
link "pcap"
export *
}
$ vim Package.swift
import PackageDescription
let package = Package(
name: "pcap",
pkgConfig: "pcap"
)
$ git init
$ git add .
$ git commit -m "Initial Import"
$ git tag 1.0.0
$ cd ..
$ cd .. // OpenKitten 상위 폴더로 이동
이제 스위프트용 프로젝트 파일을 생성한다.
$ mkdir mongoSwift
$ cd mongoSwift
$ swift package init --type=executable
Package.swift 파일 수정
import PackageDescription
let package = Package(
name: "mongoSwift",
dependencies: [
.package(url: "../OpenKitten/MongoKitten", from: "4.1.3"),
.package(url: "../pcap", from: "1.0.0"),
],
targets: [
.target(
name: "mongoSwift",
dependencies: ["MongoKitten"]),
]
)
설정이 마무리 되었으니 패키지를 업데이트 한다.
$ swift package update
이제 프로그램 파일을 생성한다
$ swift package generate-xcodeproj
xcode 에서 파일을 열어서 수정하면 된다.
import MongoKitten
let server = try Server("mongodb://localhost:27017")
let database = server["packet_db"]
if server.isConnected {
print("Connected successfully to server")
}
let collection = database["tcp_collection"]
for document in try collection.find() {
// do something with document
print(document)
}
실행해보면 컴파일이 되는지 확인해보자
프로그램을 실행하고 몽고디비에 자료가 쌓이면 잘 되는 것이다.
댓글
댓글 쓰기