どこナミクリーそしてリスト表示されたアクセスポイントのキャッシュされたリストをパブリックファイルに保存するか、揮発性メモリに保存しますか?
答え1
nmcli
ソースコード()を少し見てみると、$ apt-get source network-manager
AP情報を含む構造体()がsrc/devices/wifi/nm-wifi-ap.c
揮発性メモリに保存されているように見えます(構造が動的に割り当てられるか静的に割り当てられるかはわかりませんが、電子を使用します)。
構造は次のとおりです(実際には2つあります)。
typedef struct {
char *supplicant_path; /* D-Bus object path of this AP from wpa_supplicant */
/* Scanned or cached values */
GByteArray * ssid;
char * address;
NM80211Mode mode;
guint8 strength;
guint32 freq; /* Frequency in MHz; ie 2412 (== 2.412 GHz) */
guint32 max_bitrate; /* Maximum bitrate of the AP in Kbit/s (ie 54000 Kb/s == 54Mbit/s) */
NM80211ApFlags flags; /* General flags */
NM80211ApSecurityFlags wpa_flags; /* WPA-related flags */
NM80211ApSecurityFlags rsn_flags; /* RSN (WPA2) -related flags */
/* Non-scanned attributes */
bool fake:1; /* Whether or not the AP is from a scan */
bool hotspot:1; /* Whether the AP is a local device's hotspot network */
gint32 last_seen; /* Timestamp when the AP was seen lastly (obtained via nm_utils_get_monotonic_timestamp_s()) */
} NMWifiAPPrivate;
struct _NMWifiAP {
NMExportedObject parent;
NMWifiAPPrivate _priv;
};
コードを深く掘り下げないので間違っているかもしれませんが、この構造は呼び出し時に割り当てられ実装され、nmcli device wifi list
コマンドが終了すると消滅するようです。おそらく、ファイルやメモリダンプにある種の「保存状態」を意味するより複雑な関数があるかもしれませんが、今は言えません。
(実際にコードを見ないと)iwlistと話すことはできません。
実際に答えではないのでコメントで投稿します。しかし、明らかに長すぎます。
修正する
見ているnmcli githubページ、これは次のとおりです。
NetworkManagerデーモンは特権サービスとして実行されますが(ハードウェアにアクセスして制御する必要があるため)、ネットワークをきめ細かく制御できるように、システムバスにD-Busインターフェイスを提供します。 NetworkManagerは接続や設定を保存せず、これらの接続を選択して有効にするためのメカニズムです。
事前定義されたネットワーク接続を保存するために、2つの独立したサービス「システム設定サービス」と「ユーザー設定サービス」が接続情報を保存し、この情報をD-Busを介してNetworkManagerに提供します。各設定サービスは、接続情報を継続的に保存する方法と場所を決定します。たとえば、GNOMEアプレットはその設定をGConfに保存し、システム設定サービスはその設定を展開ごとまたは展開に依存しない形式で保存します。ユーザー/管理者のデフォルト設定によって異なります。