IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

[Net::DHCP::Packets]: Afficher suboption option_82 paquets DHCP


Sujet :

Modules Perl

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Net::DHCP::Packets]: Afficher suboption option_82 paquets DHCP
    Bonjour,

    Je suis en train d'écrire un script qui permet de récupérer les infos d'un paquet DHCP en PERL.

    J'arrive à récupérer les infos des options telles que DHO_DHCP_MESSAGE_TYPE mais impossible de récupérer les sub option telle que RA_REMOTE_ID ou RA_CIRCUIT_ID de l'option_82 (DHO_DHCP_AGENT_OPTIONS()).


    Pour ce faire, j'utilise les module Perl NET::DHCP::Packets.pm et NET::DHCP::Constants, plus particulièrement la fonction getSubOptionRaw.

    Voici le script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #!/usr/bin/perl
    use IO::Socket::INET;
    use Net::DHCP::Packet;
    #use Net::DHCP::Constants qw(:DEFAULT %REV_DHCP_MESSAGE);
    use Net::DHCP::Constants qw(:DEFAULT %RELAYAGENT_CODES %REV_DHCP_MESSAGE);
    #use Data::Dumper;
     
    $sock = IO::Socket::INET->new(LocalPort => 67, Proto => "udp", Broadcast => 1)
    or die "socket: $@";
     
    while ($sock->recv($newmsg, 4096)) {
    $packet = Net::DHCP::Packet->new($newmsg);
    $agent = $packet->getSubOptionRaw(DHO_DHCP_AGENT_OPTIONS(), RA_REMOTE_ID);
    print STDERR $packet->toString();
    print "\n\n";
    print STDERR $agent;
    print "\n\n";
    }


    Résultat:
    Can't use string ("çâÖVPRN1111ddd3a0"...) as a HASH ref while "strict refs" in use at /usr/local/lib/perl5/site_perl/5.16/Net/DHCP/Packet.pm line 555.

    Line 555: /usr/local/lib/perl5/site_perl/5.16/Net/DHCP/Packet.pm
    sub getSubOptionRaw {
    my ( $self, $key, $subkey ) = @_;
    return $self->{options}->{$key}->{$subkey}
    if exists( $self->{options}->{$key}->{$subkey} );
    return;
    }

    Voici ce que je voudrais afficher:

    RA_REMOTE_ID: $ra_remote_id
    RA_SUBSCRIBER_ID: $ra_subscriber_id

    Comment puis-je faire pour afficher les suboption de l'option 82 ?

    Merci d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    As-tu essayé d'afficher le code DHO_DHCP_AGENT_OPTIONS() juste avant l'appel à getSubOptionRaw ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "agent_options_code = ", DHO_DHCP_AGENT_OPTIONS(), ", self->{agent_options_code} is hash ? ", ref($self->{DHO_DHCP_AGENT_OPTIONS()} eq "HASH" ? "yes":"no"), "\n"
    Autre piste : charger toutes les constantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    use Net::DHCP::Constants;
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

Discussions similaires

  1. [C# ASP.Net 2.0] afficher uniquement la Date
    Par wodel dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/12/2006, 12h21
  2. [VB.NET] code pour afficher apercu avant impression
    Par DonJR dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/07/2006, 20h54
  3. Réponses: 23
    Dernier message: 23/05/2006, 16h52
  4. Réponses: 2
    Dernier message: 17/02/2006, 13h26
  5. [.NET][CR] Comment afficher une image blob dans un état ?
    Par moucrack dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 25/06/2005, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo