SlideShare a Scribd company logo
WiFi Direct + VpnServiceでsim無し
Androidをweb世界に社会復帰させる話
空中清高
@soranakk
空中 清高 @soranakk
所属:株式会社ディー・エヌ・エー
オートモーティブ事業本部
MOV
Androidアプリエンジニア
背景
Android端末2台
1台はSIM刺さってる
1台はSIM刺さってない
SIM刺さってない端末でHTTP通信する
環境
WiFi Direct
Android device間でP2P通信ができる
前提1
VpnService
AndroidでVPNを繋ぐときに利用する
外部通信用のPacketが全て流れてくる
前提2
VpnService
Android端末2台
1台はSIM刺さってる
1台はSIM刺さってない
SIM刺さってない端末でHTTP通信する
環境
え??それテザリングでよくない??
● SSIDとpassの事前共有
● 接続端末のセキュリティ
● コスト
● WiFi Directとの共存
WiFi Directの使い方
WiFi Directの使い方
ここに詳しい解説記事があるので、
ぜひ読むとよいと思います!
WIFI DIRECTでP2P通信を行う(1)
https://techbooster.org/android/device/9960/
WIFI DIRECTでP2P通信を行う(2)
https://techbooster.org/android/device/9981/
WiFi Directの使い方(Client)
contextからWifiP2pManagerを取得する
wifiP2pManagerを初期化してwifiChannelを取得する
wifiChannelを使って周囲のデバイスを探索する
WiFi Directの使い方(Client)
結果をBroadcastReceiverで受け取る
4種類のActionがある
WiFi Directの使い方(Client)
・WIFI_P2P_STATE_CHANGED_ACTION
WiFi Directの利用可否が変わったことが通知されます
・WIFI_P2P_PEERS_CHANGED_ACTION
接続できるデバイスを検出したら通知されます
・WIFI_P2P_CONNECTION_CHANGED_ACTION
接続状態が変更されたときに通知されます
・WIFI_P2P_THIS_DEVICE_CHANGED_ACTION
自身の状態が変更されたときに通知されます
WiFi Directの使い方(Client)
WiFi Directの使い方(Client)
周囲のデバイス一覧を要求する
結果がPeerListListenerに返ってくる
WiFi Directの使い方(Client)
なんらかの方法で接続端末を選んで接続処理を行う
WiFi Directの使い方(Client)
接続設定を行ってconnectを呼び出す
connectの結果はさっきのBroadcastReceiverで受け取る
WiFi Directの使い方(Client)
接続に成功したら接続先(Host)の情報を要求する
結果がConnectionInfoListenerに返ってくる
WiFi Directの使い方(Client)
hostのaddressが取得できるので、
あとはSocketを開いてデータをやり取りする
WiFi Directの使い方(Server)
Clientとほとんど同じ
1.wifiManager.discoverPeersを呼び出して
Clientからの接続を待つ
WiFi Directの使い方(Server)
2.Clientから接続処理が行われると
WIFI_P2P_CONNECTION_CHANGED_ACTION
が飛んでくる
WiFi Directの使い方(Server)
3.ConnectionInfoListenerでaddressが取得できるので
あとはお好きなように
Socketの使い方なんて知らないよ?😅
Socketの使い方(Client)
Client側はIP Addressを指定してSocketを開く
inputStreamとoutputStreamが手に入るので入出力する
Socketの使い方(Server)
Server側はServerSocketを開いて接続されるまで待機
接続後は同じくin outが手に入るので入出力する
VpnServiceの使い方
VpnServiceの使い方
VpnServiceの使い方
VpnServiceを継承したクラスを作る
vpnInterfaceを作成するとfileDescriptorが手に入るので
これを使って入出力する
inputは端末から入力、outputは端末への出力
VpnServiceの使い方
Builderを使ってVpnの設定を行う
どの宛先の通信を捕まえるかやDNSサーバーの指定等
VpnServiceの罠1
VpnServiceでaddRoute(“0.0.0.0”, 0)を指定しても
DNSパケットはキャッチできない
VpnServiceの罠1
addDnsServer("8.8.8.8")のようになんらかのDNSServer
設定をしておくとキャッチできる
VpnServiceの罠2
パケットが無限ループしてしまう
VpnServiceの罠2
VpnServiceでaddRoute(“0.0.0.0”, 0)を指定すると
全ての通信をキャッチすることになる
→VpnServiceの中でのSocket通信でも
Socketに流したパケットをまたVpnServiceが捕まえる
パケットが無限にVpnServiceの中をさまよう
VpnServiceの罠2
SocketをVpnの対象から外す必要がある
まとめ
WiFi Direct
全体図
VpnService
SIM有
SIM無
Socket
よっしゃ、もう完成したね?😙
HTTPってどうやって動いてるの?🙄
問題1
そもそもHTTPの仕組みを知らない
→ 流れてくるbyteデータを解釈できない
→ Packetに分割できない
(例)WiFi Directで受け取った829byteに
何個のPacketデータが入ってる?
問題1
HTTP
TCP
IP
HTTPはTCPというプロトコル上で動いている
TCPはIPの上位プロトコルの一つ
HTTPの仕組み
・URLのHOSTを抽出
(例)http://host.com/fizz/buzz → host.com
・HOSTからIP addressを解決
・IP address宛てにTCP通信開始
・TCP上でHTTP通信を実行
Response 200 OKをもらったら成功
HTTP通信の仕組み
IP addressを元に通信する規格
お互いにuniqueなIP addressを持つ
IPの上で様々な通信プロコトルが動く
TCP, UDPなど
IP
IP Packet
IP Header
IP Payload
IP Packet
IP Packet
IP Header
IP Payload
IP Packet
TCP Header
TCP Payload
TCP Packet
IP Packet
IP Header
IP Payload
IP Packet
TCP Header
TCP Payload
TCP Packet
HTTP Data
IP Packet
IP Packet
IP Header
TCP Header
TCP Payload
WiFi Direct
全体図
VpnService
SIM有
SIM無
Socket
よっしゃ、もう完成したね?😙
Socketからのデータ足りなくない?🙄
問題2
WiFi Direct
全体図
VpnService
SIM有
SIM無
Socket
VpnService
Packetが丸ごと届く
JavaのSocket通信
PacketのHeaderが除かれて届く
問題2
JavaのSocketはHeaderの処理を
内部で行ってくれる
VpnServiceはHeaderも含め、すべての
Packetを入出力する
→ 無いものは作るしかない
Headerが無い
VpnService vs Socket
VpnService
IP Packet
IP Header
TCP Header
TCP Payload
VpnService vs Socket
Socket
TCP Payload
VpnService
SIM無
WiFi Direct
IP Header
TCP Header
TCP Payload
IP Header
TCP Header
TCP Payload
WiFi Direct SIM有
IP Header
TCP Header
TCP Payload
TCP Payload
Socket
WiFi Direct
IP Header
TCP Header
TCP Payload
IP Header
TCP Header
TCP Payload
Socket
TCP Payload
VpnService
SIM無
WiFi Direct
IP Header
TCP Header
TCP Payload
IP Header
TCP Header
TCP Payload
IP Packet
Source Address
Destination Address
Options
Payload
Header ChecksumTTL Protocol
Identification
Total Length
Flags Fragment Offset
Version IHL TOS
TCP Packet
Flags0 0 0
Acknowledgment number
Sequence number
Source port Destination port
Options
Urgent pointerChecksum
Window Size
Payload
Data offset
よっしゃ、もう完成したね?😙
HeaderだけのPacketが届くんだけど?😐
問題3
WiFi Direct
全体図
VpnService
SIM有
SIM無
Socket
3 way handshake
TCP接続を確立するときの処理で
Headerを使って処理する
問題3
3 way handshake
IP Header
TCP Header
A B
WiFi Direct
全体図
VpnService
SIM有
SIM無
Socket
TCP Packet
Flags0 0 0
Acknowledgment number
Sequence number
Source port Destination port
Options
Urgent pointerChecksum
Window Size
Payload
Data offset
TCP Packet
Flags0 0 0
Acknowledgment number
Sequence number
Source port Destination port
Options
Urgent pointerChecksum
Window Size
Payload
Data offset
TCP Packet
Flags
N
S
C
W
R
E
C
E
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
TCP Packet
Flags
N
S
C
W
R
E
C
E
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
3 way handshake
S
Y
N
VpnService SIM有
3 way handshake
S
Y
N
A
C
K
VpnService SIM有
3 way handshake
A
C
K
VpnService SIM有
よっしゃ、もう完成したね?😙
Packet渡しても動かないぞ?😢
問題4
TCPの応答確認
Packetが正常に送受信できているか
確認する仕組み
Headerを使って処理する
問題4
Checksum計算
Packetが正常に送受信できているか
確認する仕組み
Headerを使って処理する
問題4
Headerを使って処理する😇
TCP Packet
Flags0 0 0
Acknowledgment number
Sequence number
Source port Destination port
Options
Urgent pointerChecksum
Window Size
Payload
Data offset
TCP Packet
Flags0 0 0
Acknowledgment number
Sequence number
Source port Destination port
Options
Urgent pointerChecksum
Window Size
Payload
Data offset
Sequence number:送信済みデータ量
Acknowledgment number:受信済みデータ量
3 way handshakeのときに初期値を設定
TCPの応答確認
IP Packet
Source Address
Destination Address
Options
Payload
Header ChecksumTTL Protocol
Identification
Total Length
Flags Fragment Offset
Version IHL TOS
IP Packet
Source Address
Destination Address
Options
Payload
Header ChecksumTTL Protocol
Identification
Total Length
Flags Fragment Offset
Version IHL TOS
IP PacketのChecksumは
Header部分のみが対象
Payload部分は確認しない
(上位プロコトルに任せる)
IP PacketのChecksum計算
Checksumは1の補数という概念を
使って計算する
Checksum計算
1の補数??🙄
ある数の1の補数はビット反転した数
例として2bitの数を考えます
10 の1の補数は 01
11 の1の補数は 00
自身と1の補数との和は必ず 11 になる
1の補数
1の補数和と繰り上がり
1の補数和は繰り上がりが発生したら、
発生した回数だけ1を足す。
11 + 10 = 01 + 01 = 10
11 + 11 = 10 + 01 = 11
10 + 10 + 10 + 10 = 00 + 10 = 10
1.Checksumを0にする
2.1の補数和を計算する
3.計算した補数和の1の補数を取る
4.3で計算した値をChecksumにする
Checksum計算
1.1の補数和を計算する
2.計算した補数和の1の補数を取る
3.0になっていればチェックOK
Checksumの確認方法
TCP PacketのChecksumは
Header + Payload全体が対象
ただし、Headerは擬似Headerに
変換してから計算する
TCP PacketのChecksum計算
擬似Header??😶
TCP Packet
Flags0 0 0
Acknowledgment number
Sequence number
Source port Destination port
Options
Urgent pointerChecksum
Window Size
Payload
Data offset
チェックサム計算用TCP擬似ヘッダ
Flags0 0 0
Acknowledgment number
Sequence number
Source port Destination port
Options
Urgent pointerChecksum
Window Size
Payload
Data offset
Source Address
Destination Address
0 0 0 0 0 0 0 0 Protocol TCP length
よっしゃ、もう完成したね?😙
MTU設定とByteBuffer
一度の送信で最大どのくらいのサイズの
Packetを流すか
Headerを使って処理する
問題5
WiFi Direct
全体図
VpnService
SIM有
SIM無
Socket
BUFFER_SIZEを調節することで
間接的に設定できる
問題5
よっしゃ、もう完成したね?😙
IPv4 と IPv6
これまでの話は全てIPv4の話
そもそもIPv6はPacketの形が違う
問題6
IPv4とIPv6のどちらを使うかは動的
おそらくDNSのレスポンスのよいほうを
利用しているような動きをしている
問題6
ドメイン名からIP Addressを解決する
UDPを使って通信する
DNS
IP通信の上で動くプロトコル
TCPと対をなす存在
JavaでのUDPはDatagramSocketを使う
もちろんHeaderは無い
UDP
もちろんHeaderは無い😭
Port指定は両方ともある
UDPには3 way handshakeやSequence
numberによる接続確認は無い
TCP vs UDP
よっしゃ、もう完成したね?😙
まとめ
WiFi Direct
全体図
VpnService
SIM有
SIM無
Socket
Thank you
空中清高
@soranakk

More Related Content

What's hot

SFUの話
SFUの話SFUの話
SFUの話
tnoho
 
HoloLens 2 開発入門
HoloLens 2 開発入門HoloLens 2 開発入門
HoloLens 2 開発入門
Akihiro Ueyama
 
いまさら聞けないUnity小技
いまさら聞けないUnity小技いまさら聞けないUnity小技
いまさら聞けないUnity小技
Yuichi Ishii
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
MinGeun Park
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
Imseong Kang
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
 
IIJmio meeting 18 eSIMとMVNO
IIJmio meeting 18 eSIMとMVNOIIJmio meeting 18 eSIMとMVNO
IIJmio meeting 18 eSIMとMVNO
techlog (Internet Initiative Japan Inc.)
 
はじめてのWallaby.js
はじめてのWallaby.jsはじめてのWallaby.js
はじめてのWallaby.js
Shunta Saito
 
IIJmio meeting 7 MVNOとSIMフリー端末の問題について
IIJmio meeting 7 MVNOとSIMフリー端末の問題についてIIJmio meeting 7 MVNOとSIMフリー端末の問題について
IIJmio meeting 7 MVNOとSIMフリー端末の問題について
techlog (Internet Initiative Japan Inc.)
 
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
KnowledgeGraph
 
신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비
인서 박
 
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
Takashi Yoshinaga
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
MinGeun Park
 
Python2.x の input 関数に RCE 脆弱性がある話
Python2.x の input 関数にRCE 脆弱性がある話Python2.x の input 関数にRCE 脆弱性がある話
Python2.x の input 関数に RCE 脆弱性がある話
xryuseix
 
Amazon Picking Challenge 結果報告
Amazon Picking Challenge 結果報告Amazon Picking Challenge 結果報告
Amazon Picking Challenge 結果報告
Preferred Networks
 
CSRを自動生成する!
CSRを自動生成する!CSRを自動生成する!
CSRを自動生成する!
Taichi Ishitani
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
UnityTechnologiesJapan002
 
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
Madoka Chiyoda
 
ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループ
Masaaki Nabeshima
 
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Naruhiko Ogasawara
 

What's hot (20)

SFUの話
SFUの話SFUの話
SFUの話
 
HoloLens 2 開発入門
HoloLens 2 開発入門HoloLens 2 開発入門
HoloLens 2 開発入門
 
いまさら聞けないUnity小技
いまさら聞けないUnity小技いまさら聞けないUnity小技
いまさら聞けないUnity小技
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
IIJmio meeting 18 eSIMとMVNO
IIJmio meeting 18 eSIMとMVNOIIJmio meeting 18 eSIMとMVNO
IIJmio meeting 18 eSIMとMVNO
 
はじめてのWallaby.js
はじめてのWallaby.jsはじめてのWallaby.js
はじめてのWallaby.js
 
IIJmio meeting 7 MVNOとSIMフリー端末の問題について
IIJmio meeting 7 MVNOとSIMフリー端末の問題についてIIJmio meeting 7 MVNOとSIMフリー端末の問題について
IIJmio meeting 7 MVNOとSIMフリー端末の問題について
 
ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介ナレッジグラフ推論チャレンジの紹介
ナレッジグラフ推論チャレンジの紹介
 
신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비신입 SW 개발자 취업 준비
신입 SW 개발자 취업 준비
 
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
A-Frameで始めるWebXRとハンドトラッキング (HoloLens2/Oculus Quest対応)
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
 
Python2.x の input 関数に RCE 脆弱性がある話
Python2.x の input 関数にRCE 脆弱性がある話Python2.x の input 関数にRCE 脆弱性がある話
Python2.x の input 関数に RCE 脆弱性がある話
 
Amazon Picking Challenge 結果報告
Amazon Picking Challenge 結果報告Amazon Picking Challenge 結果報告
Amazon Picking Challenge 結果報告
 
CSRを自動生成する!
CSRを自動生成する!CSRを自動生成する!
CSRを自動生成する!
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
 
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
 
ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループ
 
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
 

Similar to WiFi Direct + VpnServiceでsim無しAndroidをweb世界に社会復帰させる話

法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用Ruo Ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用Ruo Ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用Ruo Ando
 
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
Recruit Technologies
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Panda Yamaki
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Daisuke Nakajima
 
URLから画面表示までに起こること6選.pdf
URLから画面表示までに起こること6選.pdfURLから画面表示までに起こること6選.pdf
URLから画面表示までに起こること6選.pdf
kenshin
 
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
 
2011年度 新3年生向け
2011年度 新3年生向け2011年度 新3年生向け
2011年度 新3年生向け
Yuki Takahashi
 
BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜
BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜
BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜
Juniper Networks (日本)
 
Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419エイシュン コンドウ
 
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
 
Microservice and agile development
Microservice and agile developmentMicroservice and agile development
Microservice and agile development
Kameda Harunobu
 
20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf
risakitagawa
 

Similar to WiFi Direct + VpnServiceでsim無しAndroidをweb世界に社会復帰させる話 (14)

法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
 
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
 
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
 
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
 
URLから画面表示までに起こること6選.pdf
URLから画面表示までに起こること6選.pdfURLから画面表示までに起こること6選.pdf
URLから画面表示までに起こること6選.pdf
 
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
 
2011年度 新3年生向け
2011年度 新3年生向け2011年度 新3年生向け
2011年度 新3年生向け
 
BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜
BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜
BETTER TOGETHER 〜VMware NSXとJuniperデバイスを繋いでみよう!〜
 
Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419
 
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
 
Microservice and agile development
Microservice and agile developmentMicroservice and agile development
Microservice and agile development
 
20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf
 

WiFi Direct + VpnServiceでsim無しAndroidをweb世界に社会復帰させる話