我正在编写一个 Python 程序,该程序需要返回在我的一个漏洞扫描中扫描的活动主机。我在返回 XML 之前使用过这种方法,但是当我尝试处理这些额外的程序(例如 cut 和 grep)时,我遇到了问题。也许它不喜欢“管道” | 或者也许我在这里用逗号做了一些完全错误的事情,但我已经尝试了各种各样的事情,但似乎无法让它像我从命令行独立运行命令时那样返回结果。非常感谢您提供的任何帮助。
def activeHostsQuery():
args = ['curl', '-s', '-k', '-H', 'X-Requested-With: curl demoapp', '-u','username:password', 'https://qualysapi.qualys.com/api/2.0/fo/scan/?action=fetch&scan_ref=scan/1111111.22222&mode=brief&output_format=csv', '|', 'cut', '-d', '-f1', '|', 'sort', '|', 'uniq', '|', 'grep', '-E', '"\"[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\""', '|', 'wc', '-l']
activeHostsNumber = subprocess.Popen(args, stdout=subprocess.PIPE).communicate()[0]
return activeHostsNumber