SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
パケット解析ライブラリ
LibPGEN
を使用した新たなプロトコルに対する
パケット解析
@slankdev
セキュリティ・キャンプ2015修了生
6/18/16 osc2016do 1
自己紹介
o すらんく
o 理工学部 3年生
o Twitter:	@slankdev
o Github:	slankdev
o セキュリティ・キャンプ {2015修了,2016チューター}
o パケットとOSと開発を愛する
oゆる〜い感じに楽しくやらせていただきます
oどうぞお付き合いお願いいたします m(.		.)m
6/18/16 osc2016do 2
Agenda
1. パケット解析の課題
2. LibPGENの紹介
3. LibPGENを使用して
新たなプロトコルを解析するプログラムを実装
oLinux環境がある方はデモの作業を一緒にやりましょう!
以下URLを参照ください!
ohttp://blog.slankdev.net/2016/06/17/osc2016do
6/18/16 osc2016do 3
既存の手法
o WiresharkやNetwork	Minerでの解析
6/18/16 osc2016do 4
Wiresharkはすごい
o メリット
◦ プロトコルアナライザとして最強
◦ 異常検知までやってくれる
◦ 多少知識なくても使える
o デメリットというか要望… ?
◦ dissectorやプラグイン
◦ Wiresharkの内部理解
6/18/16 osc2016do 5
異常検知例
6/18/16 osc2016do 6
でもこんなことやりたい
o 便利だけど、もっとこうしてほしいってことがあった
o決まったしょりとか、ログ出力とか
oプログラミングしたい
o何かに頼るより自分でやったほうがかっこいいじゃん!
6/18/16 osc2016do 7
ここから生まれた課題
oプログラミング言語からパケット解析をしよう
o新たなプロトコルに迅速に対応できるように
6/18/16 osc2016do 8
パケット解析をプログラミング…?
o 例えば以下のようなコード
oARPリプライだけ情報表示したいときとか…
6/18/16 osc2016do 9
新たなプトロコルに迅速に対応…?
oツールの対応してないプロトコルに遭遇したら…
6/18/16 osc2016do 10
おう、このパケットは?
どうなってんの?
無理でシャーク
つらいでシャーク
解決策の一例
o 今回はパケット解析ライブラリの
使用でまかなうことにします
o 先ほどの課題の解決策の実装を紹介します
6/18/16 osc2016do 11
LibPGEN
oパケット解析支援ライブラリ
oパケットに関する多数の仕事を簡単にする
o拡張可能
oC++11,	Linux,	BSDで動作
oサイボウズ・ラボユース5thにて開発
6/18/16 osc2016do 12
LibPGENの設計
6/18/16 osc2016do 13
LibPGENの設定
6/18/16 osc2016do 14
o 大きく分けて三つのコンポーネントに分かれてます
• IO
• データをネットワークインターフェースやpcap,	pcapngファイルに
入出力するクラス群
• pgen::net_stream,	pgen::pcap_stream …etc
• Core
• パケットやアドレスのバイナリを解析したり、変更したりする部分
• pgen::ethernet,	 pgen::ip,	…etc
• Module
• Core,	IOを使って書かれたモジュール群
• めんどくさい作業をまとめてやってくれるクラスや関数群
• 説明は省略
パケットクラス in	COREコンポーネント
6/18/16 osc2016do 15
o使用用途
◦ ゼロからパケットのバイナリを
組み立て
◦ 既存のバイナリを変更
◦ 長さを変えたり途中に追加な
ど柔軟に
o設計部分は後述
Packet	Class
ffff ffff ffff 703e aceb 27a5 0806 0001
0800 0604 0001 703e aceb 27a5 0000 0000
0000 0000 0000 0ad2 7c7e 5b2a 0100 2d1a
ac19 1bff ffff 0000 0000 0000
aaaa aaaa aaaa 703e aceb 27a5 0806 0001
0800 0604 0002 703e aceb 27a5 0000 0000
0000 0000 0000 0ad2 7c7e 5b2a 0100 2d1a
ac19 1bff ffff 0000 0000 0000 4920 6c6f
7665 2070 6163 6b65 742e
パケットクラスの継承関係
6/18/16 osc2016do 16
ストリームクラス
6/18/16 osc2016do 17
o幾つかのインターフェースを触れる
◦ ネットワークインターフェース
◦ pcapファイル
◦ pcapngファイル も完全対応ではない (最新版は知りません)
oOSごとの実装の違いを吸収
ここまでのまとめ
oパケット解析の課題の話
oパケット解析のライブラリを設計実装した
◦ プログラミング言語からパケット解析ができる
◦ 新たなプロトコルの解析が簡単に行える
6/18/16 osc2016do 18
デモ内容
oLibPGENを使用して
新たなプロトコルに対応できるように拡張
o簡単な解析スクリプトを実装
6/18/16 osc2016do 19
TMP	(Test	Message	Protocol)
o 今回のデモのために定義した仮のプロトコル
o クライアント->サーバの単方向メッセージ通信
oプロトコルの使用用途とかは特に考えてません
6/18/16 osc2016do 20
Hello	World!
TMP	(Test	Message	Protocol)
oデモで使用するプロトコル
oメッセージ用プロトコル
oIdentification:	ユーザごとのid
oseq num :	シーケンス番号
omsg len :	メッセージ長
omsg :	メッセージ
6/18/16 osc2016do 21
通信環境
6/18/16 osc2016do 22
今日のデモ内容
o2台のクライアントでサーバと通信
oサーバの別プロセスでパケットをキャプチャして解析
各ユーザの発言を時間ごとにまとめてlogファイルに出力
oTMPサーバ,	クライアントは独立してC++で実装
6/18/16 osc2016do 23
解析のための手順
1. TMP用のパケットクラスの実装
2. 解析用スクリプトの実装
6/18/16 osc2016do 24
TMPの解析をする前に
oTMPパケットクラスを実装する前に
パケットクラスの構造を少し説明します
6/18/16 osc2016do 25
LibPGENの設計
6/18/16 osc2016do 26
クラス設計
oパケットクラス
◦ プロトコルごとのヘッダのインスタンスを持つ (has-a)
oヘッダクラス
◦ ヘッダの要素を持つ (UDPヘッダならsrc_portとかdst_portとか)
6/18/16 osc2016do 27
Packet	Class
Header	Class
Header	Class
Header	Element
Header	Element
Header	Element
Header	Class
新プロトコルのパケットクラスの実装
o拡張するユーザは新たな
ヘッダクラスを実装
oそのヘッダのバイナリ解析
のコードのみを追加
6/18/16 osc2016do 28
新 Packet	Class
既存のHeader	Class
新 Header	Class
既存のHeader	Class
パケットクラスの継承関係
6/18/16 osc2016do 29
pgen::packet
pgen::ethernet
pgen::ipv6pgen::tcppgen::udp pgen::icmp
pgen::ippgen::arp
パケットクラスの継承関係
6/18/16 osc2016do 30
pgen::packet
pgen::ethernet
pgen::ipv6pgen::tcppgen::udp pgen::icmp
pgen::ippgen::arp
pgen::XXX
ヘッダクラスの継承関係
6/18/16 osc2016do 31
pgen::header
pgen::ethernet
_header
pgen::ipv6_headerpgen::tcp_headerpgen::udp_header pgen::icmp_header
pgen::ip_headerpgen::arp_header
ヘッダクラスの継承関係
6/18/16 osc2016do 32
pgen::header
pgen::ethernet
_header
pgen::ipv6_headerpgen::tcp_headerpgen::udp_header pgen::icmp_header
pgen::ip_headerpgen::arp_header
pgen::XXX_header
ヘッダクラスのメンバ関数
oヘッダクラスのメンバ関数 (一部)
◦ virtual	write(buffer,	bufferlen)	=	0		ヘッダのバイナリを書き込む
◦ virtual	read(buffer,	bufferlen)	=	0			ヘッダのバイナリを読み込む
◦ virtual	size_t length()	=	0 ヘッダの長さを返す
6/18/16 osc2016do 33
ヘッダクラスとパケットクラスの関係
oパケットの
バイナリ解析を行う場合
oanalyze()は
各ヘッダクラス::read()を
上から呼び出して解析
oバイナリ生成も同じ構造
6/18/16 osc2016do 34
Ether
IP
UDP
Trailer
ethヘッダ::read()
ipヘッダ::read()
udpヘッダ::read()
udpパケット
::analyze()
ヘッダクラスとパケットクラスの関係
oパケットの
バイナリ解析を行う場合
oanalyze()は
各ヘッダクラス::read()を
上から呼び出して解析
oバイナリ生成も同じ構造
6/18/16 osc2016do 35
Ether
IP
UDP
Trailer
ethヘッダ::read()
ipヘッダ::read()
udpヘッダ::read()
udpパケット
::analyze()
新プロトコルでパケットクラスの実装
6/18/16 osc2016do 36
Ether
IP
UDP
Trailer
ethヘッダ::read()
ipヘッダ::read()
udpヘッダ::read()
新プロトコル
パケット
::analyze()
新
プロト
コル
新プロトコル
::read()
拡張をする開発者はヘッダクラスの
実装のみを気に掛ければいい
UDPパケットクラスの構造
6/18/16 osc2016do 37
例えばUDPパケットクラスを実装する場合
UDPパケットクラスの構造
6/18/16 osc2016do 38
決まり文句だけの
関数で1~4行程度
例えばUDPパケットクラスを実装する場合
UDPパケットクラスの構造
6/18/16 osc2016do 39
決まり文句だけの
関数で1~4行程度
ここのみを新たに
実装すればいい
例えばUDPパケットクラスを実装する場合
UDPヘッダクラスの構造
6/18/16 osc2016do 40
例えばUDPパケットクラスを実装する場合
UDPヘッダクラスの構造
6/18/16 osc2016do 41
UDPヘッダの要素
ヘッダ長の
最大値と最小値
例えばUDPパケットクラスを実装する場合
UDPヘッダクラスの構造
6/18/16 osc2016do 42
決まり文句だけの
関数で1~4行程度
バイナリ解析など
のコードでここだけ
しっかり実装
UDPはチェックサム
があるので、それ用の関数
例えばUDPパケットクラスを実装する場合
TMPパケット解析までの道のり…
1. LibPGENのインストール
2. TMP解析環境の実装
3. Let’s	Analyze	Packet!
6/18/16 osc2016do 43
LibPGENのインストール
1. 標準の開発環境の構築
2. LibPGENのソースコード入手
$	git clone	http://github.com/slankdev/libpgen.git
3. LibPGENのコンパイル、インストール
$	cd	libpgen
$	make	&&	sudo make	install
4. Hello	Worldしよう
$	cd	sample/send_packet
$	make
$	./a.out
6/18/16 osc2016do 44
oここからは
大変なのでコードを見ましょう
ohttp://blog.slankdev.net/2016/06/17/osc2016do
クラス図
6/18/16 osc2016do 45
tmp
pgen::header
pgen::packet
tmp_header
is-a
is-a
has-a
どうですか?
o楽しくパケットが解析できたと思います
o (きっと私だけではないはず….!!)
6/18/16 osc2016do 46
今後の展望
o高速化 ->	最大の課題
o他のAPIに頼るところと頼らないところをしっかりとする
◦ 現在は何にも頼らず実装
◦ でも現実を見ると高速IOのAPIがある
6/18/16 osc2016do 47
まとめ
oパケット解析のライブラリを実装しました
oプログラミング言語からパケット解析を行う
o新たなプロトコルに迅速に対応可能
oより楽しくパケット解析できます
6/18/16 osc2016do 48
最後に…
o このライブラリは現在CybozuLab株式会社様の「サイボウ
ズ・ラボユース」というプロジェクトで開発を支援していただ
いています。
o セキュリティ・キャンプ関係者の方々の意見なども参考に
させていただいています。
o この場を借りてありがとうございます。
6/18/16 osc2016do 49
6/18/16 osc2016do 50
aabb ccdd eeff 0011 2233 4455 0800 4500
2800 0001 0000 4006 b9a2 c0a8 b302 c0a8
6501 3039 3039 0000 0000 0000 0000 5001
2000 961c 0000
ありがとうございました

Contenu connexe

Tendances

Kernel vm13lt
Kernel vm13ltKernel vm13lt
Kernel vm13ltslankdev
 
OSC2017Hokkaido
OSC2017HokkaidoOSC2017Hokkaido
OSC2017Hokkaidoslankdev
 
CSRを自動生成する!
CSRを自動生成する!CSRを自動生成する!
CSRを自動生成する!Taichi Ishitani
 
20090124shibuya Trac
20090124shibuya Trac20090124shibuya Trac
20090124shibuya TracKazuya Hirobe
 
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07Jun Omae
 
鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04Kenichiro MATOHARA
 
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Tadahiro Ishisaka
 
最近のrubyのインストール方法
最近のrubyのインストール方法最近のrubyのインストール方法
最近のrubyのインストール方法Kazuhiro Nishiyama
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くTetsuyuki Kobayashi
 
Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2Yuji Takayama
 
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)hiroshi oshiba
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメTetsuyuki Kobayashi
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法tani-page
 

Tendances (20)

Kernel vm13lt
Kernel vm13ltKernel vm13lt
Kernel vm13lt
 
OSC2017Hokkaido
OSC2017HokkaidoOSC2017Hokkaido
OSC2017Hokkaido
 
CSRを自動生成する!
CSRを自動生成する!CSRを自動生成する!
CSRを自動生成する!
 
20090124shibuya Trac
20090124shibuya Trac20090124shibuya Trac
20090124shibuya Trac
 
Mishimasyk 3 20140705
Mishimasyk 3 20140705Mishimasyk 3 20140705
Mishimasyk 3 20140705
 
Rdkitの紹介
Rdkitの紹介Rdkitの紹介
Rdkitの紹介
 
Mishimasyk6 iwatobipen
Mishimasyk6 iwatobipenMishimasyk6 iwatobipen
Mishimasyk6 iwatobipen
 
RgGen ご紹介
RgGen ご紹介RgGen ご紹介
RgGen ご紹介
 
Kotlin と Rxjava2
Kotlin と Rxjava2Kotlin と Rxjava2
Kotlin と Rxjava2
 
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
 
鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04
 
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境
 
最近のrubyのインストール方法
最近のrubyのインストール方法最近のrubyのインストール方法
最近のrubyのインストール方法
 
Turnip
TurnipTurnip
Turnip
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2
 
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ
 
Frank-afcproxy
Frank-afcproxyFrank-afcproxy
Frank-afcproxy
 
ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法ニコニコ生放送のタイムシフトを無料で保存する方法
ニコニコ生放送のタイムシフトを無料で保存する方法
 

Similaire à OSC 2016 Hokkaido セミナー資料

自分的pkgsrcの課題
自分的pkgsrcの課題自分的pkgsrcの課題
自分的pkgsrcの課題Ryo ONODERA
 
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしようYasuhiro Yoshimura
 
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMatYasuhiro Yoshimura
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版Katsuhiro Morishita
 
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows ServerにインストールShin Tanigawa
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようShinya Takamaeda-Y
 
LibreOfficeとモバイルデバイス
LibreOfficeとモバイルデバイスLibreOfficeとモバイルデバイス
LibreOfficeとモバイルデバイスMasataka Kondo
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
OpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after storyOpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after storyMakoto Takizawa
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようTakayuki Shimizukawa
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析Akinori Abe
 
MenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++APIMenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++APIShintarou Okada
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3mganeko
 

Similaire à OSC 2016 Hokkaido セミナー資料 (20)

自分的pkgsrcの課題
自分的pkgsrcの課題自分的pkgsrcの課題
自分的pkgsrcの課題
 
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
 
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
統計解析ソフトR
統計解析ソフトR統計解析ソフトR
統計解析ソフトR
 
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 
LibreOfficeとモバイルデバイス
LibreOfficeとモバイルデバイスLibreOfficeとモバイルデバイス
LibreOfficeとモバイルデバイス
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
 
IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
OpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after storyOpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after story
 
PYNQ祭り
PYNQ祭りPYNQ祭り
PYNQ祭り
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析
 
MenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++APIMenohにおけるC++実装 / C API / C++API
MenohにおけるC++実装 / C API / C++API
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 

OSC 2016 Hokkaido セミナー資料