Your SlideShare is downloading. ×
Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Raspberry Pi 3つくらいで作る Wi-Fi 位置推定システム

2,371
views

Published on

Raspberry Pi をWi-Fi sniffer として動作させて、スマートフォンなどWi-Fi クライアントの大まかな位置を推定する方法について簡単にまとめたスライドです。

Raspberry Pi をWi-Fi sniffer として動作させて、スマートフォンなどWi-Fi クライアントの大まかな位置を推定する方法について簡単にまとめたスライドです。

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,371
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Raspberry Pi 3Raspberry Pi 3つくらいで作るつくらいで作るWi-FiWi-Fi 位置推定システム位置推定システム株式会社シーエーシー株式会社シーエーシー佐々木 達也佐々木 達也
  • 2. Wi-Fiで位置推定Wi-Fiパケットをスニッフィングするとmacアドレスと電波強度(RSSI)を取得できます。3点以上でスニッフィングした情報を組み合わせると、Wi-Fiクライアントの大まかな位置を推定できます(重心計算)。RSSI: -79dBmRSSI: -48dBmRSSI: -92dBmスマートフォンなどなど~1m: ~-40dBm~10m: ~-90dBm
  • 3. RPiをWi-FiスニッファにUSB Wi-Fi ドングルの選択が重要です。Planex GW-USNano2Monitor mode 不可Wi-Fi Clientとしては優秀BUFFALO WLI-UC-GNM2Monitor mode 可発熱がすごい
  • 4. Monitorモードに/sbin/iffconfig wlan0 down/sbin/iwwconfig wlan0 mode monitor/sbin/iffconfig wlan0 up(自分宛てでない)Wi-Fiパケットをキャプチャして取り扱えるようになります。
  • 5. Channel Hopping時間スニッフィングチャンネル1395711チャンネルを素早く切り替えると、様々なWi-Fiクライアントのパケットを取得できます。チャンネルの滞在時間は0.1secくらいが良いみたいです。
  • 6. Channel Hopping Script#!/usr/bin/env rubyIFACE = "wlan0"IEEE80211bg = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11]IEEE80211bg_intl = IEEE80211bg + [12, 13, 14]IEEE80211a = [36, 40, 44, 48, 52, 56, 60, 64,149, 153, 157, 161]IEEE80211bga = IEEE80211bg + IEEE80211aIEEE80211bga_intl = IEEE80211bg_intl +IEEE80211aCHANNEL_PERIOD = 0.1while trueIEEE80211bg.each do |channel|`iwconfig #{IFACE} channel #{channel}`sleep CHANNEL_PERIODendend
  • 7. パケットデータのデコードtcpdumpコマンドを使います。tsharkはチャンネルホッピングするとパケット処理を停止するバグがあるようです。/usr/sbin/tcpdump -i wlan0 -v -e -l -tttt
  • 8. パケットデータの例2013-05-24 21:13:39.656633 1.0 Mb/s2437 MHz 11b -59dB signal antenna 1 0usDA:Broadcast BSSID:00:80:4c:XX:YY:ZZ(oui Unknown) SA:00:80:4c:XX:YY:ZZ (ouiUnknown) LLC, dsap Null (0x00)Individual, ssap Unknown (0x80)Command, ctrl 0x4a4c: Information, sendseq 38, rcv seq 37, Flags [Command],length 12SA Source Address 発信者macアドレスこれらの情報を正規表現などで適当に抜き出して使って下さい。
  • 9. ストリームデータ処理例メッセージキューKafkastorm Tridentストリーム分散処理システムSpoutデータ処理Boltデータ処理Boltデータ要求者DRPCサーバStorm State(データの貯蔵場所)クエリ 応答
  • 10. ご清聴ありがとうございましたご意見・ご質問などはtasasaki@gmail.comまでお願いします。