• Tidak ada hasil yang ditemukan

Finding Stuff

Dalam dokumen Dr. Joseph Teguh Santoso, S.Kom, M.Kom (Halaman 31-34)

BAB 1 DASAR SISTEM OPERASI HACKER: LINUX

1.4 Finding Stuff

Sebelum Anda terbiasa dengan Linux, mungkin sulit untuk menemukan jalan keluar, tetapi pengetahuan tentang beberapa perintah dan teknik dasar akan sangat membantu untuk membuat command line yang jauh lebiih ramah. Perintah berikut ini membantu Anda menemukan sesuatu dari terminal

Searching dengan locate

Mungkin perintah yang termudah untuk digunakan adalah locate. Diikuti dengan kata kunci yang menunjukkan apa yang ingin Anda temukan, perintah ini akan melewati seluruh sistem file Anda dan menemukan setiap kemunculan kata itu.

Untuk mencari aircrack-ng, misalnya, masukkan yang berikut:

kali >locate aircrack-ng /usr/bin/aircrack-ng

/usr/share/applications/kali-aircrack-ng.desktop

/usr/share/desktop-directories/05-1-01-aircrack-ng.directory --snip -

/var/lib/dpkg/info/aircrack-ng.mg5sums

Namun, perintah locate tidak sempurna. Terkadang hasil lokasi dari command locate agak menakjubkan, karena memberikan terlalu banyak informasi kepada Anda. Selain itu, locate menggunakan database yang biasanya hanya diupdate sekali sehari, jadi jika Anda baru saja membuat file beberapa menit atau beberapa jam yang lalu, file tersebut mungkin tidak akan muncul dalam daftar ini hingga hari berikutnya. Ada baiknya untuk mengetahui kelemahan dari perintah dasar ini sehingga Anda dapat memutuskan dengan lebih baik kapan yang terbaik untuk menggunakan masing-masing perintah.

Menemukan Biner dengan whereis

Jika Anda mencari file biner, Anda dapat menggunakan perintah whereis untuk menemukannya. Perintah ini tidak hanya mengembalikan lokasi biner tetapi juga sumber dan halaman manualnya jika tersedia. Berikut contohnya:

kali >whereis aircrack-ng

aircarck-ng: /usr/bin/aircarck-ng /usr/share/man/man1/aircarck-ng.1.gz

Dalam hal ini, whereis hanya ditampilkan biner aircrackng dan halaman manual, daripada setiap kemunculan kata aircrackng. Jauh lebih efisien dan mencerahkan, bukan?

Menemukan Biner dalam Variabel PATH dengan which

Perintah which bahkan lebih spesifik: ia hanya mengembalikan lokasi biner dalam variabel PATH di Linux. Kita akan melihat lebih dekat pada variabel PATH di Bab 7, tetapi untuk saat ini sudah cukup untuk mengetahui bahwa PATH menyimpan direktori di mana sistem operasi mencari perintah yang Anda jalankan pada baris perintah. Misalnya, ketika saya memasukkan aircrack-ng pada baris command, sistem operasi melihat ke variabel PATH untuk melihat di direktori mana ia harus mencari aircrackng:

kali >which aircrack-ng /usr/bin/aircrack-ng

Di sini, which dapat menemukan satu file biner di direktori yang tercantum di variabel PATH. Minimal, direktori ini biasanya menyertakan /usr/bin, tetapi mungkin menyertakan /usr/sbin dan mungkin beberapa lainnya.

Melakukan Penelusuran yang Lebih Canggih dengan find

Perintah find adalah utilitas pencarian yang paling kuat dan fleksibel. Ini dapat memulai pencarian Anda di direktori yang ditentukan dan mencari sejumlah parameter yang berbeda, termasuk, tentu saja, nama file, tetapi juga tanggal pembuatan atau modifikasi, pemilik, grup, izin, dan ukuran. Berikut ini merupakan sintaks dasar untuk command find : find ekspresi opsi direktori

Jadi, jika saya ingin menelusuri file dengan nama apache2 (server web open source) yang dimulai dari direktori root, saya akan memasukkan yang berikut ini:

kali > find / ➊ -type f ➋ -name apache2 ➌

Pertama, saya akan menyebutkan direktori untuk memulai penelusuran, dalam hal ini /➊. Kemudian saya menentukan jenis file yang akan ditelusuri, dalam hal ini untuk file biasa

➋. Terakhir, saya memberikan nama file yang saya cari, dalam hal ini apache2➌.

Hasil yang saya dapatkan untuk penelusuran ditampilkan di sini:

kali >find / -type f -name apache2 /usr/lib/apache2/mpm-itk/apache2 /usr/lib/apache2/mpm-event/apache2 /usr/lib/apache2/mpm-worker/apache2 /usr/lib/apache2/mpm-prefork/apache2 /etc/cron.daily/apache2

/etc/logrotate.d/apache2 /etc/init.d/apache2 /etc/default/apache2

Perintah find dimulai di bagian atas sistem file (/), menelusuri setiap direktori mencari apache2 di nama file, dan kemudian mencantumkan semua instance yang ditemukan. Seperti yang Anda bayangkan, penelusuran yang terlihat di setiap direktori bisa jadi lambat. Salah satu cara untuk mempercepatnya adalah dengan melihat di direktori tempat Anda berharap menemukan file yang Anda butuhkan. Dalam hal ini, kami mencari file konfigurasi, sehingga kami dapat memulai pencarian di direktori /etc, dan Linux hanya akan mencari sejauh subdirektorinya. Mari kita coba:

kali >find /etc -type f -name apache2 /etc/init.d/apache2

/etc/logrotate.d/apache2 /etc/cron.daily/apache2

Penelusuran yang jauh lebih cepat ini hanya menemukan kemunculan Apache2 di direktori /etc dan subdirektorinya. Penting juga untuk diperhatikan bahwa tidak seperti beberapa perintah penelusuran lainnya, find hanya tampilan yang cocok dengan nama persis.

Jika file apache2 memiliki ekstensi, seperti apache2.conf, penelusuran ini tidak akan menemukan kecocokan. Kami dapat memperbaiki batasan ini dengan menggunakan karakter pengganti, yang memungkinkan kami untuk mencocokkan beberapa karakter.

Karakter pengganti datang dalam beberapa bentuk berbeda: * . , ? dan [ ] .

Mari kita lihat di direktori /etc untuk semua file yang dimulai dengan apache2 dan memiliki ekstensi apa pun. Untuk ini, kita dapat menulis perintah temukan menggunakan karakter pengganti berikut:

kali >find /etc -type f --name apache2.*

/etc/apache2/apache2.conf

Saat kami menjalankan perintah ini, kami menemukan bahwa ada satu file di direktori /etc yang sesuai dengan pola apache2.*. Saat kami menggunakan titik yang diikuti dengan karakter pengganti, terminal akan mencari ekstensi apa pun setelah nama file apache2. Ini bisa menjadi teknik yang sangat berguna untuk menemukan file yang ekstensi filenya tidak Anda ketahui.

Saat saya menjalankan perintah ini, saya menemukan dua file yang dimulai dengan apache2 di direktori /etc, termasuk file apache2.conf.

LIHAT CEPAT DI WILDCARD

Misalnya, kita sedang melakukan penelusuran di direktori yang memiliki file cat, hat, what, dan bat. yang ? wildcard digunakan untuk mewakili satu karakter, jadi penelusuran untuk di akan menemukan topi, cat, dan kelelawar tetapi bukan apa, karena di dalam nama file ini didahului oleh dua huruf. Karakter pengganti [] di digunakan untuk mencocokkan karakter yang muncul di dalam tanda kurung siku. Misalnya, penelusuran untuk [c,b]di akan cocok dengan cat dan kelelawar tetapi bukan topi atau apa. Di antara karakter pengganti yang paling banyak digunakan adalah tanda bintang (*), yang cocok dengan karakter apa pun dengan panjang berapa pun, dari tidak ada hingga jumlah karakter yang tidak terbatas.

Penelusuran untuk *di, misalnya, akan menemukan cat, topi, apa, dan kelelawar.

Memfilter dengan grep

Sangat sering saat menggunakan baris perintah, Anda ingin menelusuri kata kunci tertentu.Untuk ini, Anda dapat menggunakan perintah grep sebagai filter untuk menelusuri k ata kunci. Perintah grep sering digunakan saat output disalurkan dari satu perintah ke perintah lainnya. Saya membahas perpipaan di Bab 2, tetapi untuk saat ini, cukup untuk mengatakan bahwa Linux (dan Windows dalam hal ini) memungkinkan kita untuk mengambil output dari satu perintah dan mengirimkannya sebagai input ke perintah lain.

Ini disebut piping, dan kami menggunakan | command to do it (tombol | biasanya di atas tombol ENTER pada keyboard Anda).

Perintah ps digunakan untuk menampilkan informasi tentang proses yang berjalan pada mesin. Kami membahas ini secara lebih mendetail di Bab 6, tetapi untuk contoh ini, misalkan saya ingin melihat semua proses yang berjalan di sistem Linux saya. Dalam hal ini, saya dapat menggunakan perintah ps (proses) diikuti oleh sakelar aux untuk menentukan informasi proses mana yang akan ditampilkan, seperti:

Kali>ps aux

Ini memberi saya daftar semua proses yang berjalan di sistem ini—tetapi bagaimana jika saya hanya ingin menemukan satu proses untuk melihat apakah itu berjalan? Saya dapat melakukannya dengan menyalurkan output dari ps ke grep dan mencari kata kunci. Misalnya, untuk mengetahui apakah layanan apache2 sedang berjalan, saya akan memasukkan yang berikut ini.

kali >ps aux | grep apache2

root 4851 0.2 0.7 37548 7668 ? Ss 10:14 0:00 /usr/sbin/apache2 -k start

root 4906 0.0 0.4 37572 4228 ? S 10:14 0:00 /usr/sbin/apache2 -k start root 4910 0.0 0.4 37572 4228 ? Ss 10:14 0:00 /usr/sbin/apache2 -k start --snip -

Perintah ini memberi tahu Linux untuk menampilkan semua layanan saya dan kemudian mengirim output tersebut ke grep, yang akan melihat melalui output untuk kata kunci Apache2 dan kemudian hanya menampilkan output yang relevan, sehingga menghemat waktu dan penglihatan saya.

Dalam dokumen Dr. Joseph Teguh Santoso, S.Kom, M.Kom (Halaman 31-34)