Bonjour a tous. Un copain jouait a un jeu nommé "street hacker" il y a peu, et dans ce jeu,
il utilisait une fonction ip_scan ou un truc comme ça, qui detectait les hosts up.
Dans le jeu, ça prenait des plombes, et moi je dis qu'il y a moyen de le faire plus rapidement.
J'ai donc commencé le script :
Code :
- #!/bin/sh
- #ip_finder ip_scan v0.1
- ip1="192"
- ip2="168"
- ip3="1"
- ip4="1"
- while [ $ip4 -lt 255 ]
- do
- echo "$ip4"
- ip_host="$ip1.$ip2.$ip3.$ip4";
- cmd_ping="ping -q -w 1 -c 1 $ip_host"
- $cmd_ping > /dev/null && echo "$ip_host" >> hosts_up
- #$cmd_ping > /dev/null && echo "$ip_host" >>hosts_up || echo "$ip_host" >>hosts_down
- #incrementation de la variable dans la boucle
- ip4=`expr $ip4 + 1`;
- done
|
C'est juste une premiere version (0.1 ) donc, forcement, ce n'est ni particulierement beau, ni
tres poussé ou quoi que ce soit d'autre...
Mais je me disais que pour accelerer le traitement, il faudrait faire des parties de la boucle en paralelle.
J'ai pensé a la utiliser l'operateur &, mais je me demandais si il n'y avait pas une façon de faire des sortes
de threads en scrip shell...
Connaissez vous un moyen simple de faire quelquechose qui ressemblerait à un fork() en scrip shell?
de cette maniere, je pourrais scinder ma boucle en N traitements parallelles...
merci d'avance!
(Ps : non, je ne suis pas un Kevin qui veut jouer le script kiddie comme dans un jeu
c'est juste un truc que j'ai décidé de faire comme ça, pour reprendre le script shell...
et dans cette optique, n'importe quel exo est interessant ^^)
---------------
http://www.core-tx.com