/ / мають сценарій fakeidentd.pl слухати як ipv4, так і ipv6 - perl

мати скрипт fakeidentd.pl слухати як ipv4, так і ipv6 - perl

Я намагаюся оновити скрипт perl, який діє як ідентифікатор, щоб також слухати ipv6-сокет.

#!/usr/bin/perl

use strict;
use warnings;
use IO::Socket;
use IO::Socket::IP;

my($client,$socket);
if (!defined($ARGV[0])) { die "Please supply identn"; }
my $ident=$ARGV[0];
$socket = IO::Socket::IP->new(
"Domain" => "PF_INET6",
"Proto" => "tcp",
"LocalPort" => 113,
Reuse => 1,
"Listen" => 1) or die "Error: $!n";
print "using ident: $identn";
while ($client=$socket->accept()) {
my $host=$client->peerhost();
print "connection: ", $host . "n";
my $data = <$client>;
if ($data) {
print "$host recv: $datan";
$data =~ s/^s+//;
$data =~ s/s+$//;
$ident =~ s/^s+//;
$ident =~ s/s+$//;
print $client "$data : USERID : UNIX : $identn";
close $client;
}
}
undef $client if $client;

результати зовсім не задовольняють:

netstat -alpn | греп перл
tcp 0 0 0.0.0.0:113 0.0.0.0:* СПИСОК

Відповіді:

2 для відповіді № 1

Здається, працює наступне:

$socket = IO::Socket::IP->new(
Domain    => PF_INET6,
LocalHost => "::1",
"Proto" => "tcp",
"LocalPort" => 113,
Reuse => 1,
"Listen" => 1) or die "Error: $!n";

Результат:

# netstat -alpn | grep perl
tcp        0      0 ::1:113                 :::*                    LISTEN      1357/perl