19 lines
304 B
Perl
Executable File
19 lines
304 B
Perl
Executable File
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
my $port = $ARGV[0];
|
|
my $used_ports = `netstat -tulan`;
|
|
|
|
my %p=();
|
|
my $addr=qr((?:\d+.\d+.\d+.\d+|[0-9a-f:]+));
|
|
for(split m/\R/, $used_ports) {
|
|
if(m#$addr:(\d+)\s+$addr:(?:\d+|\*)\s+#) {
|
|
$p{$1}=1;
|
|
}
|
|
};
|
|
|
|
$port++ while $p{$port};
|
|
|
|
print $port |