FileNotFoundError: [Errno 2] No such file or directory: 'ifconfig'
FileNotFoundError: [Errno 2] No such file or directory: 'ifconfig'
我开始从一个 udemy 那里学习道德黑客 course.We 被教导如何通过 subprocess.call 的 2 种方法更改 mac 地址,而第一种方法是成功的,但第二种方法是给我的错误,我无法理解
这是我的代码
#! /usr/bin/python3.5
import subprocess
interface = input("Enter Interface of Your Choice: ")
mac_chg = input("Enter New Mac Address: ")
print("[+]Changing Mac ADDRESS of " + interface + " to " + mac_chg)
subprocess.call(["ifconfig", interface, "down"])
subprocess.call(["ifconfig", interface, "hw", "ether", mac_chg])
subprocess.call(["ifconfig", interface, "up"])
这是错误
Traceback (most recent call last):
File "/home/kali/PycharmProjects/hello/main.py", line 7, in <module>
subprocess.call(["ifconfig", interface, "down"])
File "/usr/lib/python3.8/subprocess.py", line 340, in call
with Popen(*popenargs, **kwargs) as p:
File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ifconfig'
Process finished with exit code 1
由于这个错误,我无法进行
提前谢谢你
在 linux 默认情况下,subprocess.call 不使用 shell 到 运行 我们的命令,因此您不能使用 shell 命令,例如 cd .
所以只需在subprocess.call中再添加一个参数即shell= True 然后尝试执行。
例如:
subprocess.call(["ifconfig", interface, "down"], shell=True).
我开始从一个 udemy 那里学习道德黑客 course.We 被教导如何通过 subprocess.call 的 2 种方法更改 mac 地址,而第一种方法是成功的,但第二种方法是给我的错误,我无法理解 这是我的代码
#! /usr/bin/python3.5
import subprocess
interface = input("Enter Interface of Your Choice: ")
mac_chg = input("Enter New Mac Address: ")
print("[+]Changing Mac ADDRESS of " + interface + " to " + mac_chg)
subprocess.call(["ifconfig", interface, "down"])
subprocess.call(["ifconfig", interface, "hw", "ether", mac_chg])
subprocess.call(["ifconfig", interface, "up"])
这是错误
Traceback (most recent call last):
File "/home/kali/PycharmProjects/hello/main.py", line 7, in <module>
subprocess.call(["ifconfig", interface, "down"])
File "/usr/lib/python3.8/subprocess.py", line 340, in call
with Popen(*popenargs, **kwargs) as p:
File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ifconfig'
Process finished with exit code 1
由于这个错误,我无法进行 提前谢谢你
在 linux 默认情况下,subprocess.call 不使用 shell 到 运行 我们的命令,因此您不能使用 shell 命令,例如 cd .
所以只需在subprocess.call中再添加一个参数即shell= True 然后尝试执行。
例如:
subprocess.call(["ifconfig", interface, "down"], shell=True).