我需要您帮助处理 nmap 脚本并将输出打印到 csv 文件。
当我运行脚本并完成它时print(nm.csv())
我得到了以下显示的结果,这是我想要的第一名:
host;hostname;hostname_type;protocol;port;name;state;product;extrainfo;reason;version;conf;cpe
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;21;ftp;open;;;syn-ack;;3;
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;22;ssh;open;;;syn-ack;;3;
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;53;domain;open;;;syn-ack;;3;
82.214.228.176;176.228.214.82.in-addr.arpa;PTR;tcp;80;http;open;;;syn-ack;;3;
但我的问题是如何重定向或在运行脚本的同一目录或路径中创建 csv 文件。
提前致谢!
你可以声明一个像这样的函数
def save_csv_data(nm_csv, path='.'):
with open(path + '/output.csv', 'w') as output:
output.write(nm_csv)
然后通过传递参数,您可以指定另一个路径来保存文件,或者使用与脚本相同的目录:
if (len(sys.argv) > 1 and sys.argv[1]):
save_csv_data(nm.csv(), path=sys.argv[1])
else:
save_csv_data(nm.csv())
Edit:还记得import sys
我还建议您,如果您决定使用参数,请使用类似的模块argparse https://docs.python.org/3/library/argparse.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)