Je teste le noyau Linux sur un dispositif intégré et souhaitez trouver des situations / des scénarios dans lesquels le noyau Linux émettrait des paniques. P>
Pouvez-vous suggérer des étapes de test (manuel ou code automatisé) pour créer des paniques de noyau? P>
3 Réponses :
Il existe une variété d'outils que vous pouvez utiliser pour essayer de planter votre machine: p>
Crashme tente d'exécuter du code aléatoire; Ceci est bon pour tester le code de cycle de vie du processus. P>
FSX est un outil pour essayer d'exercer largement le code du système de fichiers; C'est bon pour tester les pilotes, bloquer le code IO et le code du système de fichiers. P>
the projet de test Linux vise à créer un grand référentiel de cas de test de noyau; Il pourrait ne pas être conçu avec les systèmes em> les systèmes em> en particulier, mais cela peut contribuer à vous aider à vous aider et à garder tout ce qui fonctionne comme prévu. (Notez que le LTP n'est pas proscriptif em> - la communauté des noyaux ne traite pas leurs tests comme quelque chose d'important - mais l'équipe LTP tente très difficile d'être descriptives em> à propos de ce que le noyau fait et ne fait pas.) p>
Si votre appareil est connecté au réseau, vous pouvez exécuter NMAP contre elle, en utilisant une variété d'options de numérisation: < code> -sv --version-tout code> essaiera de trouver des versions de tous les services en cours d'exécution (cela peut être stressant), Le Nessus Tool de numérisation fait également une identification de la version des services de fonctionnement; Cela peut ou non offrir aucune amélioration sur NMAP, cependant. P>
Vous pouvez également remettre votre appareil aux utilisateurs; Ils comprennent les activités les plus folles à faire avec des logiciels, ils repéreront des bugs que vous ne pensez même jamais à rechercher. :) p> -O -SCAN-Devinez code> tentera de déterminer le système d'exploitation en jetant des paquets de réseau étranges sur la machine et en devinant par des réponses ce que la sortie est. P>
Merci, ceci est utile. Mais comment puis-je comprendre le O / P de Crashme et FSX? Existe-t-il une documentation sur la manière de comprendre la production de ces programmes?
Subbrocess 59: Got Signal 4 Instructions illégales Subgrocess 59: Subgrocess 59: Essayez 15, Badboy à 108472. 0x1A7B8 Subbecrocess 59: Signal de la segmentation Signal de la Segmentation Subgrocess 59: Essayez 16, Badboy à 110480. 0x1Af90 Subprocess 59: Signal 4 Instruction illégale Subgrocess 59: Subbrocess 59: Essayez 17, Badboy à 112488. 0x1b768 Subgrocessation 59: Signal 4: Sous-presse ecran clandestine 59: Essayez 18, Badboy à 114496. 0x1bf40 Subprocess 59: Signal 11 Violation de la segmentation Subgrocess 59: Grandes
@ABC, tous ceux qui ressemblent à des mécanismes différents pour cracer le noyau; Vous n'avez probablement besoin que d'enquêter sur la sortie lorsque le noyau commence à se comporter mal - les messages de diagnostic sont de vous aider à déterminer quelle séquence spécifique d'instructions a tué le noyau.
Vous pouvez essayer de suivre la combinaison de touches suivante p>
sysrq kbd> + C kbd> p>
ou p>
echo c> / proc / sysrq-déclencheur p>
blockQuote>
C'est la meilleure approche. Merci. Voici plus de détails: accès.redhat.com/documentation/en-us/red_hat_enterprise_lin ux / ...
Crashme a été connu pour trouver des situations de panique de noyau inconnu, mais elle doit être exécutée de manière puissante qui crée une variété d'exceptions de signaux traitées dans le processus et une variété de conditions de sortie de processus. p>
L'objectif principal des messages générés par Crashme est de déterminer si des choses suffisamment intéressantes se produisent pour indiquer une puissance possible. Par exemple, si l'appel code> MProtect code> est nécessaire pour autoriser la mémoire allouée avec Il semble que les systèmes d'exploitation sur les architectures x64 ont tendance à être éteints pour les segments de données. Récemment, j'ai mis à jour le crashme.c sur http://crashme.codeplex.com/ à utiliser malloc code> à exécuter comme instructions, et si vous n'avez pas le
mprotect code > Activé dans le code source Crashme.ca pour votre plate-forme, puis Crashme est impuissant. p>
MProtect code> en cas de
__ Apple __ code> et l'a testé sur un MacBook Pro exécutant Mac OS X Lion. Ceci est la première mise à jour sérieuse à Crashme depuis 1994. Attendez-vous à la mise à jour des CENTOS et FreeBSD Soutien bientôt. P>
S'il y avait un moyen fiable de créer des paniques de noyau que n'a pas i> impliquent l'injection de code de panique dans le noyau, j'espère que ce bogue serait fixé à un moment donné.
Je débranchais le stockage avec l'appareil.