Vous vous connectez à un système UNIX ou Linux inconnu (en tant que root). Quelles commandes exécutez-vous pour vous orienter et déterminer sur quel type de système vous vous trouvez? Comment déterminez-vous quel type de matériel est utilisé, quel type de système d'exploitation est en cours d'exécution et quelle est la situation actuelle en matière d'autorisations et de sécurité?
Quelle est la première et la deuxième commande que vous tapez?
linux
shell
command-line
root
Alexandre
la source
la source
uname -a
alorsapropos whatever
est votre ami.nmap -A -T4 localhost
pourrait également vous donner des informations utilesnmap
marteau, j'ailocalhost
soudain ressemblé à un clou. Mais j'ai réalisé que cela donnait en fait des informations intéressantes, alors je l'ai laissé comme une suggestion semi-sérieuse.Réponses:
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'utilisais toujours
ps -ef
versusps -augxww
pour savoir sur quoi j'étais. Les boîtes Linux et System V avaient tendance à aimer "-ef" et les erreurs sur "-augxww", vice versa pour BSD et les anciennes machines SunOS. La sortie deps
peut également vous en savoir beaucoup.Si vous pouvez vous connecter en tant que root, et que c'est une machine Linux, vous devriez le faire
lsusb
etlspci
- cela vous permettra de connaître à 80% la situation matérielle.dmesg | more
peut vous aider à comprendre les problèmes actuels sur à peu près n'importe quoi.Cela commence à disparaître, mais faire
ifconfig -a
peut généralement vous en dire beaucoup sur les interfaces réseau et la mise en réseau. L'exécutionmii-tool
et / ouethtool
les interfaces que vous voyez dans lesifconfig
sorties qui ressemblent à Ethernet câblé peuvent également vous donner des informations.Runnin
ip route
ounetstat -r
peut être informatif sur le routage du protocole Internet, et peut-être quelque chose sur les interfaces réseau en cours d'utilisation.Une
mount
invocation peut vous renseigner sur les disques et leur montage.En cours d'exécution
uptime
, puislast | more
peut vous dire quelque chose sur l'état actuel de la maintenance. Une disponibilité de plus de 100 jours signifie probablement "qu'il est temps de changer l'huile et les fluides", métaphoriquement. La coursewho
c'est aussiEn regardant
/etc/resolv.conf
et/etc/hosts
peut vous parler de la configuration DNS de cette machine. Peut-être fairenslookup google.com
oudig bing.com
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.la source
netstat -tulpanw
pour plus de sortie mais c'est vraiment une question de goût.lshw
sous Linux.mount
est en désordre,findmnt
est très propre à la place.cat /etc/*release*
est une commande intéressante pour obtenir une vue d'ensemble de la distribution en cours d'exécution.la source
http://bhami.com/rosetta.html pourrait être pratique à examiner, sinon je fouille généralement sous
/etc
(comptes, trucs d'init, conseils de saveur de système d'exploitation, etc.) et jecrontab -l
regarde dans laps
liste des choses à apprendre."En tant que root" est aussi très 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
-f
.Est également
df
une commande dangereuse, un excellent moyen de oh oh whoops accroché au blocage des E / S. Alors ne lancez jamais cela avant d'avoir au moins étudié les montures, ou sachez 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 avez compris ce que l'hôte est, et si vous ne connaissez pas, vérifiez un rosetta ou toujours lire la page de manuel avant de prendre une commande ou d'un drapeau à une commande fait ce qu'il fait sur systèmes plus populaires.la source
df
dangereux? Existe-t-il des systèmes où il fait autre chose que d'afficher l'utilisation du système de fichiers?df
bloque alors vous venez de le CTRL-Z etkill -9
il. J'ai également rencontré ce problème et cela a toujours fonctionné pour moi. De plus, idéalement, vos supports ne devraient pas être suspendus. Je ne pense pas non plus que beaucoup de gens considèrent les programmes suspendus comme "dangereux", c'est pourquoi je pense que terdon était confus.dmidecode
etlspci
vous donnera généralement une bonne idée de la nature du matériel exécuté sur le système. S'il s'agit d'un serveur en cours d'exécutionnetstat -tlpn
, le but du serveur sera dévoilé.df -hP
est une bonne commande pour vérifier le stockage actuel sur le système.lsb_release -a
devrait vous faire savoir sur quelle distribution vous êtes:La course
last
devrait vous permettre de savoir qui utilise le système. En supposant que vous ayez accédé à ce serveur légitimement, vous pouvez souvent demander à l'une des personnes qui s'y connectent plus d'informations à ce sujet.Pour les vérifications de sécurité neutres du fournisseur: il arrive souvent que le pare-feu ait des données de configuration uniques, il
iptables -nvL
est donc utile d' exécuter un . Vous devriez également vérifier les fichiers de configuration pam de votre distribution pour voir si vous n'utilisez que des utilisateurs locaux ou si vous êtes configuré pour utiliser ldap / kerberos / winbind / sssd / peu importe.Vous pouvez également inspecter la configuration des services qui apparaissent dans votre
netstat -tlpn
. Par exemple, si vous voyez apache, vous pouvez regarder/etc/http/conf/httpd.conf
(sur RHEL,/etc/apache2
sur Ubuntu) et essayer de voir quels sites Web fonctionnent. Vous pouvez également effectuer uneapachectl -S
pour obtenir une liste de tous les hôtes virtuels configurés. Il sorte de fans à partir de là, donc tout ce que je peux vraiment faire est d'offrir apache comme exemple et juste dire de vérifier la configuration du démon si c'est autre chose.Sur RHEL, je vérifierais également
rpm -qa --last | head
pour voir quand la dernière fois qu'ils ont fait des mises à jour du système. Je vérifierais également si SELinux est activé viagetenforce
la source
Quelques autres idées:
/proc
système de fichiers peut indiquer si vous êtes sur Mac , FreeBSD ou Linux.ls /usr/bin | grep 'apt\|yum\|pacman'
netstat -tulpan
. Le pourrait êtresshd
, serveur web,ftp
;la source
yum
paquet. Comment la présence d'un serveur ssh indiquerait-elle le système? AFAIK, vous pouvez trouversshd
à peu près n'importe quoi.