Skip to main content
 首页 » 编程设计

python之nmap 和 print(nm.csv()) 帮助需要打印到 csv.file

2024年10月01日30cyq1162

我需要你帮助处理 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()) 

编辑:同时记得import sys

我还建议您,如果您决定使用参数,请使用像 argparse 这样的模块.