因此,我有一个端口扫描器 (masscan),我想将其输出重定向到某个命令行,该命令行将检查每个生成的 IP:端口组合是否服务于某个 Web 服务。
所以,它可以这样:
masscan 0.0.0.0/0 -p8080 --max-rate 300000 | ./scanner.py
但对于巨大的 IP 范围来说,这会很慢,因为scanner.py
要逐一处理。
我怎样才能并行地做到这一点?即,单独重定向每个 IP,并创建并行处理重定向到它们的 stdin 的进程,从而使扫描速度更快。
答案1
我想你可以用 做点什么xargs
。例如以下内容:
masscan 0.0.0.0/0 -p8080 --max-rate 300000 | \
xargs -L1 -I+ -P200 sh -c "echo '+' | ./scanner.py"
这将运行多达 200 个并行程序./scanner.py
,每个并行程序处理来自masscan
.