/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Ping ting
Fra : Casper Mønster


Dato : 13-01-05 11:44

Jeg skal bruge en funktion hvor man pinger et host, og så skal den
retunerer SAND/FALSK.

Det skal bruges til at se hvor mange host der er på et netværk, så hvis
der er nogen der har et link til noget ligene, er dette også fint.

/PFT
Casper

 
 
Tore Aursand (13-01-2005)
Kommentar
Fra : Tore Aursand


Dato : 13-01-05 12:02

Casper Mønster wrote:
> Jeg skal bruge en funktion hvor man pinger et host, og så skal den
> retunerer SAND/FALSK.
>
> Det skal bruges til at se hvor mange host der er på et netværk, så hvis
> der er nogen der har et link til noget ligene, er dette også fint.

CPAN har det du trenger:

<http://search.cpan.org/search?query=Ping&mode=module>


--
Tore Aursand <tore@aursand.no>
"The best way to be ready for the future is to invent it." (John
Sculley)

Casper Mønster (13-01-2005)
Kommentar
Fra : Casper Mønster


Dato : 13-01-05 15:00

Tore Aursand wrote:

> Casper Mønster wrote:
>
>> Jeg skal bruge en funktion hvor man pinger et host, og så skal den
>> retunerer SAND/FALSK.
>>
>> Det skal bruges til at se hvor mange host der er på et netværk, så
>> hvis der er nogen der har et link til noget ligene, er dette også fint.
>
>
> CPAN har det du trenger:
>
> <http://search.cpan.org/search?query=Ping&mode=module>
>
>
Mange tak, det var lige dette jeg skulle bruge.

/Casper

Casper Mønster (13-01-2005)
Kommentar
Fra : Casper Mønster


Dato : 13-01-05 21:14

Tore Aursand wrote:
> Casper Mønster wrote:
>
>> Jeg skal bruge en funktion hvor man pinger et host, og så skal den
>> retunerer SAND/FALSK.
>>
>> Det skal bruges til at se hvor mange host der er på et netværk, så
>> hvis der er nogen der har et link til noget ligene, er dette også fint.
>
>
> CPAN har det du trenger:
>
> <http://search.cpan.org/search?query=Ping&mode=module>
>
>
Jeg har fået det til at virke, men det tager meget lang til at scanne en
netværk. Så nu er spørsmålet, er det muligt at køre to eller flere
ting på samme tid? Det er jo ikke fordi "pingen" bruger meget CPU, det
er kun fordi den venter på timeout.


Jeg har hu lavet følgene:

<KLIP>
#!/usr/bin/perl -w

use strict;
use Net::Ping;

my ($host, $p);

my ($antal) = 0;

my ($timeout) = 1;

my ($a) = 192;
my ($b) = 168;
my ($c) = 1;
my ($d) = 1;

while($d <= 255) {
$host = "$a.$b.$c.$d";
$p = Net::Ping->new();

$antal++ if $p->ping($host, $timeout);
$p->close();
$d = $d + 1;
}

print "$antal\n";
</KLIP>

Thorbjoern Ravn Ande~ (13-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-01-05 21:35

Casper Mønster <fjern_dette.monster@nanolaug.dk> writes:

> Jeg har fået det til at virke, men det tager meget lang til at scanne
> en netværk. Så nu er spørsmålet, er det muligt at køre to eller flere
> ting på samme tid? Det er jo ikke fordi "pingen" bruger meget CPU, det
> er kun fordi den venter på timeout.

Under UNix så kig på fping.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Jacob Bunk Nielsen (13-01-2005)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 13-01-05 22:44

Casper Mønster <fjern_dette.monster@nanolaug.dk> writes:

> Jeg har hu lavet følgene:

Der ser ud som om du bare burde have kigget på nmap fra starten af.

--
Jacob - www.bunk.cc
When all else fails, read the instructions.

Lars Kim Lund (14-01-2005)
Kommentar
Fra : Lars Kim Lund


Dato : 14-01-05 00:20

Jacob Bunk Nielsen <spam@bunk.cc> wrote:

>> Jeg har hu lavet følgene:
>Der ser ud som om du bare burde have kigget på nmap fra starten af.

Som Jacob skriver - så er der nok ikke meget der er bedre til at
pingscanne parallelt. Så hvis det er det du vil, så brug den. Det er
multiplatform og kører på alt fra diverse unix-platforme til Win32.

Jeg har testet lidt på nmap og fundet at den bedste måde er at køre
den aggressivt og checke de resterende mindre aggressivt efterflg.

# Nmap run completed at Fri Jan 14 00:00:51 2005 -- 570 IP addresses
(511 hosts up) scanned in 12.359 seconds

@echo off

:: === Pingscan 2.1, Lars Kim Lund, 31.07.2002
:: ===========================================
:: === Tilpasset til nmap 3.75, 21.11.2004 LKL

pushd d:\nmap
del pass*.*

for /f %%f in ('dir /b host.*') do (
for /f %%g in (%%f) do echo %%g >>pass1.tmp)

nmap.exe -sP -v -T 5 -R -iL pass1.tmp -oM pass1.log

for /f "tokens=2" %%f in ('type pass1.log ^| find "Status: Down") do (
echo %%f>>pass2.tmp)

nmap.exe -sP -v -T 4 -R -iL pass2.tmp -oM pass2.log

for /f "tokens=2" %%f in ('type pass2.log ^| find "Status: Down") do (
echo %%f>>pass3.tmp)

nmap.exe -sP -v -T 3 -R -iL pass3.tmp -oM pass3.log

copy /y scan.log scan.old
del scan.log

for /l %%f in (1,1,4) do type pass%%f.log | find "Status:">>scan.log

----

Derefter er det blot at parse scan.log og scan.old og lave noget
rapportering, alarmering og hvad man nu ellers kan finde på. Og her er
Perl på hjemmebane.

Jeg laver en Followup-To news:dk.edb.sysadmin, der nok er mere
relevant, da nmap dybest set ikke har så meget med perl at gøre.

HTH,

--
Lars Kim Lund
http://www.net-faq.dk/

Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407864
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste