You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
510 B
21 lines
510 B
12 years ago
|
#!/usr/bin/perl -w
|
||
|
|
||
|
use JSON;
|
||
|
|
||
|
opendir(my $dh, "/sys/class/net") or die "Couldn't open /sys/class/net: $!";
|
||
|
my @nics = grep { $_ !~ m/^\./ } readdir($dh);
|
||
|
closedir($dh);
|
||
|
my $json;
|
||
|
foreach my $nic (@nics){
|
||
|
# Untaint $nic and makes sure the name looks OK
|
||
|
next unless ($nic =~ m/^(\w+[\.:]?\d+)$/);
|
||
|
$nic = $1;
|
||
|
next if (
|
||
|
# skip non links
|
||
|
!-l "/sys/class/net/$nic"
|
||
|
);
|
||
|
push @{$json->{data}}, { "{#IFNAME}" => $nic};
|
||
|
}
|
||
|
print to_json($json) if (defined $json->{data});
|
||
|
exit(0);
|