Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4341[/thread]

Net::Ping - Antwort

Leser: 2


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Taulmarill
 2004-06-29 15:01
#38070 #38070
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
hm, wenn ich dein script richtig verstanden habe pingst du den hostnamen an. hast du auch schon mal versucht die ip addresse zu verwenden?
evtl. ist nur die namensauflösung nicht ganz sauber.

p.s. darf ich aus der variable @ehealth schliessen, dass du auch mit dieser elenden applikation eHealth geschlagen bist? ;)
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
BungeeBug
 2004-06-29 16:14
#38071 #38071
User since
2004-03-16
54 Artikel
BenutzerIn
[default_avatar]
Hi,

versuch doch mal ein
Code (perl): (dl )
1
2
&#36p = Net::Ping->new();
print(&#36p->ping(gethostbyname(&#36host),5));


Das sollte denn 1 oder 0 zurück geben, eben wie es gerade ist!
MfG
BungeeBug
Dubu
 2004-06-29 17:51
#38072 #38072
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Schon mal die Doku zu Net::Ping gelesen? ;)

Net::Ping baut per Default eine TCP-Verbindung zum echo-Port des anderen Rechners auf. Es kann dabei aber passieren, dass irgendwo ein Paketfilter die Pakete schluckt. Dagegen arbeitet ping(1) mit ICMP ECHO Paketen, wofuer es allerdings mehr Privilegien braucht und deshalb setuid laeuft. Wenn dein Skript unter root laeuft, kannst du auch Net::Ping mit ICMP arbeiten lassen. Bei ICMP-Paketen ist die Wahrscheinlichkeit geringer, dass sie weggefiltert werden (weil sich die meisten Admins nicht dieser Diagnosemoeglichkeit berauben wollen), deshalb kann es sein, dass ein Rechner mit ping(1), aber nicht mit Net::Ping im Default-Protokoll zu sehen ist.

Ansonsten lohnt es sich auf jeden Fall, nochmal die Doku zu konsultieren, denn auch Net::Ping kann mit dem externem ping(1) Programm arbeiten (Protokoll "external"), so dass zumindest dein Interface gleich bleiben kann.
rucksl
 2004-07-21 10:54
#38073 #38073
User since
2004-06-15
13 Artikel
BenutzerIn
[default_avatar]
[quote=BungeeBug,29.06.2004, 16:48]Stimmt sofern er Unix hat :) Das müsste man eben wissen.[/quote]
Ja, es läuft auf einer Unix-Kiste.
Werds mir noch einmal anschauen.

Danke!
betterworld
 2004-07-21 21:48
#38074 #38074
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=BungeeBug,21.07.2004, 13:00]Bei so gut wie allen großen Knotenpunkten werden die echo Pakete vernichtet. Das ist ne Menge Netzlast die dann wegfällt![/quote]
Das wäre mir neu. Ich konnte bisher eigentlich immer durchs ganze Internet pingen und es hatte nie den Anschein, dass irgendwo etwas herausgefiltert wird. Das passiert eigentlich erst zu Hause oder in der Firma, also am Blatt und nicht am Knoten.

Bei Gentoo ist TCP echo uebrigens in der Basisinstallation deaktiviert. Bei Debian afaik nicht. Wenn Du es benoetigst, solltest Du mal ueberpruefen, ob es aktiviert ist. Das geschiet meistens in der /etc/inetd.conf oder /etc/xinetd.d/tcp-echo oder ähnlich.
rucksl
 2004-06-29 15:47
#38075 #38075
User since
2004-06-15
13 Artikel
BenutzerIn
[default_avatar]
Du sagst es ehealth!! Jippie!!

Habs mit den IPs auch schon ausprobiert. Das total gleiche Ergebnis! Die Namensauflösung passt, da ich ein Skript fürn Nslookup auch schon drüber hab laufen lassen. :-(
rucksl
 2004-06-29 16:37
#38076 #38076
User since
2004-06-15
13 Artikel
BenutzerIn
[default_avatar]
Hi,
klappt leider auch nicht. :-(
Egal. Habe es jetzt mit dem Perl Zugriff auf die Shell realisiert.

Danke troztdem
BungeeBug
 2004-06-29 18:48
#38077 #38077
User since
2004-03-16
54 Artikel
BenutzerIn
[default_avatar]
Stimmt sofern er Unix hat :) Das müsste man eben wissen.
MfG
BungeeBug
[E|B]
 2004-07-21 13:22
#38078 #38078
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Firewall abschalten soll manchmal auch wahre Wunder bewirken.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
rucksl
 2004-06-29 14:28
#38079 #38079
User since
2004-06-15
13 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich versuche mit dem Modul Net::Ping zu überprüfen, ob Devices im Netz erreichbar sind.

Hier ein bisschen Code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
foreach (@ehealth) {
               $bool_ping ="";
               $ip="";                                                      #Kontrolle: pingbar?
               $host = $_->[0].".homenet.de";
               $timeout = 0.5;

               $p = Net::Ping->new();


               $ping = $p->ping($host, $timeout);
               $p->close();


Habe jetzt ein Problem:
$ping ist entweder undef oder enthält 0/1.
Teilweise, wenn $ping 0 enthält, ist das Gerät aber trotzdem pingbar.

Hat jemand eine Idee an was das liegen kann.
Wär wirklich super.

Danke schon mal!!!

Bearbeitet von Crian: CODE-Tags ergänzt\n\n

<!--EDIT|Crian|1090405191-->
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-06-29 15:01.