Toon posts:

[perl] host port checken hoe ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
heb dit al

sub checkport
{

my ($server, $service) = @_;

my $timeout = 1;
$stat=0;

my $services = {
ftp => { port => 21, print => "", waitfor => '/220/' },
ssh => { port => 22, print => "", waitfor => '/SSH/' },
telnet => { port => 23, print => "", waitfor => '/(login|username)/' },
www => { port => 80, print => "HEAD / HTTP/1.0\n\n", waitfor => '/200/' },
pop => { port => 110, print => "", waitfor => '/\+OK/' },
nntp => { port => 119, print => "", waitfor => '/200/' },
imap => { port => 143, print => "", waitfor => '/OK/' },
smtp => { port => 25, print => "", waitfor => '/SMTP/' }
};

my $port = $services->{$service}->{port};
my $sock = new Net::Telnet (Telnetmode => 0);
my $waitfor = $services->{$service}->{waitfor};

$sock->open(Host => $server,
Port => $port,
Timeout => $timeout);


Hoe kan ik die socket nu checken, als ie de waitfor boodschap juist heeft moet ie 1 geven en als ie fout is 0, gewoon een simpele poortchecker, iemand een idee ???

Bedankt, een perl newbie

  • Grum
  • Registratie: Juni 2001
  • Niet online
ik mis een klein beetje wat je nou bedoeld maar ik zie wel dat je de call naar checkport net zo erg mist ;)

Verwijderd

Topicstarter
amai zeg, dit is maar een stukkie van het progje..geraak er nie goed aan uiot bedoeling is een progje te schrijven , een kleine sub die de mogelijkheid heeft een poort te checken.

Zelfde vorm als ping alleen voor poort, ik moet alleen maar de status hebben online of offline (timeout) ...

Dus bv &checkport(127.0.0.1,www);

Is poort 80 open of dicht ?

Hoe kan ik de $sock status in een variabele pompen ?

  • Grum
  • Registratie: Juni 2001
  • Niet online
je weet hoe je em moet opvragen ?

gewoon met een return ....; terug geven en opvangen uit de functie ?
code:
1
2
3
4
5
6
7
sub ruigeFunctie
{
   $var = doe_ruige_dingen();
   return $var;
}

$theReturnVar = ruigeFunctie();

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

if (!$sock->open(Host => $server, Port => $port, Timeout => $timeout)) {
print "Unable to connect: $!\n";
} else {
print "Connected.\n";
}