Skip to content

Instantly share code, notes, and snippets.

@brunobuss
Created April 21, 2012 00:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brunobuss/2432871 to your computer and use it in GitHub Desktop.
Save brunobuss/2432871 to your computer and use it in GitHub Desktop.
[Rio-pm] Problemas com rawsocket
##Packs.pm
package Packs;
use v5.10;
use strict;
use warnings;
use diagnostics;
use Net::RawIP;
sub new {
my $class = shift;
my $self = {};
$self->{TARGET} = undef;
$self->{PORT} = undef;
bless ($self, $class);
return $self;
}
sub target{
my $self = shift;
$self->{TARGET} = shift if @_;
return $self->{TARGET}
}
sub port {
my $self = shift;
$self->{PORT} = shift if @_;
return $self->{PORT};
}
sub send{
my $self = shift;
my $ip = join (".", map int rand (256), 1..4);
my $size = int rand(65500) + 1;
say "DADDR = $self->{TARGET}";
say "SADDR = $ip";
say "SOURCE = $size";
say "DEST = $self->{PORT}";
my $n = Net::RawIP->new({
ip => {
saddr => $ip,
daddr => $self->{TARGET},
},
tcp => {
source => $size,
dest => $self->{PORT},
psh => 1,
syn => 1,
},
});
$n->send;
return $n;
}
my $ans = 42;
##script.pl
use v5.10;
use strict;
use warnings;
use diagnostics;
use Packs;
for (1..4){
my $p = Packs->new();
$p->target($ARGV[0]);
$p->port($ARGV[1]);
$p->send;
}
##chamada:
buss@primus:~/temp$ sudo perl script.pl 127.0.0.1 7201
##output:
[sudo] password for buss:
DADDR = 127.0.0.1
SADDR = 104.227.140.29
SOURCE = 4532
DEST = 7201
DADDR = 127.0.0.1
SADDR = 135.198.181.57
SOURCE = 547
DEST = 7201
DADDR = 127.0.0.1
SADDR = 117.237.155.147
SOURCE = 42592
DEST = 7201
DADDR = 127.0.0.1
SADDR = 203.243.38.220
SOURCE = 29466
DEST = 7201
Algum problema?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment