SlideShare una empresa de Scribd logo
1 de 109
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

Más contenido relacionado

La actualidad más candente

デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -Takahiro Miyaura
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
HoloLens 2 開発入門 (公式チュートリアルの紹介)
HoloLens 2 開発入門 (公式チュートリアルの紹介)HoloLens 2 開発入門 (公式チュートリアルの紹介)
HoloLens 2 開発入門 (公式チュートリアルの紹介)Madoka Chiyoda
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
ARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせTakahiro Miyaura
 
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-祐稀 平良
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Daisuke Masubuchi
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステムAndroid向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステムKLab Inc. / Tech
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデルAtsushi Kojo
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法モノビット エンジン
 
OSCによるソフトウェア連携
OSCによるソフトウェア連携�OSCによるソフトウェア連携�
OSCによるソフトウェア連携Ryo Kanda
 
「Android案件できます」って言ったら、ヒドい目にあった話
「Android案件できます」って言ったら、ヒドい目にあった話「Android案件できます」って言ったら、ヒドい目にあった話
「Android案件できます」って言ったら、ヒドい目にあった話Kenta Komori
 
Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業kazuhiro harada
 
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解したサウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解したTakaaki Ichijo
 
究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”Ryosuke Otsuya
 

La actualidad más candente (20)

デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
HoloLens 2 開発入門 (公式チュートリアルの紹介)
HoloLens 2 開発入門 (公式チュートリアルの紹介)HoloLens 2 開発入門 (公式チュートリアルの紹介)
HoloLens 2 開発入門 (公式チュートリアルの紹介)
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
 
ARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせ
 
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステムAndroid向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデル
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 
OSCによるソフトウェア連携
OSCによるソフトウェア連携�OSCによるソフトウェア連携�
OSCによるソフトウェア連携
 
MRTK3を調べてみた
MRTK3を調べてみたMRTK3を調べてみた
MRTK3を調べてみた
 
EOS On-boarding ~サンプルを動かしてみよう~
EOS On-boarding ~サンプルを動かしてみよう~EOS On-boarding ~サンプルを動かしてみよう~
EOS On-boarding ~サンプルを動かしてみよう~
 
「Android案件できます」って言ったら、ヒドい目にあった話
「Android案件できます」って言ったら、ヒドい目にあった話「Android案件できます」って言ったら、ヒドい目にあった話
「Android案件できます」って言ったら、ヒドい目にあった話
 
Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業
 
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解したサウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
 
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”
 

Similar a 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選.pdfkenshin
 
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 developmentKameda Harunobu
 
20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdfrisakitagawa
 

Similar a 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世界に社会復帰させる話