connect(TCP_SOCK, $dest_sockaddr);
sleep(1);
#close TCP_SOCK;
}
exit;
sub print_help {
print <<HELP
%./iamFool.pl [-h] <-t,-p,-u,-n>
-h print help
-t target ipaddr
-p service port
-u requested url
by:i_am_jojo/@msn.com
HELP
}
sub get_ip_hdr {
my $ip_obj = shift;
my @ip_hdr;
push @ip_hdr, [qw(ver tos flags id src_ip proto)];
push @{$ip_hdr[1]}, $ip_obj->{$_} foreach (qw(ver tos flags id src_ip proto));
push @ip_hdr, [qw(hlen len foffset ttl dest_ip cksum)];
push @{$ip_hdr[3]}, $ip_obj->{$_} foreach (qw(hlen len foffset ttl dest_ip cksum));
return pretty_table('IP Header', @ip_hdr);
}
sub get_tcp_hdr {
my $tcp_obj = shift;
my @tcp_hdr;
push @tcp_hdr, [qw(src_port seqnum hlen flags)];
push @{$tcp_hdr[1]}, $tcp_obj->{$_} foreach (qw(src_port seqnum hlen flags));
push @tcp_hdr, [qw(dest_port acknum reserved winsize)];
push @{$tcp_hdr[3]}, $tcp_obj->{$_} foreach (qw(dest_port acknum reserved winsize));
return pretty_table('TCP Header', @tcp_hdr);
}
sub pretty_table {
# prettyTable($aString, @aList); @aList = ( [...], [...] );
# by i_am_jojo@msn.com
my ($title, @data) = @_;
my @temp;
my @max_length;
my $row_length;
my $indent = 4;
my $the_table;
foreach my $col (0..$#{$data[0]}) { push @{$temp[$col]}, $_->[$col] foreach (@data); }
$max_length[$_] = length( (sort{length($b) <=> length($a)} @{$data[$_]} )[0]) 2 foreach (0..$#data);
$row_length = $max_length[$_] foreach (0..$#{$temp[0]});
$row_length = $#data;
$the_table = ' ' x $indent.' '.'-' x $row_length." /n";
$the_table.= ' ' x $indent.'| '.$title.' ' x ($row_length - length($title) - 1)."|/n";
foreach my $row (0..$#temp) {
$the_table.= ' ' x $indent;
$the_table.= ' '.'-' x $max_length[$_] foreach (0.. $#{$temp[0]});
$the_table.= " /n";
$the_table.= ' ' x $indent;
$the_table.= '| '.@{$temp[$row]}[$_].' ' x ($max_length[$_] - length(@{$temp[$row]}[$_]) - 1) foreach (0.. $#{$temp[0]});
$the_table.= "|/n";
}
$the_table.= ' ' x $indent;
$the_table.= ' '.'-' x $max_length[$_] foreach (0.. $#{$temp[0]});
$the_table.= " /n";
return $the_table;
}
四、结果举例
==Result eXample==
2005/05/02 21:51:23, begin sniffing ...
==ID.1==============================================================
---------------------------------------------------
| IP Header |
-------- --------------- --------- ----------------
| ver | 4 | hlen | 5 |
-------- --------------- --------- ----------------
| tos | 0 | len | 60 |
-------- --------------- --------- ----------------
| flags | 2 | foffset | 0 |
-------- --------------- --------- ----------------
| id | 20682 | ttl | 64 |
-------- --------------- --------- ----------------
| src_ip | 218.11.149.14 | dest_ip | 64.233.189.104 |
-------- --------------- --------- ----------------
| proto | 6 | cksum | 31878 |
-------- --------------- --------- ----------------
------------------------------------------
| TCP Header |
---------- ------------ ----------- ------
| src_port | 32851 | dest_port | 80 |
---------- ------------ ----------- ------
| seqnum | 1104143983 | acknum | 0 |
---------- ------------ ----------- ------
| hlen | 10 | reserved | 0 |
---------- ------------ ----------- ------
| flags | 2 | winsize | 5808 |
---------- ------------ ----------- ------
==ID.2==============================================================
---------------------------------------------------
| IP Header |
-------- ---------------- --------- ---------------
| ver | 4 | hlen | 5 |
-------- ---------------- --------- ---------------
| tos | 0 | len | 44 |
-------- ---------------- --------- ---------------
| flags | 0 | foffset | 0 |
-------- ---------------- --------- ---------------
| id | 63029 | ttl | 241 |
-------- ---------------- --------- ---------------
| src_ip | 64.233.189.104 | dest_ip | 218.11.149.14 |
-------- ---------------- --------- ---------------
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




