mymoon
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Таск - отсканировать в локалке живые хосты и поместить ipшники в соответствии с брэндом. (3com, cisco) Код: #!/usr/local/bin/perl -w use Net::Ping; sub who_send_ack(@); sub main; main; sub main { my @acked; @acked = who_send_ack( 192, 168, 0, 2..254 ); print "$_\n" foreach @acked; } sub who_send_ack(@) { my( $first_three_octets, @last_octets, @hosts, $p, @acked ); $first_three_octets .= shift() . "." for 1..3; push @hosts, map { $first_three_octets . $_ } @_; $p = Net::Ping->new( "syn", 2 ); foreach my $host ( @hosts ) { $p->ping( $host ); } while( my( $host,$rttp,$ip ) = $p->ack ) { push @acked, $ip; } return @acked; } | Код: #!/usr/local/bin/perl -w use Net::SNMP; open(FFC,"> /var/tmp/CISTEL"); my $session = Net::SNMP->session( -hostname => '192.168.0.124', -community => 'public', ); my $sysvers = '1.3.6.1.2.1.1.1.0'; my $result = $session->get_request( -varbindlist => [$sysvers] ); print FFC $result->{$sysvers}; close (FFC); $session->close; exit 0; | никак не могу их объединить |