Uzun süren taramalar, SSH üzerinden yönetilen hedefler ve aynı anda koşan onlarca komut... Bir pentest ya da sistem yönetimi oturumunda en büyük düşmanınız, bağlantı koptuğunda çalışan işlerinizin de ölmesidir. İşte tmux (terminal multiplexer) tam burada devreye girer: tek bir terminalde birden çok oturum, pencere ve paneli yönetmenizi, bağlantı kopsa bile işlerin arka planda sürmesini sağlar. Bu rehberde tmux'u sıfırdan, pentest akışına odaklanarak ele alıyoruz.
Konuda Anlatılacaklar
- tmux nedir, neden kullanılır (session/window/pane kavramları)
- Kurulum ve ilk çalıştırma
- Prefix tuşu ve temel kısayol referansı
- Uygulamalı: kopan bağlantıya dayanıklı tarama oturumu
- Panel bölme, pencere yönetimi ve kopyalama modu
- İleri seviye: ~/.tmux.conf ile özelleştirme
- Sonuç, kaynakça ve yasal uyarı
1. tmux Nedir, Neden Kullanılır?
tmux, tek bir terminal penceresini birden çok sanal terminale bölen bir "terminal çoğullayıcı"dır. Üç temel kavramı vardır:
- Session (oturum): İçinde pencere ve panellerin barındığı en üst kapsayıcı. Oturumdan "detach" olup (ayrılıp) daha sonra "attach" ile geri dönebilirsiniz.
- Window (pencere): Oturum içindeki bir sekme gibidir; her biri tam ekrandır.
- Pane (panel): Bir pencerenin yatay/dikey bölünmüş parçası; aynı ekranda birden çok kabuk.
2. Kurulum ve İlk Çalıştırma
sudo apt update
sudo apt install tmux
tmux -Vtmux new -s denetim3. Prefix Tuşu ve Kısayol Referansı
tmux komutlarının çoğu bir prefix tuşundan sonra verilir. Varsayılan prefix Ctrl+b'dir (aşağıda "C-b" olarak gösterilir). Önce prefix'e, sonra ilgili tuşa basarsınız.
Oturumdan ayrılma (detach): İş sürerken terminale geri dönmek için.
C-b dDikey panel bölme:
C-b %Yatay panel bölme:
C-b "Paneller arası geçiş:
C-b ok-tuşlarıYeni pencere / pencereler arası geçiş:
C-b c (yeni pencere)
C-b n (sonraki)
C-b p (önceki)
C-b 0..9 (numaraya git)Paneli kapatma:
C-b xKomut satırından oturum yönetimi (prefix'siz):
tmux ls # oturumları listele
tmux attach -t denetim # oturuma geri dön
tmux kill-session -t denetim4. Uygulamalı: Kopmaya Dayanıklı Tarama Oturumu
Adım 1 - Oturum aç ve uzun bir iş başlat:
tmux new -s tarama
nmap -sV -p- 192.168.56.101 -oN tam_tarama.txtAdım 2 - Oturumdan ayrıl (iş arkada sürer):
C-b dAdım 3 - Daha sonra geri dön:
tmux attach -t taramatail -n 20 tam_tarama.txt5. Panel ve Pencere ile Çoklu İş
Pentest'te sık senaryo: bir panelde tarama, diğerinde notlar, üçüncüsünde hedefe açık bir SSH. Bir pencereyi ikiye bölüp ikisinde ayrı iş yürütün:
C-b % # dikey böl
C-b " # alt paneli yatay bölC-b z # aktif paneli büyüt/küçült (zoom)Kopyalama modu: Uzun çıktıda yukarı kaydırmak ve metin kopyalamak için kopyalama moduna girin:
C-b [ # kopyalama moduna gir, ok/PageUp ile gez, q ile çık6. İleri Seviye: ~/.tmux.conf ile Özelleştirme
Varsayılan prefix (C-b) bazılarına rahatsız gelir; birçok kullanıcı onu C-a yapar. Ayrıca fare desteği ve daha büyük geçmiş tamponu verimliliği artırır. Örnek bir yapılandırma:
# ~/.tmux.conf
set -g prefix C-a
unbind C-b
bind C-a send-prefix
set -g mouse on
set -g history-limit 100000
setw -g mode-keys vitmux source-file ~/.tmux.confBir diğer güçlü alışkanlık, iş bazlı isimli oturumlardır: her müşteri/hedef için ayrı bir oturum (tmux new -s musteri1) açmak, işleri birbirine karıştırmadan paralel yürütmeyi sağlar. Günün sonunda tmux ls ile tüm aktif işlerinizi tek bakışta görürsünüz.
6.1. tmux, screen ve Pratik Alışkanlıklar
tmux'un en yakın alternatifi GNU screen'dir. screen daha eski ve yaygın olarak çoğu sunucuda hazır bulunur; tmux ise daha modern yapılandırma, daha güçlü panel yönetimi ve daha okunur bir durum çubuğu sunar. Yeni bir alışkanlık ediniyorsanız tmux'a yatırım yapmanızı öneririm, ancak bir sunucuda yalnızca screen varsa benzer mantıkla (Ctrl+a tabanlı kısayollar) iş görebileceğinizi bilin. İkisinin de ortak amacı aynıdır: oturumu kabuktan ayırıp işi yaşatmak.
Pentest sırasında tmux'u asıl değerli kılan, bir hedefe uzun süren bir işlem başlatıp bağlantıyı güvenle bırakabilmenizdir. Örneğin saatler sürebilecek bir tam port taraması, bir dizin keşfi ya da bir parola denetimi başlattığınızda, dizüstünüzü uyku moduna alıp eve gidebilir, ertesi gün attach olup kaldığınız yerden devam edebilirsiniz. Bu, özellikle sınırlı zaman penceresi olan kurumsal testlerde zaman kazandırır ve kesintiye bağlı veri kaybını önler.
Verimliliği artıran birkaç alışkanlık: her göreve anlamlı bir oturum adı verin, böylece tmux ls çıktısı okunur kalsın; sık kullandığınız panel düzenini bir kabuk fonksiyonu veya tmux betiğiyle otomatikleştirin; uzun çıktıları dosyaya da yazdırın (-oN, tee gibi) ki tmux geçmiş tamponuna bel bağlamayın. Son olarak, durum çubuğunu özelleştirerek saat, oturum adı ve aktif pencereyi görünür kılmak, aynı anda birçok iş yürütürken kafa karışıklığını ciddi biçimde azaltır.
Bir uyarı: tmux oturumu makine yeniden başlatıldığında kaybolur; kalıcılık yalnızca aynı oturum açıkken geçerlidir. Gerçekten kritik, günlerce sürecek işler için işleri bir servis veya nohup ile arka plana almayı da değerlendirin. tmux, insan etkileşimli oturumları yaşatmakta mükemmeldir; uzun ömürlü otomasyon için ise servisleştirme daha doğru bir yaklaşımdır.
Sonuç
tmux, terminalde çalışan herkesin verimliliğini kökten artıran bir araçtır; pentest'te ise bağlantı kopmalarına karşı sigortanızdır. Önce session/window/pane üçlüsünü ve prefix mantığını oturtun, ardından ~/.tmux.conf ile kendinize göre ayarlayın. Birkaç gün bilinçli kullanımdan sonra kısayollar kas hafızanıza yerleşir ve geri dönmek istemezsiniz.
Kaynakça
- tmux Resmi Deposu ve Wiki - https://github.com/tmux/tmux/wiki
- tmux(1) Man Sayfası - https://man.openbsd.org/tmux.1
- tmux Getting Started - https://github.com/tmux/tmux/wiki/Getting-Started
- Kali Belgeleri - https://www.kali.org/docs/
- man tmux (yerel man sayfası)
Yasal Uyarı
Alıntı:tmux bir verimlilik aracıdır; onunla yürüttüğünüz tüm testler yalnızca kendi sistemlerinizde veya yazılı izinli hedeflerde yapılmalıdır. İzinsiz erişim ve test Türk Ceza Kanunu 243-245. maddeleri kapsamında suçtur.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).