次の形式で引数をとる基本的な MAC チェンジャー アプリケーションを Kali Linux で作成しています。
python mac_changer.py -i <interface> -m <new MAC address>
PyCharm では、引数を取ってそれを返す次の関数を作成しました。解析された戻り値を保存できますが、ユーザーがインターフェイスを入力しない場合に備えて、プログラムがユーザーにインターフェイスと新しい MAC アドレスを要求できるようにしたいと考えています。コマンドのMAC。解析された引数をオプション変数の形式で返すことができます。入力された引数を返すこともできますが、入力された引数を保存する方法はありますか? すべてのモジュールが適切にインポートされ、次のコードは完全なプログラムの一部です
def get_arguments():
parser = optparse.OptionParser()
parser.add_option("-i", "--interface", dest="interface", help="Interface to change its MAC address")
parser.add_option("-m", "--mac", dest="new_mac", help="New MAC address")
(options, arguments) = parser.parse_args()
if options.interface and options.new_mac:
if not options.interface:
#Code to handle error
parser.error(("[-] Please specify an interface, use --help for more info"))
elif not options.new_mac:
#Code to handle error
parser.error(("[-] Please specify a new MAC, use --help for more info"))
return options
else:
return input("Inteface> "),input("New MAC> ")
options = get_arguments()
printf(options.interface)
printf(options.new_mac)
これは、上記のコマンドラインから指定された引数を出力しますが、解析された引数と一緒に入力関数を使用して、コードがユーザーから取得した引数も保存して使用したいと考えています。