0

iwlist python バージョンの実装に取り​​組んでいます。ここでは、Linux OS で iwlist がどのように機能するかについて説明します。iwlist() コマンドはどのようにワイヤレス ネットワークをスキャンしますか? 近くにあるすべての Wi-Fi アクセス ポイントをスキャンし、それらの ESSID、MAC アドレス、信号/ノイズ レベルなどのリストを表示します。

iwlist は、ioctl SIOCSIWSCAN を使用してスキャンをトリガーします。次に、SIOCGIWSCAN を使用してスキャン結果を取得します。セキュリティ上の理由から、root アクセスなしでこれを実装する必要があります。ただし、これら 2 つのコマンドは両方とも root として実行する必要があります。Python と同等の iwlist は既に実装されていますhttp://pythonwifi.wikispot.org/ただし、同じ ioctl を使用します。

sudoなしでこれを回避できるかどうか疑問に思っています。または、ioctl 以外に、非 sudo iwlist を実装する他の方法がある場合。

4

1 に答える 1

0

セキュリティ上の理由から setuid も使用したくないと思います。代わりに機能システムを試して、バイナリに必要な機能を設定することをお勧めします。どの機能が必要か正確にはわかりませんが、おそらくCAP_NET_ * またはCAP_SYS_ * 機能のいずれかです。

于 2012-07-17T07:16:18.683 に答える