Toon posts:

fping standalone?

Pagina: 1
Acties:
  • 308 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi allemaal,

Eerst even een uitleg van het hoe en waarom:

In den beginne was er een netwerk met een aantal subnetten waarvan er maar een paar gebruikt werden. Mij werd gevraagd om een script te schrijven om wat checks te doen op dit netwerk. (Netwerk bestaat uit switches). De eerste stap in mijn script was het pingen van de subnetten om te kijken welke switches op dat moment operationeel zijn. Je kan je voorstellen dat als het om een paar /24 subnetten gaat de tijd die het kost om die subnetten te pingen nogal tijdrovend is. Vooral als het grootste deel van de ip-adressen in die subnetten niet gebruikt wordt. In het begin konden we hier nog wel mee uit de voeten. Het script liep 's-nachts en niemand had er last van.

Het aantal switches dat gepinged moet worden evenals de subnetten is groter geworden. De tijd die het zou gaan kosten (met een timeout van 1 s) is veel te groot om het script snachts te laten draaien.

In theorie is het mogelijk om gebruik te maken van fork in mijn perlscripts om een aantal ip-adressen tegelijk te gaan pingen. Dit heeft echter tot gevolg dat de processen nogal toenemen iedere keer als ik bijvoorbeeld 40 adressen ping. (In die fork wordt er gebruik gemaakt van:

Perl:
1
system("ping -c 1 192.168.1.$entry >> pingfile");


Bovenstaande heb ik getest op een Linux machine en werkt dus. Maar door het aantal processen ben ik hiervan afgestapt.

Op mijn zoektocht naar andere mogelijkheden kwam ik bij fping. Nu durf ik met 90% zekerheid te zeggen dat deze niet beschikbaar is op de UNIX server waarop dit scriptje moet gaan draaien. Ik heb tevens geen root rechten. Is het mogelijk om dit script toch te kunnen draaien vanuit mijn eigen space op de unix server? en zo ja.. hoe zou ik dit kunnen doen?

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op maandag 16 oktober 2006 @ 12:49:

Op mijn zoektocht naar andere mogelijkheden kwam ik bij fping. Nu durf ik met 90% zekerheid te zeggen dat deze niet beschikbaar is op de UNIX server waarop dit scriptje moet gaan draaien. Ik heb tevens geen root rechten. Is het mogelijk om dit script toch te kunnen draaien vanuit mijn eigen space op de unix server? en zo ja.. hoe zou ik dit kunnen doen?
fping/ping gebruiken raw sockets om icmp te versturen als ik me niet vergis. Hiervoor zijn root-rechten nodig, vandaar dat de ping/fping binary's suid zijn. Je kunt fping prima compilen in je homedirectory, maar suid wordt ie nooit zonder medewerken van systeembeheer.
Even terzijde, er is ook al een kant-en-klaar pakket wat doet jij wil, namelijk smokeping.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 07-02 09:48

TrailBlazer

Karnemelk FTW

Waarom weetje niet gewoon wat de ip adressen van je switches zijn. Die veranderen toch niet dagelijks. Als je op deze manier beheer doet moet je daar eerst maar eens over na gaan denken. Voor een discovery is dit wel aardig maar voor dagelijks beheer is dit gewoon geen ahndie methode.

  • sariel
  • Registratie: Mei 2004
  • Laatst online: 24-03 12:54
fping kan ik gewoon als user uitvoeren.

code:
1
$ fping -g 192.168.1.0/24


dit geeft een waslijst aan zooi op m'n scherm:

code:
1
2
3
4
5
6
7
8
9
10
11
12
192.168.1.7 is alive
192.168.1.11 is alive
192.168.1.12 is alive
192.168.1.20 is alive
ICMP Host Unreachable from 192.168.1.136 for ICMP Echo sent to 192.168.1.2
ICMP Host Unreachable from 192.168.1.136 for ICMP Echo sent to 192.168.1.3
ICMP Host Unreachable from 192.168.1.136 for ICMP Echo sent to 192.168.1.4
ICMP Host Unreachable from 192.168.1.136 for ICMP Echo sent to 192.168.1.5
ICMP Host Unreachable from 192.168.1.136 for ICMP Echo sent to 192.168.1.6
ICMP Host Unreachable from 192.168.1.136 for ICMP Echo sent to 192.168.1.8
ICMP Host Unreachable from 192.168.1.136 for ICMP Echo sent to 192.168.1.9
etc


Het is dus mogelijk om fping te compileren of een i386 binary te nemen (er van uitgaande dat je intel/amd draait), en deze in je homedir te zetten met exec rechten.

Copy.com


Verwijderd

Topicstarter
blaataaps schreef op maandag 16 oktober 2006 @ 12:53:
[...]

fping/ping gebruiken raw sockets om icmp te versturen als ik me niet vergis. Hiervoor zijn root-rechten nodig, vandaar dat de ping/fping binary's suid zijn. Je kunt fping prima compilen in je homedirectory, maar suid wordt ie nooit zonder medewerken van systeembeheer.
Je hebt helemaal gelijk. Ik heb de restrictions in de manpages verkeerd gelezen of anders geintrepeteerd.
Even terzijde, er is ook al een kant-en-klaar pakket wat doet jij wil, namelijk smokeping.
Ik zal eens kijken naar smokeping.

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
sariel schreef op maandag 16 oktober 2006 @ 13:01:
fping kan ik gewoon als user uitvoeren.

code:
1
$ fping -g 192.168.1.0/24
Dat wordt ook nergens ontkend, dat is namelijk precies het idee van suid.
dit geeft een waslijst aan zooi op m'n scherm:

code:
1
2
3
4
5
192.168.1.7 is alive
192.168.1.11 is alive
192.168.1.12 is alive
192.168.1.20 is alive
etc
Dat zal best :)
Het is dus mogelijk om fping te compileren of een i386 binary te nemen (er van uitgaande dat je intel/amd draait), en deze in je homedir te zetten met exec rechten.
Nee, dat is het niet leg ik net uit :)

[ Voor 29% gewijzigd door blaataaps op 16-10-2006 13:16 ]


Verwijderd

Topicstarter
TrailBlazer schreef op maandag 16 oktober 2006 @ 12:56:
Waarom weetje niet gewoon wat de ip adressen van je switches zijn. Die veranderen toch niet dagelijks. Als je op deze manier beheer doet moet je daar eerst maar eens over na gaan denken. Voor een discovery is dit wel aardig maar voor dagelijks beheer is dit gewoon geen ahndie methode.
Ik weet wel wat mijn ip-addressen zijn. Het is dan ook geen monitoring systeem. Het uiteindelijke script moet achterhalen of er fouten gemaakt zijn voor wat betreft beheer. Staan alle switches bijvoorbeeld wel in monitoring? Zijn de configuraties wel opgeslagen, staan de community strings wel goed enz... Het heeft dus niks met beheer te maken, maar meer met opschonen. Mensen maken nu eenmaal fouten...

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op maandag 16 oktober 2006 @ 13:01:
Ik zal eens kijken naar smokeping.
Ik zie net dat het pingen slechts de eerste stap is in je script, en dat er daarna nog inhoudelijk wat moet gebeuren met de apparatuur, smokeping is alleen een latency (en impliciet dus availability) grapher, verder niks :)

  • burne
  • Registratie: Maart 2000
  • Niet online

burne

Mine! Waah!

sariel schreef op maandag 16 oktober 2006 @ 13:01:
Het is dus mogelijk om fping te compileren of een i386 binary te nemen (er van uitgaande dat je intel/amd draait), en deze in je homedir te zetten met exec rechten.
Ik denk dat:
code:
1
2
$ ./fping 127.0.0.1/24
This program can only be run by root, or it must be setuid root.

niet is wat de TS wil als output.
code:
1
2
3
4
$ ls -la /bin/fping
-rwsr-xr-x  1 root root 22324 Jun  6  2005 /bin/fping*
$ ls -la /home/ruben/fping
-rwxr-xr-x  1 ruben ruben 22324 Oct 16 13:09 fping*

dat 's'-je in de perms maakt een berg verschil.

I don't like facts. They have a liberal bias.


Verwijderd

Topicstarter
blaataaps schreef op maandag 16 oktober 2006 @ 13:07:
[...]

Ik zie net dat het pingen slechts de eerste stap is in je script, en dat er daarna nog inhoudelijk wat moet gebeuren met de apparatuur, smokeping is alleen een latency (en impliciet dus availability) grapher, verder niks :)
Ja inderdaad.. had het net gevonden. Dat wordt dus kijken of ik dat fping kan installeren op een andere (bestaande) server en bepaalde bestanden die ik nodig heb via ssh kopieren van de ene naar die andere server. (Op die server kan ik dat misschien wel voor elkaar krijgen) Dat is namelijk het probleem. Op de server waar ik het wil draaien, staan een aantal bestanden die ik nodig heb.

Verwijderd

Topicstarter
Iedereen,

Bedankt voor de hulp. Ik zal nagaan of het mogelijk is op die andere server en anders vragen aan de beheerders van de UNIX servers of ze het voor me willen installeren en mij die rechten willen geven. Misschien kunnen zij me wel aangeven wat de mogelijkheden zijn.

nogmaals bedankt...

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 07-02 09:48

TrailBlazer

Karnemelk FTW

overigens is het veel netter om al je switches in een net management VLAN te zetten. Dus nooit gebruikers en management in een VLAN. Gevolg is dan dat je minder hoeft te scannen of er troep in je netwerk zit. Ook moeten de procedures gewoon op orde zijn. Immers je wil niet dat iemand zomaar een switch in je netwerk klust

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Misschien is het een idee om eens te kijken naar nmap, in plaats van alles te pingen?

Reageren je switches trouwens niet op het broadcast adres? bv pingen naar 192.168.1.255 ?

Please do not contact me telepathically.


Verwijderd

Topicstarter
TrailBlazer schreef op maandag 16 oktober 2006 @ 13:38:
overigens is het veel netter om al je switches in een net management VLAN te zetten. Dus nooit gebruikers en management in een VLAN. Gevolg is dan dat je minder hoeft te scannen of er troep in je netwerk zit. Ook moeten de procedures gewoon op orde zijn. Immers je wil niet dat iemand zomaar een switch in je netwerk klust
Het netwerk is opgebouwd uit meerdere /20 subnetten en binnen ieder subnet wordt er gebruik gemaakt van 2 vlans om de switches te beheren. Gebruikers kunnen er nooit en te nimmer in komen. Alleen de management systemen hebben toegang tot die switches. Tijdens het bouwen van het netwerk echter (het netwerk wordt regelmatig uitgebreid +/- 10 switches per dag) kunnen er fouten gemaakt worden. Ik ben het helemaal met je eens dat dat eigenlijk niet voor mag komen (vooral omdat we alle procedures beschreven hebben en iedereen zich daar aan zal moeten houden) , maar de praktijk leert dat mensen nogal slordig zijn. Door te controleren wat er fout gaat, hoevaak iets fout gaat en waarom iets fout gaat, kunnen we die mensen op hun kloten geven. er op aanspreken.

Dit valt echter buiten dit topic aangezien ik het niet had over de opbouw van het netwerk, maar over fping en/of het bepalen van welke ip-addresses bereikbaar zijn.

Verwijderd

Topicstarter
Squee schreef op maandag 16 oktober 2006 @ 13:43:
Misschien is het een idee om eens te kijken naar nmap, in plaats van alles te pingen?
Ik denk niet dat ik het voor elkaar krijg om een tool als nmap op een management server geinstalleerd te krijgen. Zoals ik in een vorige post ook aangaf. alleen de management servers hebben toegang tot de switches. Vanaf mijn werkstation kan ik niet direct de netwerken benaderen. En al was dat wel mogelijk ik kan geen software installeren op mijn werkstation.
Reageren je switches trouwens niet op het broadcast adres? bv pingen naar 192.168.1.255 ?
Ik ben het op dit moment aan het proberen op een /24 subnet op mijn eigen netwerk. Ik vraag me alleen af hoe betrouwbaar dit is. Het zou natuurlijk een goede optie zijn als broadcast ping ook ondersteund wordt op de unix machines op het werk.

edit: Het pingen gaat niet naar een broadcast address. Zal het morgen eens proberen op het werk.

[ Voor 5% gewijzigd door Verwijderd op 16-10-2006 14:15 ]


  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Verwijderd schreef op maandag 16 oktober 2006 @ 14:04:
Ik denk niet dat ik het voor elkaar krijg om een tool als nmap op een management server geinstalleerd te krijgen. Zoals ik in een vorige post ook aangaf. alleen de management servers hebben toegang tot de switches. Vanaf mijn werkstation kan ik niet direct de netwerken benaderen. En al was dat wel mogelijk ik kan geen software installeren op mijn werkstation.
nmap -sP kan je gewoon draaien als normale user in ieder geval, je hebt niet voor alle dingen root rechten nodig.
Verwijderd schreef op maandag 16 oktober 2006 @ 14:04:
Ik ben het op dit moment aan het proberen op een /24 subnet op mijn eigen netwerk. Ik vraag me alleen af hoe betrouwbaar dit is. Het zou natuurlijk een goede optie zijn als broadcast ping ook ondersteund wordt op de unix machines op het werk.

edit: Het pingen gaat niet naar een broadcast address. Zal het morgen eens proberen op het werk.
Sommige versies van ping moet je ping -b doen, overigens reageren Windows machines niet op broadcast pings staat me zo bij.

Please do not contact me telepathically.


Verwijderd

Topicstarter
Squee schreef op maandag 16 oktober 2006 @ 14:20:
[...]


nmap -sP kan je gewoon draaien als normale user in ieder geval, je hebt niet voor alle dingen root rechten nodig.
Ik zal er eens naar kijken. (Moet helaas nu wat anders doen.. huishoudelijke verplichtingen). Het moet wel duidelijk zijn, dat ik dit gewoon kan plaatsen op mijn eigen server space en kan uitvoeren en dat ik er geen problemen mee kan krijgen..;-)
[...]


Sommige versies van ping moet je ping -b doen, overigens reageren Windows machines niet op broadcast pings staat me zo bij.
ja.. moest ping 192.168.1.255 -b doen. Het werkte alleen niet. Geen output en ik heb niet alleen windows machines hier staan.

  • burne
  • Registratie: Maart 2000
  • Niet online

burne

Mine! Waah!

Squee schreef op maandag 16 oktober 2006 @ 14:20:
nmap -sP kan je gewoon draaien als normale user in ieder geval, je hebt niet voor alle dingen root rechten nodig.
Dat je een binary als een zekere user kunt draaien zegt niets. fping moet SUID root zijn om raw sockets aan te kunnen spreken. Zonder raw sockets moet je een andere interface (API) gebruiken om te pingen, en zit je met nogal wat beperkingen en kun je geen pings doen met iets anders dan de standaard-opties. nmap -sP 10.0.0.0/8 duurt dan ook een eeuwigheid, terwijl fping 10.0.0.0/8 veel sneller is. Precies vanwege die rootrechten.

UID root of SUID root bepaalt hoe je met het OS omgaat, en niet of je wel of niet een programma mag draaien.

I don't like facts. They have a liberal bias.


  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
burne schreef op maandag 16 oktober 2006 @ 23:45:
Dat je een binary als een zekere user kunt draaien zegt niets. fping moet SUID root zijn om raw sockets aan te kunnen spreken. Zonder raw sockets moet je een andere interface (API) gebruiken om te pingen, en zit je met nogal wat beperkingen en kun je geen pings doen met iets anders dan de standaard-opties. nmap -sP 10.0.0.0/8 duurt dan ook een eeuwigheid, terwijl fping 10.0.0.0/8 veel sneller is. Precies vanwege die rootrechten.

UID root of SUID root bepaalt hoe je met het OS omgaat, en niet of je wel of niet een programma mag draaien.
Ik bedoelde dat je de -sP optie kan gebruiken als normale user, zonder root te hoeven zijn... in tegenstelling tot de -sS TCP SYN scan bijvoorbeeld... de executable is dus niet SUID root.

Please do not contact me telepathically.

Pagina: 1