1

我正在编写一个 Perl 脚本,当连接到所述网络时,它将自动运行并自动访问网络上的共享 SMB 驱动器。到目前为止,我使用下面的代码所做的是检查以确保网络上存在互联网连接,然后对端口 139 运行 Nmap 扫描。这是简单的代码,因此显然工作成功,但是,对于使用 smbclient 的进一步命令,自动获取每个开放端口 139 的 IP 地址并将每个 IP 地址转换为变量的好方法是什么?简而言之,我希望将每个扫描的具有开放端口的 IP 地址设置为 $IP1、$IP2、$IP3 等。感谢您提供任何帮助或反馈。

#!/usr/bin/perl

use strict;
use Net::Ping;

## Check for an internet connection by pinging Google
my $p = Net::Ping->new("icmp");
while(1){
printf "Checking internet connection.....\n";
    if ($p->ping("172.217.4.132")){
    printf "Internet connection is active\n";
        sleep 1;
    last;
    }
    else{
    printf "Internet connection not established.\n";
        sleep 5*5;
    }
}
## Determine the gateway IP address of the network

my $IP = "192.168.1.1";

system( "nmap -vv $IP/24 -p 139 | grep open" );
4

0 回答 0