Ders 1.14: Bir süreci /proc üzerinden okumak
ps bir sürecin ne olduğunu iddia ettiğini gösterir. /proc ise ne olduğunu gösterir: arkasındaki gerçek çalıştırılabilir dosya (dosya silinmiş olsa bile), çalıştığı dizin, başladığı ortam, ebeveyni, sahibi, açık dosyaları ve bağlantıları. Laboratuvarda bir izleme uyarısı web03'ün çekirdek iş parçacığı gibi adlandırılmış bir süreçte bir işlemci çekirdeğini tükettiğini söylüyor. Onun çekirdek iş parçacığı olmadığını kanıtlıyor, nereden geldiğini ve kiminle konuştuğunu buluyor, silinmiş programı kanıt olarak bellekten kurtarıyor ve ancak ondan sonra durduruyorsun.
18 dk
Bu derste öğreneceklerin
- Gerçek bir çekirdek iş parçacığını taklitçisinden ayırmak
- /proc/PID altındaki exe, cwd, status ve environ'u okumak
- Bir sürecin ağ bağlantılarını lsof ile listelemek
- Silinmiş bir çalıştırılabilir dosyayı /proc/PID/exe'den kurtarmak
- Bir süreci sonlandırmadan önce kanıt toplamak
Temel terimler
- /proc
- Çekirdeğin canlı bilgiyle doldurduğu sanal dosya sistemi; /proc/PID bir süreci anlatır.
- exe ve cwd
- Sürecin çalıştırdığı programa ve çalıştığı dizine giden bağlantılar.
- environ
- Sürecin başladığı ortam değişkenleri; NUL baytlarıyla ayrılmış.
- Çekirdek iş parçacığı
- Çekirdeğin içinde yapılan iş; [köşeli parantez] içinde gösterilir, root'a aittir, kthreadd'in (PID 2) çocuğudur, komut satırı yoktur.
- Kılık değiştirme
- Kötü amaçlı bir süreci ya da dosyayı meşru bir şeyin adıyla adlandırmak.
- Uçuculuk sırası
- Önce kaybolan kanıtı (bellek, süreçler, bağlantılar) kalıcı olandan (disk) önce topla.
← Birim dosyaları ve ek parçalar · Tüm dersler · Giriş kayıtları ve boşlukları →