我想编写一个用于网络安全IP扫描的脚本,这样的工具可能需要欺骗它的主机NIC状态以进行测试,例如, 设置NIC的IP地址, 设置DNS地址, 在设置主机名时, MAC地址和 启用/禁用NIC适配器。
我用谷歌搜索,发现大部分灵魂都在使用“popen”调用系统现有工具,如
>>> import os
>>> p=os.popen("/sbin/ifconfig eth0")
>>> t=p.read()
>>> p.close()
从系统返回。此外,模块可以读取NIC的状态,例如netifaces,但似乎所有模块都是“READ ONLY”但不能直接写入。
由于我发现没有模块可以直接设置NIC状态,所以我在这里请求帮助,看看是否有人可以伸出援助之手或显示更好的方式。
任何提示都会被批评。 谢谢!
RGS KC
答案 0 :(得分:0)
我之前做过这个,没有明确的Python os接口来处理低级别的特定于操作系统的东西。您只需要编写(OS特定的)包装器到UNIX(/ Windows / Mac)命令。这并不难,只是乏味。
os.popen*() is very deprecated (since 2.4), use subprocess module
interface to subprocess.Popen() is admittedly irritating,你几乎肯定会为自己的理智写一个包装器来提供合理的默认arg值并整理你的代码。显然要密切关注命令退出状态,路径前缀等。不确定你对可移植性的关注程度。
答案 1 :(得分:0)
{{1}}