une question à double usage ! Un archéologue logiciel ou un pirate maléfique pourrait utiliser les réponses à cette question ! Maintenant, qui suis-je ?
J'ai toujours utilisé ps -ef
contre ps -augxww
pour savoir sur quoi j'étais. Les boîtes Linux et System V avaient tendance à aimer "-ef" et erreur sur "-augxww", vice versa pour BSD et les anciennes machines SunOS. La sortie de ps
peut également vous en dire beaucoup.
Si vous pouvez vous connecter en tant que root et que c'est une machine Linux, vous devez faire lsusb
et lspci
- cela vous permettra d'atteindre 80 % du chemin vers la connaissance de la situation matérielle. dmesg | more
peut vous aider à comprendre les problèmes actuels sur à peu près n'importe quoi.
Il commence à être supprimé, mais fait ifconfig -a
peut généralement vous en dire beaucoup sur les interfaces réseau et la mise en réseau. Exécution de mii-tool
et/ou ethtool
sur les interfaces que vous voyez dans ifconfig
une sortie qui ressemble à un câble Ethernet peut également vous donner des informations.
Exécuter ip route
ou netstat -r
peut être instructif sur le routage du protocole Internet, et peut-être quelque chose sur les interfaces réseau en cours d'utilisation.
Un mount
l'invocation peut vous renseigner sur le(s) disque(s) et comment ils sont montés.
Exécution de uptime
, puis last | more
peut vous dire quelque chose sur l'état actuel de la maintenance. Des temps de disponibilité de plus de 100 jours signifient probablement "il est temps de changer l'huile et les fluides", métaphoriquement parlant. Exécution de who
est aussi
En regardant /etc/resolv.conf
et /etc/hosts
peut vous renseigner sur la configuration DNS de cette machine. Peut-être faire nslookup google.com
ou dig bing.com
pour voir si le DNS est principalement fonctionnel.
Il vaut toujours la peine de regarder quelles erreurs ("commande introuvable") et quelles variantes de commandes ("ps -ef" vs "ps augxww") fonctionnent pour déterminer sur quelle variante d'Unix ou Linux ou BSD vous venez de vous retrouver.
La présence ou l'absence d'un compilateur C et son emplacement sont importants. Faites which cc
ou mieux, which -a cc
pour les trouver.
cat /etc/*release*
est une commande intéressante pour avoir un aperçu de la distribution en cours d'exécution.
http://bhami.com/rosetta.html pourrait être utile pour passer en revue, sinon je fouille généralement sous /etc
(comptes, trucs d'initialisation, allusions à la saveur du système d'exploitation, etc.) et crontab -l
et regardez à travers le ps
liste des choses à apprendre.
De plus, "en tant que root" est super effrayant, car j'ai dû réparer des systèmes où un administrateur Linux effectuant une telle enquête a défini tous les noms d'hôte Solaris sur -f
.
Aussi df
est une commande dangereuse, un excellent moyen de bloquer les E/S. Donc, n'exécutez jamais cela tant que vous n'avez pas au moins étudié les montures ou que vous ne savez pas que vous pouvez ouvrir une autre session d'une manière ou d'une autre.
Utilisez des commandes très simples (uname
, cd /etc; ls
, cat
, $PAGER
) jusqu'à ce que vous trouviez ce qu'est l'hôte, et si vous ne le connaissez pas, vérifiez une rosette ou lisez toujours la page de manuel avant de supposer qu'une commande ou un indicateur indique qu'une commande fait ce qu'elle fait sur des systèmes plus populaires.