0

ラズベリーパイ、モニターモードのWLANスティック(Ralink Technology、Corp. RT5370)、tcpdump(+ tshark)がインストールされています。

ここで、老人ホームの患者が使用する WLAN リストバンド デバイスからリンク層パッケージを読み取りたいと考えています。このデバイスは、フィンガープリンティングを使用してアクセス ポイントによって検出されるように、リンク層データを毎秒送信します。このパッケージの内容は重要ではなく、デバイスの RSSI 値と MAC のみが必要です。

私のrPiを使用して、患者が自分の平らなドアにきちんと近づいたことを検出して、自動的にドアを開けたいと考えています。このために、Pi はこの LLC パッケージを受信する必要があります。これにより、関連付けられた RSSI 値を使用して距離を計算できるようになります。

Wireshark と Windows (Airpcap) を使用すると、これらの LLC パッケージを問題なく読み取ることができます。出力は、たとえば次のとおりです。

35748 152.953461000 00:00:00_00:00:00 57:01:ff:00:00:00 LLC 62 I、N(R)=0、N(S)=0; DSAP NULL LSAP 個別、SSAP 0x1e コマンド

tcpdump または tshark を使用して raspbian で同じことを行うと、データがまったく受信されません。

tcpdump (コマンドは sudo tcpdump llc -i wlan1 です) が返されます

tcpdump: 'llc' は生の ATM でのみサポートされています

Linux/ドライバーがリンク層データを tcpdump に渡すことができないようです。どうすれば有効にできますか?

ヒントをありがとう

アップデート

ガイ・ハリスのおかげで、私は解決策を見つけました

sudo tcpdump -e -i wlan1 type data

すべての LLC パッケージを返し、-e 値はすべてのタイプの mac を追加します。出力はこのようなもので、TA はデバイスの MAC です。必要なデータを取得するために、Pythonを使用して1行ずつ解析しました

02:56:21.346146 11.0 Mb/s 2462 MHz 11b -53dB signal antenna 1 RA:01:40:96:00:00:03 (oui Unknown) TA:00:18:8e:40:62:03 (oui Unknown) DA:00:00:00:00:00:00 (oui Ethernet) SA:00:00:00:00:00:00 (oui Ethernet) LLC, dsap Null (0x00) Individual, ssap OSI (0xfe) Response, ctrl 0x0b: Unnumbered, 0b, Flags [Response], length 24

BR ステファン

4

1 に答える 1