【问题标题】:prompt terminal to request ip addresses提示终端请求IP地址
【发布时间】:2011-06-22 15:19:40
【问题描述】:

当我在终端运行我的 perl 脚本时,有没有办法让我的 perl 脚本提示我输入一系列 IP 地址?

我有一个通过 nmap 扫描 IP 地址的 perl 脚本。我目前像这样扫描IP地址:

(nmap -v -r xx.xx.xxx.xxx -p 1-25); (nmap -v -r xx.xx.xxx.xxx -p 1-25);

我宁愿一个命令或函数,终端会提示我输入要扫描的 IP 地址范围,我该怎么做

【问题讨论】:

    标签: perl security networking cgi


    【解决方案1】:

    以下将打印出Input: 并等待用户输入行。阅读here 了解有关用户输入的更多信息。

    print "Input: ";
    my $input = <STDIN>;
    

    【讨论】:

    • 小心,Tizag 对于 Perl 来说不是一个好的学习资源。它的教程质量低下,例如您链接到的页面声称&lt;STDIN&gt; can be abbreviated by using simple &lt;&gt;,但事实并非如此。 &lt;&gt;&lt;ARGV&gt; 的缩写,恰好在示例中做了预期的事情,但它与&lt;STDIN&gt; 确实不同。
    【解决方案2】:

    您是否查看过执行此操作的 OOTB nmap 选项? nmap 有一个从文件中读取 IP 地址列表的选项,您可以在 nmap 网站上阅读更多关于 here 的信息。

    要查找的具体选项是这样的:

    -iL(从列表输入)

    从 .通过一个巨大的列表 的主机往往是尴尬的 命令行,但它是一个常见的 欲望。例如,您的 DHCP 服务器 可能会导出 10,000 个当前的列表 您要扫描的租约。或者可能 您要扫描所有 IP 地址 除了那些使用 未经授权的静态 IP 地址。 只需生成主机列表即可 扫描并将该文件名传递给 Nmap -iL 选项的参数。参赛作品 可以是任何接受的格式 通过命令行上的 Nmap (IP 地址、主机名、CIDR、IPv6 或 八位字节范围)。每个条目必须是 由一个或多个空格、制表符分隔, 或换行符。您可以指定连字符 (-) 作为文件名,如果你想要 Nmap 从标准输入读取主机 而不是一个实际的文件。

    输入文件可能包含以 # 开头并延伸到行尾的 cmets。

    【讨论】:

      【解决方案3】:
      $a = <STDIN>; # read the next line
      

      STDIN 是标准输入。请参阅Learning Perl 中的从标准输入输入一章。

      【讨论】:

        猜你喜欢
        • 2018-08-21
        • 2022-01-20
        • 2011-07-31
        • 1970-01-01
        • 1970-01-01
        • 2015-06-21
        • 2018-07-04
        • 2017-06-27
        • 1970-01-01
        相关资源
        最近更新 更多