unhide et machine chargée

Le
François Boisson
Bonjour la liste,

Me disant qu'il serait temps d'être moderne, j'ai mis à jour un serveur de
etch vers lenny (on verra pour squeeze plus tard).

C'est un FitPC avec un processeur Geode à 500MHz, autrement dit pas une bête
de course.

Depuis longtemps, j'utilise en tache de fond un programme perso conçue avec
l'aide de cette liste

cf http://lists.debian.org/debian-user-french/2003/12/msg01427.html

pour la genèse de ce programme.

Depuis unhide est apparu. Je connais 3 méthodes pour trouver des processus
cachés:

Méthode 1 (initiale et qu'utilise cacheproc):
Pour i de 1 à 65535 test de l'existence /proc/$i et vérification pour savoir
si /proc/$i est visible.

Méthode 2:
Pour i allant de 1 à 65536, création d'un processus par fork et récupération
du PID, celui ci est donc un numéro libre. Tous les $PID non obtenus sont des
processus qui doivent exister. Test de cette existence.

Méthode 3:
Idem mais en utilisant les threads.

La deuxième et la troisième méthode construisent une table puis vérifient
l'existence des processus. Tout processus terminant entre temps fait un faux
positif.

Y-a-t-il des différences entre ces 3 méthodes dans les résultats attendus
(dans un cadre idéal)?

Sur ma machine (peu puissante), j'ai parfois une centaine de faux positif par
unhide. J'ai donc patché le source pour que 2 tables de processus suspects soit
gérées, un processus fugitif figurera dans une table mais pas dans l'autre.
Le source est disponible ici
http://boisson.homeip.net/unhide-linux26.c


François Boisson

PS: Le risque existe également pour cacheproc de trouver des faux positifs, et
le passage à lenny a multiplié l'existence de ceux ci (je pense à cause
de la généralisation de l'utilisation des threads). Une version modifiée de
cacheproc améliore les choses en diminuant le nombre de faux positifs.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20110423122833.4d21ed18.user.anti-spam@maison.homelinux.net
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
nicolas.patrois
Le #23305411
Le 23/04/2011 12:28:33, François Boisson a écrit :

Le source est disponible ici
http://boisson.homeip.net/unhide-linux26.c



Bonjour,

J'ai essayé de le compiler mais gcc râle :

gcc unhide-linux26.c
/tmp/ccYhtOTE.o: In function `brute':
unhide-linux26.c:(.text+0x12d9): undefined reference to
`pthread_create'
unhide-linux26.c:(.text+0x130c): undefined reference to `pthread_join'
unhide-linux26.c:(.text+0x1389): undefined reference to
`pthread_create'
unhide-linux26.c:(.text+0x13bc): undefined reference to `pthread_join'
collect2: ld returned 1 exit status

Ça doit être dans le paquet libc6-dev, qui est installé, qui contient
bien pthread.h, qui lui-même a bien les deux fonctions incriminées.
Où est le lièvre ?

nicolas patrois : pts noir asocial
--
RÉALISME

M : Qu'est-ce qu'il nous faudrait pour qu'on nous considère comme des
humains ? Un cerveau plus gros ?
P : Non... Une carte bleue suffirait...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Basile Starynkevitch
Le #23305401
On Sat, 23 Apr 2011 16:04:50 +0200
wrote:

Le 23/04/2011 12:28:33, François Boisson a écrit :

> Le source est disponible ici
> http://boisson.homeip.net/unhide-linux26.c

Bonjour,

J'ai essayé de le compiler mais gcc râle :

gcc unhide-linux26.c
/tmp/ccYhtOTE.o: In function `brute':
unhide-linux26.c:(.text+0x12d9): undefined reference to
`pthread_create'



Il faudrait plutôt compiler avec
gcc -Wall -O2 -pthread unhide-linux2.6 -lpthread -o unhide



--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Basile Starynkevitch
Le #23305421
On Sat, 23 Apr 2011 16:25:29 +0200
Basile Starynkevitch
On Sat, 23 Apr 2011 16:04:50 +0200
wrote:

> Le 23/04/2011 12:28:33, François Boisson a écrit :
>
> > Le source est disponible ici
> > http://boisson.homeip.net/unhide-linux26.c

Il faudrait plutôt compiler avec
gcc -Wall -O2 -pthread unhide-linux2.6 -lpthread -o unhide



Désolé, je voulais dire
gcc -Wall -O2 -pthread unhide-linux26.c -lpthread -o unhide

avec gcc-4.6 j'obtiens des warnings, notamment
unhide-linux26.c: In function 'checksched_rr_get_interval':
unhide-linux26.c:471:7: warning: variable 'ret' set but not used [-Wunused- but-set-variable]
unhide-linux26.c: In function 'checkkill':
unhide-linux26.c:502:7: warning: variable 'ret' set but not used [-Wunused- but-set-variable]
et d'autres

Mais le programme obtenu ./unhide donne l'impression de marcher

Cordialement
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
François Boisson
Le #23305451
Le Sat, 23 Apr 2011 16:04:50 +0200
a écrit:

Le 23/04/2011 12:28:33, François Boisson a écrit :

> Le source est disponible ici
> http://boisson.homeip.net/unhide-linux26.c

Bonjour,

J'ai essayé de le compiler mais gcc râle :



gcc -Wall --static -pthread unhide-linux26.c -o unhide-linux26

Permet de compiler le programme.

François Boisson

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
nicolas.patrois
Le #23305561
Le 23/04/2011 17:01:07, François Boisson a écrit :

gcc -Wall --static -pthread unhide-linux26.c -o unhide-linux26



Merci, c'est bien ça.

nicolas patrois : pts noir asocial
--
RÉALISME

M : Qu'est-ce qu'il nous faudrait pour qu'on nous considère comme des
humains ? Un cerveau plus gros ?
P : Non... Une carte bleue suffirait...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Publicité
Poster une réponse
Anonyme