Вы входите в незнакомую систему UNIX или Linux (с правами root). Какие команды вы запускаете, чтобы ориентироваться и выяснить, на какой системе вы работаете? Как определить, какое оборудование используется, какая операционная система работает и какова текущая ситуация с разрешениями и безопасностью?
Какую первую и вторую команду вы вводите?
linux
shell
command-line
root
Александр
источник
источник
uname -a
тогдаapropos whatever
твой друг.nmap -A -T4 localhost
мог бы также дать вам некоторую полезную информациюnmap
молоток,localhost
внезапно выглядел как гвоздь. Но потом я понял, что это действительно дает некоторую интересную информацию, поэтому я оставил это как полусерьезное предложение.Ответы:
вопрос двойного назначения! Либо программный археолог, либо злой хакер могут использовать ответы на этот вопрос! Теперь, кто я?
Я всегда использовал
ps -ef
против,ps -augxww
чтобы узнать, что я был на. Блоки Linux и System V имели тенденцию напоминать «-ef» и «error» в «-augxww», и наоборот, для BSD и старых машин SunOS. Выводps
может дать вам знать много.Если вы можете войти в систему под корень, и это машина Linux, вы должны сделать ,
lsusb
иlspci
- что попадется вам 80% от пути к зная , что ситуация с аппаратной частью.dmesg | more
может помочь вам понять любые текущие проблемы по любому поводу.Это постепенно прекращается, но,
ifconfig -a
как правило , работа может многое рассказать вам о сетевых интерфейсах и сетях. Запускmii-tool
и / илиethtool
интерфейсы, которые вы видите вifconfig
выходных данных, которые выглядят как кабельные локальные сети, также могут дать вам некоторую информацию.Runnin
ip route
илиnetstat -r
может быть информативным о маршрутизации интернет-протокола и, возможно, что-то об используемых сетевых интерфейсах.mount
Вызов может сказать вам о диске (ах) , и как они установлены.Запуск
uptime
, а затемlast | more
может рассказать вам кое-что о текущем состоянии обслуживания. Время простоя более 100 дней, вероятно, означает «пора менять масло и жидкости», образно говоря. Бегwho
тожеГлядя
/etc/resolv.conf
и/etc/hosts
могу рассказать вам о настройке DNS этой машины. Может быть, сделатьnslookup google.com
илиdig bing.com
посмотреть, если DNS в основном работает.Всегда стоит посмотреть, какие ошибки («команда не найдена») и какие варианты команд («ps -ef» против «ps augxww») работают, чтобы определить, какой вариант Unix, Linux или BSD вы только что выбрали.
Наличие или отсутствие компилятора C, и где он живет, очень важно. Делай
which cc
или лучше,which -a cc
чтобы найти их.источник
netstat -tulpanw
больше продукции, но это действительно вопрос вкуса.lshw
под Linux.mount
грязный,findmnt
очень чистый вместо этого.cat /etc/*release*
хорошая команда для получения обзора того, какой дистрибутив работает.источник
http://bhami.com/rosetta.html может быть удобен для просмотра, в противном случае я обычно подыскиваю раздел
/etc
(учетные записи, материалы для инициализации, подсказки об особенностях ОС и т. д.)crontab -l
и просматриваюps
список, чтобы узнать о нем.Также «как root» очень страшно, так как мне приходилось исправлять системы, в которых администратор Linux, проводящий такое исследование, устанавливал все имена хостов Solaris
-f
.Также
df
это опасная команда, отличный способ ой ой, зависший при блокировке ввода / вывода. Так что никогда не запускайте это, пока вы, по крайней мере, не исследуете монтирования или не узнаете, что можете как-то открыть другой сеанс.Используйте очень простые команды (
uname
,cd /etc; ls
,cat
,$PAGER
) , пока вы не выяснить , что хозяин, и если вы не знакомы с ним, проверить Rosetta или всегда прочитать страницу человека прежде , чем принять какую - либо команду или флаг команды делает то , что он делает на более популярные системы.источник
df
опасно? Существуют ли системы, в которых он делает что-то кроме показа использования файловой системы?df
виснет то просто CTRL-Z это иkill -9
оно. Я столкнулся с этой проблемой, и это всегда работало для меня. Кроме того, в идеале ваши крепления не должны быть подвешены. Я также не думаю, что многие люди думают о программах, висящих как «опасные», поэтому я думаю, что Тердон был сбит с толку.dmidecode
иlspci
, как правило, дает вам хорошее представление о том, какое оборудование работает в системе. Если это сервер, который обычно работает,netstat -tlpn
он отдаст назначение сервера.df -hP
хорошая команда для проверки текущего хранилища в системе.lsb_release -a
должен сообщить вам, в каком дистрибутиве вы находитесь:Запуск
last
должен дать вам знать, кто использует систему. Предполагая, что вы получили доступ к этому серверу законно, часто вы можете просто попросить одного из людей, которые заходят на него, для получения дополнительной информации о нем.Для нейтральных проверок безопасности поставщика: часто брандмауэр будет иметь уникальные данные конфигурации, поэтому
iptables -nvL
полезно использовать a . Вам также следует проверить конфигурационные файлы pam вашего дистрибутива, чтобы узнать, используете ли вы только локальных пользователей или настроены ли вы для использования ldap / kerberos / winbind / sssd / что угодно.Вы также можете проверить конфигурацию сервисов, которые появляются у вас
netstat -tlpn
. Например, если вы видите apache, вы можете посмотреть/etc/http/conf/httpd.conf
(на RHEL,/etc/apache2
на Ubuntu) и попытаться увидеть, какие сайты работают. В качестве альтернативы вы можете сделать,apachectl -S
чтобы получить список всех настроенных виртуальных хостов. Отчасти это похоже на фанатов, поэтому все, что я могу на самом деле сделать, это предложить apache в качестве примера и просто сказать, чтобы проверить конфигурацию демона, если это что-то еще.На RHEL я бы также проверил,
rpm -qa --last | head
когда в последний раз они делали системные обновления. Я также проверил бы, включен ли SELinux черезgetenforce
источник
Несколько других идей:
/proc
файловой системы может указывать, используете ли вы Mac , FreeBSD или Linux.ls /usr/bin | grep 'apt\|yum\|pacman'
netstat -tulpan
. Может бытьsshd
, веб - сервер,ftp
;источник
yum
пакет. Как присутствие сервера SSH будет указывать на систему? AFAIK вы можете найтиsshd
на что угодно.