my @IPsinrange = &getAllIPs($range) ;
my $np = new Nmap::Parser;
$np->parsefile('/home/users/axiroot/scripts/monitor-client/tmp/nmap.xml'); #using filenames
my $si = $np->get_session();
#my @MACsinrange = &getAllMACs($range,)
foreach my $ip (@IPsinrange) {
$output .= "
\n" ;
$output .= "| $ip | \n" ;
for my $host_obj ($np->all_hosts()){
if ( $host_obj->ipv4_addr() eq $ip ){
my $state = "";
$state = $host_obj->status() ;
if ( $state eq "up" ) {
$output .= "$state | \n" ;
my $hostname = $host_obj->hostname() ;
if ( $hostname eq 0 ) {
$hostname = "Hostname niet gekend" ;
}
#print "hostname: $hostname \n" ;
$output .= "$hostname | \n" ;
my $a = nslookup(host => $ip, type => "PTR");
if ( $a eq ""){
$output .= "Niet in DNS | \n" ;
} else {
$output .= "$a | \n" ;
}
my $openPort = (join ',',$host_obj->tcp_ports('open'))."\n" ;
my @ports = split ',', $openPort;
$output .= "";
foreach my $port (@ports) {
my $svc = $host_obj->tcp_service($port);
my $service = $svc->name() ;
#$output .= "$port : $service " ;
$output .= "$port : $service " ;
}
$output .= " | \n" ;
my $mac = $host_obj->mac_addr() ;
$output .= "$mac | \n" ;
my $type = $host_obj->mac_vendor() ;
$output .= "$type | \n" ;
}
}
}
$output .= "
\n" ;
}