有没有办法启动基于符号的nmap扫描?我想能够运行一个nmap扫描
当我在终端执行我的代码,如下所示:script.pl -b xx.xxx.xxx。我尝试使用if语句来做到这一点,但它的工作。有谁知道hpw正确地做到这一点?如何用命令行参数在perl中启动进程?
if("-b")
{
('nmap -v -r ARGS[0] >>file.txt')
}
有没有办法启动基于符号的nmap扫描?我想能够运行一个nmap扫描
当我在终端执行我的代码,如下所示:script.pl -b xx.xxx.xxx。我尝试使用if语句来做到这一点,但它的工作。有谁知道hpw正确地做到这一点?如何用命令行参数在perl中启动进程?
if("-b")
{
('nmap -v -r ARGS[0] >>file.txt')
}
如果您使用单个字母作为标志Getopt :: Std是您所需要的。
use Getopt::Std;
my %opt;
getopt("b",\%opt);
system "nmap -v -r $opt{b} >> file.txt" if exists $opt{b};
getopt将一个字符串用作标志,并将它们及其值映射到散列表。如果在调用脚本时实际使用a和b,则getopt(“ab”,%opt)会将%opt设置为类似于(a =>“foo”,b =>“bar”)的内容。
命令行选项解析由使用Perl的Getopt的龙::模块容易。下面是一个例子:
use Getopt::Long;
my ($b);
my $result = GetOptions ("b=s" => \$b);
if ($b) {
system ('nmap -v -r ' . $b . ' >>file.txt');
}
的b = S内部GetOptions会从-b字符串参数,并且将其设置为$ B变量。
“符号”是否成为“命令行参数”的某种代码字? –