The philosophy of failed pings

Discussion in 'Ruby' started by Daniel Berger, Mar 16, 2007.

  1. Hi all,

    I need some advice. I recently received a bug report for
    Net::ping::External class (part of
    the net-ping package) where the user was getting false positives.

    In his case he was pinging some bogus loopback address. The ping
    command did not raise any error or warning, but it did have 100%
    packet failure.

    So, my question is, should I look for "100% packet loss" in the output
    and, if found, consider that a failed ping no matter what? I know I
    could make it configurable, but even if I go that route, I'd like to
    know what the default behavior should be.

    It wouldn't be hard to implement, but I thought I would ask since I
    think this package is fairly popular now I think and I want to get
    feedback before I start breaking things.

    Thanks,

    Dan
     
    Daniel Berger, Mar 16, 2007
    #1
    1. Advertising

  2. Daniel Berger

    Robert Dober Guest

    On 3/16/07, Daniel Berger <> wrote:
    > Hi all,
    >
    > I need some advice. I recently received a bug report for
    > Net::ping::External class (part of
    > the net-ping package) where the user was getting false positives.
    >
    > In his case he was pinging some bogus loopback address. The ping
    > command did not raise any error or warning, but it did have 100%
    > packet failure.
    >
    > So, my question is, should I look for "100% packet loss" in the output
    > and, if found, consider that a failed ping no matter what? I know I
    > could make it configurable, but even if I go that route, I'd like to
    > know what the default behavior should be.
    >
    > It wouldn't be hard to implement, but I thought I would ask since I
    > think this package is fairly popular now I think and I want to get
    > feedback before I start breaking things.
    >
    > Thanks,
    >
    > Dan
    >

    Normally I try to look it up myself, but right now I am a little bit
    tired, sorry and man ping does not show the return values on my
    Zenwalk :(

    I feel that you should go for maximum compatibility with the ping
    system command.
    So whenever ping leaves $? to 0 return true, else false.

    The question remains: Which system? well I would opt for Linux b/c it
    is probably the same as *BSD. But it is your project :)
    >


    Just my 0.02...

    Robert
    --
    You see things; and you say Why?
    But I dream things that never were; and I say Why not?
    -- George Bernard Shaw
     
    Robert Dober, Mar 16, 2007
    #2
    1. Advertising

  3. Daniel Berger

    Gary Wright Guest

    On Mar 16, 2007, at 2:25 PM, Daniel Berger wrote:
    > I need some advice. I recently received a bug report for
    > Net::ping::External class (part of
    > the net-ping package) where the user was getting false positives.
    >
    > In his case he was pinging some bogus loopback address. The ping
    > command did not raise any error or warning, but it did have 100%
    > packet failure.


    I'm not sure I understand. Net::ping::External#ping(host) was
    returning true even though there was 100% packet loss to the host?

    I don't think #ping(host) should return true unless there has
    actually been a packet returned from the targeted host.

    Not sure if that answers your question though.


    Gary Wright
     
    Gary Wright, Mar 17, 2007
    #3
  4. On Mar 16, 6:05 pm, Gary Wright <> wrote:
    > On Mar 16, 2007, at 2:25 PM, Daniel Berger wrote:
    >
    > > I need some advice. I recently received a bug report for
    > > Net::ping::External class (part of
    > > the net-ping package) where the user was getting false positives.

    >
    > > In his case he was pinging some bogus loopback address. The ping
    > > command did not raise any error or warning, but it did have 100%
    > > packet failure.

    >
    > I'm not sure I understand. Net::ping::External#ping(host) was
    > returning true even though there was 100% packet loss to the host?


    Yes. In all of my past experiences when that happened there would be
    some additional output sent to stderr, or something sent to stdout
    that warned you something was wrong, and so my code relied on that. In
    this particular case there was no warning or error.

    > I don't think #ping(host) should return true unless there has
    > actually been a packet returned from the targeted host.
    >
    > Not sure if that answers your question though.


    Yeah, the more I think about it, the more I'm leaning in that
    direction.

    Regards,

    Dan
     
    Daniel Berger, Mar 17, 2007
    #4
  5. On Mar 17, 6:01 am, "Francis Cianfrocca" <>
    wrote:
    > On 3/17/07, Daniel Berger <> wrote:
    >
    >
    >
    > > Yes. In all of my past experiences when that happened there would be
    > > some additional output sent to stderr, or something sent to stdout
    > > that warned you something was wrong, and so my code relied on that. In
    > > this particular case there was no warning or error.

    >
    > > > I don't think #ping(host) should return true unless there has
    > > > actually been a packet returned from the targeted host.

    >
    > > > Not sure if that answers your question though.

    >
    > > Yeah, the more I think about it, the more I'm leaning in that
    > > direction.

    >
    > This is probably silly, but ping isn't that hard. Couldn't you just
    > implement it with a raw socket? (Or supply both flavors, the ICMP and the
    > UDP.) Then you'd have complete control over the outcome.


    The net-ping package includes ICMP and UDP implementations (among
    others). This is strictly for external pings that I'm referring to.

    Anyway, I'm going to update it and put out a release sometime this
    weekend hopefully. I need to get a Rakefile added as well.

    Regards,

    Dan
     
    Daniel Berger, Mar 31, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. David Ford
    Replies:
    0
    Views:
    377
    David Ford
    Aug 16, 2003
  2. Roedy Green

    Philosophy

    Roedy Green, Sep 10, 2003, in forum: Java
    Replies:
    1
    Views:
    467
    Chris Uppal
    Sep 10, 2003
  3. zaemin

    The philosophy of exception.

    zaemin, Dec 1, 2003, in forum: Java
    Replies:
    7
    Views:
    460
    Michael Borgwardt
    Dec 3, 2003
  4. ronron

    philosophy : ! vs false

    ronron, Feb 4, 2005, in forum: Java
    Replies:
    31
    Views:
    1,090
    =?ISO-8859-1?Q?S=E9bastien_Auvray?=
    Feb 16, 2005
  5. puzzlecracker

    local class philosophy

    puzzlecracker, Jan 21, 2006, in forum: Java
    Replies:
    12
    Views:
    577
    Roedy Green
    Jan 25, 2006
Loading...

Share This Page