Anda masuk ke sistem UNIX atau Linux yang tidak dikenal (sebagai root). Perintah apa yang Anda jalankan untuk mengorientasikan diri dan mencari tahu sistem seperti apa yang Anda gunakan? Bagaimana Anda mengetahui jenis perangkat keras apa yang digunakan, jenis sistem operasi apa yang sedang berjalan dan bagaimana situasi saat ini terkait dengan perizinan dan keamanan?
Apa perintah pertama dan kedua yang Anda ketikkan?
linux
shell
command-line
root
Alexander
sumber
sumber
uname -a
kemudianapropos whatever
adalah teman Anda.nmap -A -T4 localhost
bisa juga memberi Anda beberapa info bergunanmap
palu sayalocalhost
tiba-tiba tampak seperti paku. Tetapi kemudian saya menyadari bahwa itu sebenarnya memberikan beberapa informasi menarik, jadi saya meninggalkannya sebagai saran yang semi-serius.Jawaban:
pertanyaan penggunaan ganda! Entah Arkeolog Perangkat Lunak atau Peretas Jahat dapat menggunakan jawaban untuk pertanyaan ini! Sekarang, siapakah saya?
Saya selalu menggunakan
ps -ef
versus dibandingkanps -augxww
untuk mencari tahu apa yang sedang saya alami. Kotak Linux dan System V cenderung menyukai "-ef" dan kesalahan pada "-augxww", sebaliknya untuk BSD dan mesin SunOS lama. Output darips
dapat memberi tahu Anda banyak juga.Jika Anda dapat masuk sebagai root, dan ini adalah mesin Linux, Anda harus melakukannya
lsusb
danlspci
- itu akan membuat Anda 80% mengetahui cara mengetahui situasi perangkat keras.dmesg | more
dapat membantu Anda memahami masalah apa pun saat ini tentang apa saja.Itu mulai dihapus, tetapi melakukan
ifconfig -a
biasanya dapat memberi tahu Anda banyak tentang antarmuka jaringan, dan jaringan. Menjalankanmii-tool
dan / atauethtool
pada antarmuka yang Anda lihat dalamifconfig
output yang terlihat seperti kabel ethernet dapat memberi Anda beberapa info juga.Runnin
ip route
ataunetstat -r
bisa informatif tentang perutean Protokol Internet, dan mungkin sesuatu tentang antarmuka jaringan yang digunakan.Sebuah
mount
doa dapat memberitahu Anda tentang disk (s) dan bagaimana mereka dipasang.Berjalan
uptime
, dan kemudianlast | more
dapat memberi tahu Anda sesuatu tentang kondisi pemeliharaan saat ini. Uptime 100+ hari mungkin berarti "saatnya untuk mengganti oli dan cairan", secara metaforis. Berlariwho
jugaMelihat
/etc/resolv.conf
dan/etc/hosts
dapat memberi tahu Anda tentang pengaturan DNS mesin itu. Mungkin lakukannslookup google.com
ataudig bing.com
untuk melihat apakah DNS sebagian besar fungsional.Selalu layak untuk menonton kesalahan apa ("perintah tidak ditemukan") dan varian perintah apa ("ps -ef" vs "ps augxww") yang berfungsi untuk menentukan varian Unix atau Linux atau BSD yang baru saja Anda gunakan.
Ada atau tidaknya kompiler C, dan di mana ia tinggal adalah penting. Lakukan
which cc
atau lebih baik,which -a cc
untuk menemukannya.sumber
netstat -tulpanw
untuk hasil yang lebih banyak tetapi ini adalah masalah selera.lshw
bawah Linux.mount
berantakan,findmnt
malah sangat bersih.cat /etc/*release*
adalah perintah yang bagus untuk mendapatkan gambaran umum tentang distro yang sedang berjalan.sumber
http://bhami.com/rosetta.html mungkin berguna untuk ditinjau, jika tidak, saya biasanya mencari-cari di bawah
/etc
(akun, hal-hal init, petunjuk rasa OS, dll) dancrontab -l
dan melihatps
daftar untuk mengetahui hal-hal untuk dipelajari.Juga "sebagai root" sangat menakutkan, karena saya harus memperbaiki sistem di mana admin Linux yang melakukan investigasi mengatur semua nama host Solaris
-f
.Juga
df
merupakan perintah yang berbahaya, cara yang bagus untuk oh whoops tergantung pada pemblokiran I / O. Jadi jangan pernah menjalankannya sampai Anda setidaknya telah menyelidiki mount, atau tahu Anda bisa membuka sesi lain dengan cara apa pun.Gunakan perintah yang sangat sederhana (
uname
,cd /etc; ls
,cat
,$PAGER
) sampai Anda mengetahui apa yang tuan rumah, dan jika Anda tidak terbiasa dengan hal itu, periksa rosetta atau selalu membaca halaman manual sebelum mengasumsikan beberapa perintah atau bendera untuk perintah melakukan apa yang dilakukannya di sistem yang lebih populer.sumber
df
berbahaya? Apakah ada sistem di mana ia melakukan sesuatu selain menunjukkan penggunaan sistem file?df
hang maka Anda cukup CTRL-Z dankill -9
itu. Saya juga mengalami masalah itu dan itu selalu berhasil bagi saya. Juga, idealnya tunggangan Anda tidak boleh digantung. Saya juga tidak berpikir banyak orang menganggap program menggantung sebagai "berbahaya" yang mengapa saya pikir terdon bingung.dmidecode
danlspci
biasanya akan memberi Anda ide yang baik tentang apa perangkat keras yang berjalan pada sistem. Jika ini adalah server yang biasanya berjalannetstat -tlpn
akan memberikan tujuan dari server.df -hP
adalah perintah yang baik untuk memeriksa penyimpanan saat ini pada sistem.lsb_release -a
harus memberi tahu Anda apa distro yang Anda pakai:Menjalankan
last
harus memberi tahu Anda siapa yang menggunakan sistem. Dengan anggapan Anda telah mengakses server ini secara sah, seringkali Anda hanya dapat bertanya kepada salah satu orang yang masuk ke dalamnya untuk informasi lebih lanjut tentangnya.Untuk pengecekan keamanan netral vendor: Sering kali firewall akan memiliki data konfigurasi yang unik sehingga menjalankan sebuah
iptables -nvL
berguna. Anda juga harus memeriksa file konfigurasi pam distro Anda untuk melihat apakah Anda hanya menggunakan pengguna lokal atau jika Anda dikonfigurasi untuk menggunakan ldap / kerberos / winbind / sssd / apa pun.Anda juga dapat memeriksa konfigurasi layanan yang muncul di Internet Anda
netstat -tlpn
. Misalnya, jika Anda melihat apache, Anda dapat melihat/etc/http/conf/httpd.conf
(di RHEL,/etc/apache2
di Ubuntu) dan mencoba melihat situs web apa yang sedang berjalan. Atau Anda dapat melakukan aapachectl -S
untuk mendapatkan daftar semua host virtual yang dikonfigurasi. Ini semacam penggemar dari sana sehingga yang bisa saya lakukan hanyalah menawarkan apache sebagai contoh dan katakan saja untuk memverifikasi konfigurasi daemon jika itu sesuatu yang lain.Pada RHEL saya juga akan memeriksa
rpm -qa --last | head
untuk melihat kapan terakhir kali mereka melakukan pembaruan sistem. Saya juga akan memeriksa untuk melihat apakah SELinux diaktifkan viagetenforce
sumber
Beberapa ide lain:
/proc
sistem file dapat mengindikasikan apakah Anda menggunakan Mac , FreeBSD , atau Linux.ls /usr/bin | grep 'apt\|yum\|pacman'
netstat -tulpan
. Bisasshd
, webserver,ftp
;sumber
yum
paket. Bagaimana keberadaan server ssh mengindikasikan sistem? AFAIK dapat Anda temukansshd
di hampir semua hal.