bash - 将curl与gnu-parallel或xarg结合使用,在bash中循环访问端口1-65535

标签 bash curl xargs gnu-parallel

我需要进行一个curl调用,为某个ip的所有端口请求横幅(超时5curl -I ip:port命令,超时5秒)并将结果保存到单个文件中,格式如下(空格分隔): “端口号”“拉出的横幅的第二行”

完成这项工作的正确 bash 脚本是什么? 另外,在 2GB 2 核 Kvm Vps 上运行的并行作业的合理数量是多少?

附注我知道像 nmap 这样的脚本可以快速完成工作,但是,它们经常无法拉出横幅,而curl 命令每次都会给我 100% 的结果。

最佳答案

类似这样的事情:

parallel 'r=$(timeout 5 curl -l 192.168.0.1:{} | sed -ne "2p"); echo "{} $r"'  ::: {1..65535}

关于bash - 将curl与gnu-parallel或xarg结合使用,在bash中循环访问端口1-65535,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53593283/

相关文章:

php - 无需等待 CURL 请求完成即可流式传输响应

bash - 将标准输出的每一行作为标准输入传递给工具的新调用

linux - 具有多个参数的 xargs

bash - 在 bash 中从 txt 文件中多次读取(线程)

linux - 在 bash 脚本中控制可执行文件

bash - Docker不运行入口点脚本

security - shell 命令列表中的竞争条件

php - CURL 中的 data-urlencode 是什么意思?

curl - 如何在curl中传递变量?

linux - 有条件地执行 .bashrc 命令