2016-03-23 9 views
0

可能であれば、自分の現在のネットワークコントローラ(wpa_supplicant)の代わりに自分のツールをbashで書くことに興味があります。たとえば、ルータの外部レジストラとのwps認証セッションを開始するためにコマンドを発行する場合は、事前に構築されたツールを使用せずにカーネルと通信してハードウェアに直接アクセスできますか?私は、ctypes.shと呼ばれるbash pluginで私が望むものを達成できると言われましたが、私はあまり確信していません。ハードウェアと直接通信するためにbashを使用できますか?

答えて

0

一般的に言って、Linuxカーネルには、以下のメカニズムによって、ユーザー空間と対話することができますに:

  • システムコール
  • /proc
/sys
  • エントリで/dev
  • エントリのデバイス

    Syscallsを直接使用することはできませんm Bashしかし少なくともCプログラムを介したバインディングが必要です。 または/sysのエントリのデータを読み書きするモジュールを作成してから、bashプログラムを使って対話することができます。技術的に実現可能であっても、私の個人的な意見はそれが過剰であることであり、/devに適切なエントリを持つ通常のC/C++ユーザーレベルプログラミングがはるかに優れていることです。

  • +0

    あなたは私の質問に100%答えました。しかし、C/C++の使用の過度な要求とその必要性は、過度の負荷を軽減するための方法としてプラグインを組み込んだ理由です。私はおそらくC + +を使用して終了するだろうが、質問は私の好奇心だった。 – Yokai

    0

    いいえ、これは一般的に不可能です。シェルスクリプトは/ procで混乱する可能性がありますが、任意のIOCTLや多段階のインタラクティブIOを実行する能力はありません。それは仕事のための間違ったツールです。

    +0

    bashスクリプトの中のCコードでスクリプトを作成できるctypes.shプラグインがあればこれも答えでしょうか? – Yokai

    関連する問題