Difference between revisions of "ResultScraping"
Jump to navigation
Jump to search
| Line 16: | Line 16: | ||
{ | { | ||
| − | + | local $/=undef; | |
| − | + | open FILE, "ipv6.html" or die "Couldn't open ipv6 file: $!"; | |
| − | + | $scan = <FILE>; | |
| − | + | close FILE; | |
} | } | ||
my $te = new HTML::TableExtract(); | my $te = new HTML::TableExtract(); | ||
$te->parse($scan); | $te->parse($scan); | ||
| − | + | my $pingtable = $te->table(0,0); | |
| − | my $ | + | my $udpporttable = $te->table(0,1); |
| + | my $tcpporttable = $te->table(0,2); | ||
| + | |||
| + | # Ping result | ||
| + | foreach my $row ($pingtable->rows) | ||
| + | { | ||
| + | foreach my $ele ( @$row ) | ||
| + | { | ||
| + | # <TD TITLE="IPv6 ping">ICMPv6 ECHO REQUEST returned : </TD><TD style="background-color:yellow">ECHO REPLY</TD> | ||
| + | if (defined $ele) | ||
| + | { | ||
| + | if ($ele =~ m/ECHO(.*)REPLY$/) | ||
| + | { | ||
| + | printf("PING response was %sREPLY\n",$1); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
# Currently prints out the OPEN ports | # Currently prints out the OPEN ports | ||
| − | foreach my $row ($ | + | foreach my $row ($udpporttable->rows) |
{ | { | ||
| − | + | foreach my $ele ( @$row ) | |
| − | + | { | |
| − | + | # Port 7 = RFSD | |
| − | + | if (defined $ele) | |
| − | + | { | |
| − | + | if ($ele =~ m/Port\s+(\d+)\s+=\s+([A-Z]+)/) | |
| − | + | { | |
| − | + | my $port = $1; | |
| − | + | my $state = $2; | |
| − | + | if ($state =~ m/OPEN/) | |
| − | + | { | |
| − | + | printf("UDP PORT %5d was %s\n",$port,$state); | |
| − | + | } | |
| − | + | } | |
| − | + | } | |
| − | + | } | |
} | } | ||
| + | |||
| + | foreach my $row ($tcpporttable->rows) | ||
| + | { | ||
| + | foreach my $ele ( @$row ) | ||
| + | { | ||
| + | # Port 7 = RFSD | ||
| + | if (defined $ele) | ||
| + | { | ||
| + | if ($ele =~ m/Port\s+(\d+)\s+=\s+([A-Z]+)/) | ||
| + | { | ||
| + | my $port = $1; | ||
| + | my $state = $2; | ||
| + | if ($state =~ m/OPEN/) | ||
| + | { | ||
| + | printf("TCP PORT %5d was %s\n",$port,$state); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| Line 52: | Line 90: | ||
$ ./scrape.pl | $ ./scrape.pl | ||
| − | + | PING response was REPLY | |
| − | PORT | + | UDP PORT 123 was UDPOPEN |
| − | PORT 80 was OPEN | + | TCP PORT 80 was OPEN |
| − | PORT 443 was OPEN | + | TCP PORT 443 was OPEN |
| − | $ | + | $ |
| − | + | ||
This website publishes a [http://ipv6.chappell-family.com/html/privacy_policy.html Privacy Policy.] Continued use of this website implies your consent to the storage of data outlined in the policy. | This website publishes a [http://ipv6.chappell-family.com/html/privacy_policy.html Privacy Policy.] Continued use of this website implies your consent to the storage of data outlined in the policy. | ||
Revision as of 14:30, 23 March 2013
An introduction to scraping results from ipscan web sessions.
<analytics uacct="UA-27654202-1" ></analytics>
Results Scraping
Here is a simple Perl script (scrape.pl) which dumps out the open ports:
#!/usr/bin/perl
use strict;
use warnings;
use HTML::TableExtract;
my $scan = "";
{
local $/=undef;
open FILE, "ipv6.html" or die "Couldn't open ipv6 file: $!";
$scan = <FILE>;
close FILE;
}
my $te = new HTML::TableExtract();
$te->parse($scan);
my $pingtable = $te->table(0,0);
my $udpporttable = $te->table(0,1);
my $tcpporttable = $te->table(0,2);
# Ping result
foreach my $row ($pingtable->rows)
{
foreach my $ele ( @$row )
{
# ICMPv6 ECHO REQUEST returned : ECHO REPLY
if (defined $ele)
{
if ($ele =~ m/ECHO(.*)REPLY$/)
{
printf("PING response was %sREPLY\n",$1);
}
}
}
}
# Currently prints out the OPEN ports
foreach my $row ($udpporttable->rows)
{
foreach my $ele ( @$row )
{
# Port 7 = RFSD
if (defined $ele)
{
if ($ele =~ m/Port\s+(\d+)\s+=\s+([A-Z]+)/)
{
my $port = $1;
my $state = $2;
if ($state =~ m/OPEN/)
{
printf("UDP PORT %5d was %s\n",$port,$state);
}
}
}
}
}
foreach my $row ($tcpporttable->rows)
{
foreach my $ele ( @$row )
{
# Port 7 = RFSD
if (defined $ele)
{
if ($ele =~ m/Port\s+(\d+)\s+=\s+([A-Z]+)/)
{
my $port = $1;
my $state = $2;
if ($state =~ m/OPEN/)
{
printf("TCP PORT %5d was %s\n",$port,$state);
}
}
}
}
}
Typical Scraped results
$ ./scrape.pl PING response was REPLY UDP PORT 123 was UDPOPEN TCP PORT 80 was OPEN TCP PORT 443 was OPEN $
This website publishes a Privacy Policy. Continued use of this website implies your consent to the storage of data outlined in the policy.
<adsense>1</adsense>