Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Perl, Sockets und Broadcasts

Diskussion: Perl, Sockets und Broadcasts im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Ich habe ein Gerät im Netzwerk, dessen IP-Adresse ich nicht kenne, um diese nun Herauszufinden sende ich einen Broadcast, ...

Antwort
Alt 15.10.11, 23:30   #1 (permalink)
 
Registriert seit: 25.04.08
der_tabak Leistung: Z3
Likes: 1
Standard Perl, Sockets und Broadcasts

Anzeige

Ich habe ein Gerät im Netzwerk, dessen IP-Adresse ich nicht kenne, um diese nun Herauszufinden sende ich einen Broadcast, das Gerät antwortet ebenfalls mit einem Broadcast. In Wireshark kommt die Antwort von Gerät auch an, nur weiss ich nicht wie ich Perl dazu bringe den Broadcast zu empfangen:

Der Broadcast Richtung Perl->Gerät ist mit dem Zielport 6799.
Der Broadcast Richtung Gerät->Perl ist mit dem Zielport 6800.

Daher kommt am Rechner ein Broadcast am Port 6800 an.

Gegoogelt habe ich natürlich auch, und schon diverse Methoden durchprobiert.

Code:
my $buffer;
my $remote_addr;
my $socket = IO::Socket::INET->new(PeerAddr => '255.255.255.255:6799',
                                   Proto => 'udp',
                                   LocalAddr => Net::Address::IP::Local->public,
                                   LocalPort => 6800,
                                   Broadcast => 1) or die "Can't bind: $@\n";

$socket->send("find");

while(1) {
       $socket->recv($buffer, 128);

       $remote_addr = $socket->peerport();
       print "$remote_addr: $buffer\n";
}
Danke im Voraus.

// Edit: OK, habs hinbekommen:

Code:
my $socket = IO::Socket::INET->new(PeerAddr => '255.255.255.255:6799',
                                   Proto => 'udp',
                                   LocalAddr => Net::Address::IP::Local->public,
                                   LocalPort => 6800,
                                   Reuse => 1,
                                   Broadcast => 1) or die "Can't bind: $@\n";

my $broadcast_socket = IO::Socket::INET->new(Proto => 'udp',
                                             LocalPort => 6800,
                                             Reuse => 1,
                                             Broadcast => 1) or die "Can't bind: $@\n";

Geändert von der_tabak (16.10.11 um 00:16 Uhr)
der_tabak ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Perl, Sockets und Broadcasts
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Perl - Sockets ChiefWiggum Code Kitchen 4 15.07.10 10:42
[C] Sockets _Sam_ Code Kitchen 2 21.03.09 20:51
Sockets. ChiefWiggum Code Kitchen 7 16.11.08 19:32
Hardware Broadcasts werden verschluckt blueflash Network · LAN, WAN, Firewalls 5 15.07.07 15:06
Switch spinnt ?!? / Broadcasts im Netz bei E-Mule Gizmo22 Network · LAN, WAN, Firewalls 5 08.02.04 18:59


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61