GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi per conoscere un sistema sconosciuto

una domanda a duplice uso! O un archeologo del software o un malvagio hacker potrebbero usare le risposte a questa domanda! Ora, chi sono io?

Usavo sempre ps -ef contro ps -augxww per scoprire cosa stavo facendo. Le scatole Linux e System V tendevano ad apprezzare "-ef" e l'errore su "-augxww", viceversa per BSD e vecchie macchine SunOS. L'output di ps può anche farti sapere molto.

Se puoi accedere come root ed è una macchina Linux, dovresti eseguire lsusb e lspci - questo ti porterà all'80% della strada per sapere qual è la situazione dell'hardware. dmesg | more può aiutarti a capire qualsiasi problema attuale su qualsiasi cosa.

Sta iniziando a essere gradualmente eliminato, ma sta facendo ifconfig -a di solito può dirti molto sulle interfacce di rete e sul networking. Esecuzione di mii-tool e/o ethtool sulle interfacce che vedi in ifconfig l'output che assomiglia a una rete Ethernet cablata può darti anche alcune informazioni.

Correndo ip route o netstat -r può essere informativo sull'instradamento del protocollo Internet e forse qualcosa sulle interfacce di rete in uso.

Un mount l'invocazione può informarti sui dischi e su come sono montati.

Esecuzione di uptime , quindi last | more può dirti qualcosa sullo stato attuale della manutenzione. Tempi di attività di oltre 100 giorni probabilmente significano "è ora di cambiare l'olio e i fluidi", metaforicamente parlando. Esecuzione di who è anche

Guardando /etc/resolv.conf e /etc/hosts può parlarti della configurazione DNS di quella macchina. Forse fai nslookup google.com o dig bing.com per vedere se il DNS funziona principalmente.

Vale sempre la pena osservare quali errori ("command not found") e quali varianti di comandi ("ps -ef" vs "ps augxww") funzionano per determinare su quale variante di Unix o Linux o BSD sei appena finito.

La presenza o l'assenza di un compilatore C e dove vive è importante. Esegui which cc o meglio, which -a cc per trovarli.


cat /etc/*release* è un bel comando per avere una panoramica di quale distro è in esecuzione.


http://bhami.com/rosetta.html potrebbe essere utile da rivedere, altrimenti di solito frugo sotto /etc (account, roba init, accenni al sistema operativo, ecc.) e crontab -l e guarda attraverso il ps elenco di cose da imparare.

Anche "come root" è super spaventoso, dato che ho dovuto sistemare i sistemi in cui un amministratore Linux che esegue un'indagine del genere ha impostato tutti i nomi host di Solaris su -f .

Anche df è un comando pericoloso, un ottimo modo per oh whoops appeso al blocco dell'I/O. Quindi non eseguirlo mai finché non hai almeno esaminato i montaggi o sai che puoi aprire un'altra sessione in qualche modo.

Usa comandi molto semplici (uname , cd /etc; ls , cat , $PAGER ) fino a quando non capisci qual è l'host e, se non lo conosci, controlla una rosetta o leggi sempre la pagina man prima di presumere che qualche comando o flag a un comando faccia quello che fa sui sistemi più popolari.


Linux
  1. Qual è l'attuale runlevel del sistema Linux?

  2. Comandi di pianificazione per inattività del sistema?

  3. Cosa c'è di vulnerabile in questo codice C?

  4. Come imparare gli interni del sistema Linux

  5. Cos'è uno spazio dei nomi UTS?

Cos'è Git Bash; Lavorare con i comandi Git Bash

Tutto sui demoni in Linux

PacVim – Un gioco CLI per imparare i comandi Vim

50 comandi essenziali di Nmap per gli amministratori di sistema

Che cos'è il file system Linux? Guida facile

SystemD - A cosa serve SystemD?