J'ai essayé à la fois Net :: RawIP et Net :: :: Ecrire Layer3. Cela fonctionne bien si je fournis une adresse IP spécifique dans le réseau. alors que je reçois soitComment envoyer un message de diffusion IP en utilisant Perl
sendto() at /usr/lib/perl5/Net/RawIP.pm line 630. shell returned 13
ou
Net::Write::Layer::send: Permission denied
si je change l'adresse de destination à 66.66.66.255
des idées?
le code que je utilise est ici
use Net::Write::Layer qw(:constants);
use Net::Write::Layer3;
use NetAddr::IP;
use Net::RawIP;
$message = "Foo";
# using Net::RawIP
$n = Net::RawIP->new({
ip => {
tos => 0xC0,
daddr => '66.66.66.2',
protocol => 2,
},
generic => {
data => $message
}
});
$n->send;
# using Net::Write::Layer3
my $desc = Net::Write::Layer3->new(
dst => '66.66.66.2',
protocol => '2',
family => NW_AF_INET,
);
$desc->open;
$desc->send($message);
$desc->close;
si vous faites IGMP, utilisez mcast_add et les amis dans 'IO :: Socket Multicast' –