Bilmediğiniz bir sistemi öğrenme komutları [kapalı]


19

Bilmediğiniz bir UNIX veya Linux sistemine (root olarak) giriş yaparsınız. Kendinizi yönlendirmek ve ne tür bir sistemde olduğunuzu anlamak için hangi komutları çalıştırıyorsunuz? Ne tür bir donanımın kullanıldığını, hangi işletim sistemi türünün çalıştığını ve izinler ve güvenlik söz konusu olduğunda mevcut durumun nasıl olduğunu nasıl anlarsınız?

Yazdığınız ilk ve ikinci komut nedir?


3
Kullanacağım uname -ao apropos whatever zaman senin arkadaşın.
fd0

1
nmap -A -T4 localhostayrıca bazı yararlı bilgiler verebilir
seumasmac

@seumasmac netstat yerel makineye dokunmaktan daha iyi ve daha verimli olacaktır.
André Borie

@ AndréBorie nmap ve netstat oldukça farklı sonuçlar verir. Bu nedenle onları verimlilikle (ne türden olursa olsun) karşılaştırmak pek mantıklı değil.
moooeeeep

@ AndréBorie Başlangıçta bunun sonuna bir :) koymayı planlamıştım. Kendi makineleri üzerinde güvenlik denetimi ve benim tutarken etmişti nmapçekiç localhostaniden bir çivi gibi görünüyordu. Ama sonra bunun bazı ilginç bilgiler verdiğini fark ettim, bu yüzden yarı ciddi bir öneri olarak bıraktım.
seumasmac

Yanıtlar:


22

çift ​​kullanımlı bir soru! Bir Yazılım Arkeologu ya da Kötü Bir Hacker bu sorunun cevaplarını kullanabilir! Şimdi, ben neyim?

Ne yaptığımı öğrenmek için her zaman ps -efkarşısındakini ps -augxwwkullanırdım. Linux ve System V kutuları "-ef" ve "-augxww" üzerinde hata yapma eğilimindeydi, BSD ve eski SunOS makineleri için tersi. Çıktısı da pssize çok şey bildirebilir.

Kök olarak oturum açabiliyorsanız ve bu bir Linux makinesiyse, yapmalısınız lsusbve lspcibu size donanım durumunun ne olduğunu bilmenin% 80'ini sağlayacaktır. dmesg | morehemen hemen her konuda mevcut sorunları anlamanıza yardımcı olabilir.

Bu aşamalı olarak kaldırılmaya başlıyor, ancak yapmak ifconfig -agenellikle ağ arayüzleri ve ağ hakkında çok şey söyleyebilir. Koşu mii-toolve / veya ethtoolsize gördüğünüz arayüzleri üzerinde ifconfigçıktı kablolu ethernet gibi bakmak de seni biraz bilgi verebilir.

Kaçmanın ip routeya netstat -rda belki kullanımdaki ağ arayüzleri ile ilgili bir şey yönlendirme Internet Protokolü hakkında bilgilendirici olabilir ve.

Bir mountçağrı size disk (ler) ve bunların nasıl monte edildiğini anlatabilir.

Çalışıyor uptimeve ardından last | moremevcut bakım durumu hakkında bir şeyler söyleyebilir. 100+ günlük çalışma süreleri, mecazi olarak muhtemelen "petrol ve sıvıları değiştirme zamanı" anlamına gelir. Koşu whoda

Baktığımızda /etc/resolv.confve /etc/hostsbu makinenin DNS ayarı hakkında bilgi verebilir. Belki yapmak nslookup google.comveya dig bing.comDNS çoğunlukla işlevsel olup olmadığını görmek için.

Hangi hataların ("komut bulunamadı") ve hangi komut türlerinin ("ps -ef" ve "ps augxww") hangi Unix veya Linux veya BSD varyantını yeni bulduğunuzu belirlemek için her zaman işe yarar.

Bir C derleyicisinin varlığı veya yokluğu ve nerede yaşadığı önemlidir. Yap which ccya da daha iyisi, which -a cconları bulmak için.


Daha netstat -tulpanwfazla çıktı için tercih ederim ama bu gerçekten bir zevk meselesi.
Ned64

lshwLinux altında da var .
Shahbaz

mountdağınık, findmntyerine çok temiz.
edmz

10

cat /etc/*release* hangi dağıtımın çalıştığına genel bir bakış için güzel bir komuttur.


9

http://bhami.com/rosetta.html gözden geçirmek için kullanışlı olabilir, aksi takdirde genellikle altında /etc(hesaplar, init şeyler, OS lezzet ipuçları, vb.) ve hakkında bilgi edinmek crontab -liçin pslisteye bakıyorum .

Ayrıca "root olarak" süper korkutucu, böyle bir araştırma yapan bir Linux yöneticisinin tüm Solaris ana bilgisayar adlarını ayarladığı sistemleri düzeltmek zorunda kaldım -f.

Ayrıca dftehlikeli bir emirdir. Bu yüzden, en azından bağları araştırana kadar asla çalıştırmayın veya bir şekilde başka bir oturumu açabileceğinizi bilin.

(Çok basit komutları kullanın uname, cd /etc; ls, cat, $PAGER) sen, ev sahibi ne olduğunu anlayana kadar ve onunla sen Bilmediğiniz bile, bir rosetta kontrol etmek veya her zaman bir komuta bazı komut veya bayrak varsayarak önce adam sayfasını okumuş üzerinde yaptığı yok daha popüler sistemler.


Merak ediyor: daha düşük ayrıcalıklı bir ortama düşmenin (geçici olarak) sağlam bir yolu var mı? Yoksa bu mümkün değil veya bir şekilde iyi bir fikir değil mi?
Oliphaunt - Monica

1
Neden dftehlikelidir? Dosya sistemi kullanımını göstermekten başka bir şey yaptığı sistemler var mı?
terdon

1
@terdon kernel I / O engelleme, ör. sabit bir NFS yuvasında; en iyi şekilde bir şekilde yeni bir oturum veya terminal açabilirsiniz (bir kesinti sırasında zaman boşa harcanır) veya en kötüsü o eski Solaris sistemine tek konsolunuzdu ve evet ... belki de önyükleme yapar, belki de utanç montaj bilgi ilk bakıldı değildi ve bu sorunlu NFS sunucu hattı tanındı ...
thrig

1
Eğer dfasılı o zaman sadece CTRL-Z o ve kill -9o. Ben de bu problemle karşılaştım ve bu hep benim için çalıştı. Ayrıca, ideal olarak bağlarınız asılmamalıdır. Ayrıca pek çok insanın programları "tehlikeli" olarak düşündüğünü düşünmüyorum, bu yüzden terdon'un kafası karışık olduğunu düşünüyorum.
Bratchley

3
@Bratchley oh, kontrol karakterleri gönderemeyeceğiniz bir konsol bağlantısı hiç olmadı mı? Um o zmodem el kitabı neydi, ya da ah tanrım nasıl onları buggy Java şey aracılığıyla fiziksel erişimi olan diğer buggy şey ah geez gönderdi?
thrig

5

dmidecodeve lspcigenellikle sistemde çalışan donanımın ne olduğu hakkında iyi bir fikir verecektir. Bu genellikle çalışan bir sunucuysa sunucunun netstat -tlpnamacını verir. df -hPsistemdeki mevcut depolamayı kontrol etmek için iyi bir komuttur. lsb_release -ahangi dağıtımda olduğunuzu bilmeniz gerekir:

[root@vle02 ~]# lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.7 (Santiago)
Release:        6.7
Codename:       Santiago

Koşu last, sistemi kimin kullandığını size bildirmelidir. Bu sunucuya yasal olarak eriştiğinizi varsayarsak, genellikle oturum açan kişilerden biriyle ilgili daha fazla bilgi isteyebilirsiniz.

Satıcı nötr güvenlik kontrolleri için: Çoğu zaman güvenlik duvarının benzersiz yapılandırma verilerine sahip olacağı için a çalıştırmak iptables -nvLyararlı olur. Ayrıca, yalnızca yerel kullanıcılar mı yoksa ldap / kerberos / winbind / sssd / kullanmak için yapılandırılmış olup olmadığınızı görmek için dağıtımınızın pam yapılandırma dosyalarına da göz atmalısınız.

Ayrıca, size gelen hizmetlerin yapılandırmasını da inceleyebilirsiniz netstat -tlpn. Örneğin, apache görürseniz /etc/http/conf/httpd.conf(RHEL'de, /etc/apache2Ubuntu'da) ve hangi web sitelerinin çalıştığını görmeye çalışabilirsiniz. Alternatif olarak apachectl -S, yapılandırılan tüm sanal ana bilgisayarların bir listesini almak için bir de yapabilirsiniz . Oradan hayranlar var, bu yüzden gerçekten yapabileceğim tek şey bir örnek olarak apache sunmak ve sadece başka bir şey varsa daemon'un konfigürasyonunu doğrulamak demek.

RHEL'de ayrıca rpm -qa --last | headen son ne zaman sistem güncellemesi yaptığını da kontrol ederim . SELinux'un etkinleştirilip etkinleştirilmediğini de kontrol edeceğimgetenforce


0

Birkaç fikir daha:

  • /procDosya sisteminin varlığı veya yokluğu Mac , FreeBSD veya Linux'ta olup olmadığınızı gösterebilir .
  • Paket yönetimi Linux dağıtımından dağıtımına farklılık gösterir. Debian tabanlı olanlar Deepin, Ubuntu, Mint; Red Hat ve Fedora'nın bir noktaya kadar yumları vardı ama şimdi Fedora'nın DNF'si var ; Arch pacman kullanıyor. Böylece böyle bir şey yapabiliriz:ls /usr/bin | grep 'apt\|yum\|pacman'
  • Görüntüleme sırasında belirli bağlantı noktalarında belirli hizmetlerin varlığı netstat -tulpan. Olabilir sshd, web sunucusu, ftp;

Sistemde belirli bir yürütülebilir dosyanın varlığının gerçekten bir şey ifade etmediğini unutmayın. Örneğin Debian'ın bir yumpaketi var. Bir ssh sunucusunun varlığı sistemi nasıl gösterir? AFAIK sshdhemen hemen her şeyi bulabilirsiniz .
terdon

@terdon True. Sadece yeni bir sistem yöneticisinin bakış açısıyla yaklaşıyorum "Burada biraz Linux kutumuz var, git bu konuda bir şeyler yap". Bu noktada şu soruyu soruyor olabilirsiniz: Uzaktan erişimi var mı? Bu uzaktan erişim sertleştirildi mi? Tanıdığım paket yönetimi var mı veya yeni paket yöneticisi öğrenmek zorunda mıyım? Hedef, hangi işletim sistemini alacağınızı belirlemek zorunda değil , Bruce Ediger zaten bunu ele aldı, ancak daha çok sistemin kendisini araştırmaya odaklanıyorum
Sergiy Kolodyazhnyy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.