5

Intel Edison (Debian ベースの Ubilinux を実行) に基づくプロジェクトに取り組んでいます。Android フォン (CM11 を実行) が Edison と同じ WiFi に接続するたびに、Edison がいくつかのコードを実行する必要があります。エジソンの私の電話?私は以下を試しました。

1.ping:しかし問題は、ルーターが DHCP のために毎回異なる IP を割り当てることです。そのため、自分の電話の IP アドレスを知ることができません。デバイスの MAC アドレスに基づいて ping を実行する方法はありますか?

2.携帯電話が WiFi に接続されるたびに、携帯電話から特別な検出パケットをブロードキャストすることを考えましたが、このアプローチをどこから始めればよいかわかりません。

4

2 に答える 2

2

Arprequestを使用すると、Python 内で MAC アドレスを "arping" できます。

from arprequest import ArpRequest
>>> ar = ArpRequest('10.0.0.1', 'eth0')
>>> ar.request()
True

それをループに入れると、MAC モニターができあがります。

別の方法として、イベント ベースのアプローチを採用し、Scapy を使用して Android デバイスからの DHCP リクエストを監視し、それが検出されたときにアクションを実行することもできます。

于 2015-03-27T14:52:19.250 に答える
2

MACアドレスを見つけることはおそらくうまくいくでしょう。基本的に、コマンドを実行して、arpどの MAC アドレスがどの IP に一致するかを確認できます。ここでそれを行うことについて質問があります:

Python を使用してデバイスから MAC アドレスを取得する

于 2015-03-27T14:37:57.990 に答える