Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^3: Ping sweep with reporting

by StarkRavingCalm (Sexton)
on May 17, 2007 at 14:31 UTC ( #616012=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Ping sweep with reporting
in thread Ping sweep with reporting

Thanks for the help. I'm very new to Perl so some of this stuff can\will allude me unfortunaltly. I did see the error but what threw me off was the curly bracket right above where it said it was needed. And I'll pay more attention to my previews ; )

Let me try adding the bracket and I'll post my results.
Thanks!


Comment on Re^3: Ping sweep with reporting
Re^4: Ping sweep with reporting
by StarkRavingCalm (Sexton) on May 17, 2007 at 20:14 UTC
    Ok, here's what I have: <code> #!/usr/bin/perl use strict; use warnings; my $ping = "/bin/ping"; while (<DATA>) { chomp; my $ping_out = `$ping $_ 2> /dev/null`; chomp ($ping_out); if ($ping_out !~ /bytes from/) { print "$_ isn't pinging\n"; } else { print "$_ is up\n"; } } __DATA__ myserver02 <code/> And here's the output: root@stewie ~# perl pingsweep_pm.pl isn't pinging Thoughts?
Re^4: Ping sweep with reporting
by StarkRavingCalm (Sexton) on May 17, 2007 at 20:19 UTC
    Ok, here's what I have:
    #!/usr/bin/perl use strict; use warnings; my $ping = "/bin/ping"; while (<DATA>) { chomp; my $ping_out = `$ping $_ 2> /dev/null`; chomp ($ping_out); if ($ping_out !~ /bytes from/) { print "$_ isn't pinging\n"; } else { print "$_ is up\n"; } } __DATA__ myserver02

    And here's the output:
    root@stewie ~# perl pingsweep_pm.pl isn't pinging

    Thoughts?
      Great ... now you're getting somewhere!

      The next step is to debug your results.

      First of all, what happens when you do the ping by hand?  To be on the safe side, you can formulate the whole command before executing it, so you can cut-and-paste:

      my $cmd = "$ping $_ 2> /dev/null"; print "Debug: command is '$cmd'\n"; my $ping_out = `$cmd`;

      So when you run that, you should get something like:

      Debug: command is '/bin/ping myserver02 2> /dev/null'

      What happens when you run that command (/bin/ping myserver02 2> /dev/null) at a shell prompt?  Does running ping directly produce the output you expect?

      If so, then try printing the output in the program, and compare it visually:

      my $ping_out = `$cmd`; chomp ($ping_out); print "Debug: ping results => '$ping_out'\n";

      Does it print the results you expect?  (ie. the results you get doing it by hand?)

      If there's a problem, you should now, most likely, know where it is.  Perhaps the remote server is down.  Or perhaps the output from ping isn't quite in a format that you expect.

      What happens when you follow these steps?  Are you able to find the bug and fix it?


      s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://616012]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2014-12-26 01:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (163 votes), past polls