1

ネットワークに接続すると、ネットワーク上の共有 SMB ドライブを自動的に実行して自動的にアクセスする Perl スクリプトの作成に取り組んでいます。これまでのところ、以下のコードを使用して、インターネット接続がネットワーク上に存在することを確認し、ポート 139 の Nmap スキャンを実行することを確認しました。これは単純なコードであり、明らかに正常に動作しています。ただし、ポート 139 を開いた状態で各 IP アドレスを自動的に取得し、それぞれを変数に変換して、さらに smbclient でコマンドを実行するにはどうすればよいでしょうか? 簡単に言えば、開いているポートを持つスキャンされた各 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