CC: | <bug-Net-Ping [...] rt.cpan.org>, <bbb [...] cpan.org> |
Subject: | Net::Ping Bug found? |
Date: | Wed, 16 May 2007 15:01:00 +0200 |
To: | <beginners [...] perl.org> |
From: | "Angerstein" <ang [...] nmc-m.dtag.de> |
Hi there!
I am using Net::Ping on AIX (here 5.2) and I noticed a strange behaviour
concerning the ICMP Payload Data Field.
If I do a typical default ping with
$p = new Net::Ping('icmp', $ping_timeout);
I will get a EthernetII-IP-ICMP-Package (so far so good),
but this package does not contain a Payload field (I would normaly
expect),
therefor it contains a Ethernet II Trailer (Wireshark).
(I verified this by using iptrace v2.0 on aix and wireshark on my win2k
desktop box.)
If I do a ping with a manuell specified payload
(like $p = new Net::Ping('icmp', $ping_timeout, 18);)
the package looks (for me as a halfaway network geek) good.
When is this a problem?
It looks like some Router (by some Vendors) do not send icmp echo
replies on such kind of requests.
Sometimes it might look like that your router is down, but it isn´t.
(And If you have like me over 1000 multivendor routers/switche/etc to
manage,
it´s not funny.)
What could be the Problem:
The package building process in Net::Ping is filthy-> I guess
the IP-Total Length field is not set correctly (the payload lenght is
not added to it).
So Please:
Could somebody verify this on her/his own System?
If anybody feels able or have time to patch this, please patch the
multithreadsupport patch right with it.
(https://rt.cpan.org/Public/Bug/Display.html?id=4170)
If you need to verify the fix feel free to ask me.
Bastian Angerstein