Konuyu Açan
#1
fuser ile Port Kullanımını Bulma
Giriş ve neden önemli
Bir sunucu üzerinde hangi uygulamanın hangi porta bağlı olduğunu bilmek, ağ sorunlarını hızlı çözmenin temel adımlarından biridir. Özellikle hizmetler yeniden başlatılırken ya da port çakışması yaşandığında, ilgili süreci ve kullanıcıları belirlemek gerekir. fuser komutu bu noktada hızlı ve güvenilir bir yöntem sunar. Temel olarak Linux/Unix sistemlerinde çalışan fuser, verilen dosya sistemi objesine (port, dosya, socket vb.) hangi süreçlerin erişim sağladığını gösterir.
Port üzerinde hangi süreçlerin dinlediğini bulma
Bir portun hangi süreç tarafından dinlendiğini hızlıca öğrenmek için aşağıdaki adımları izleyin:
Dosya sisteminde socketler ve durumlar
fuser, sadece dinleyen süreçleri değil, aynı zamanda belirli bir dosya üzerinde hangi işlemlerin açık kalmasına izin verdiğini de gösterir. Bu, özellikle kilitlenen dosya veya port üzerinden problemleri izole etmek için kullanışlıdır. -k bayrağı ile birlikte kullanıldığında ilgili süreçleri sonlandırma davranışını da tetikleyebilirsiniz: fuser -k -n tcp 80. Ancak bu, üretim ortamında dikkatli kullanılmalıdır; aniden bağlantıları koparabilir.
Pratik ipuçları ve güvenlik açısından dikkat edilecekler
Örnek senaryo ve komut akışı
1) 8080 portunu hangi süreçlerin kullandığını görmek:
2) Çıktıda PID’ler göründüyse, bunların hangi kullanıcıya ait olduğunu inceleyin:
3) İhtiyaç varsa süreçleri güvenli şekilde sonlandırın (uygulama güvenliği gözetilerek):
Sonuç ve kapanış
Port kullanımı ile ilgili hızlı bir fikir edinmek için fuser doğru araç setinin ilk adımıdır. Hangi süreçlerin hangi porta bağlı olduğunu net bir şekilde görmek, sorunun kaynağını belirleme ve müdahale sırasını planlama açısından kritik bir avantaj sağlar. Bu yöntemi, hizmet kesintileri öncesi ve sonrası doğruladığınız testlerle pekiştirmek, operasyonel güvenilirliği artırır. Siz kendi ortamlarınızda hangi portlar için fuser’u en çok kullanıyorsunuz, ve hangi senaryolarda alternatif araçlarla doğrulama yapıyorsunuz diye merak ediyorum.
Giriş ve neden önemli
Bir sunucu üzerinde hangi uygulamanın hangi porta bağlı olduğunu bilmek, ağ sorunlarını hızlı çözmenin temel adımlarından biridir. Özellikle hizmetler yeniden başlatılırken ya da port çakışması yaşandığında, ilgili süreci ve kullanıcıları belirlemek gerekir. fuser komutu bu noktada hızlı ve güvenilir bir yöntem sunar. Temel olarak Linux/Unix sistemlerinde çalışan fuser, verilen dosya sistemi objesine (port, dosya, socket vb.) hangi süreçlerin erişim sağladığını gösterir.
Port üzerinde hangi süreçlerin dinlediğini bulma
Bir portun hangi süreç tarafından dinlendiğini hızlıca öğrenmek için aşağıdaki adımları izleyin:
- Söz konusu portu dinleyen süreçleri listelemek: fuser -n tcp 80 veya fuser -n tcp 443 gibi. Burada -n tcp, tcp protokolünü, 80 ise port numarasını belirtir.
- Çıktıya bakarken PID ile birlikte işlem durumunu görebilirsiniz. Gerekirse -v bayrağı ile daha ayrıntılı çıktı alın: fuser -n tcp 80 -v.
- Eğer aynı anda birden fazla port için bilgi almak gerekiyorsa, komutu birden çok hedef ile çalıştırabilir veya iletilen portları bir araya toplayabilirsiniz: fuser -n tcp 80 443.
- Süreçler hakkında daha ayrıntılı bilgi edinmek için ps ile PID’yi eşleşebilirsiniz: ps -fp veya toplu olarak: ps -eo pid,ppid,user,cmd | grep
Dosya sisteminde socketler ve durumlar
fuser, sadece dinleyen süreçleri değil, aynı zamanda belirli bir dosya üzerinde hangi işlemlerin açık kalmasına izin verdiğini de gösterir. Bu, özellikle kilitlenen dosya veya port üzerinden problemleri izole etmek için kullanışlıdır. -k bayrağı ile birlikte kullanıldığında ilgili süreçleri sonlandırma davranışını da tetikleyebilirsiniz: fuser -k -n tcp 80. Ancak bu, üretim ortamında dikkatli kullanılmalıdır; aniden bağlantıları koparabilir.
Pratik ipuçları ve güvenlik açısından dikkat edilecekler
- Yetkiler: fuser, çoğu durumda root veya ilgili yetkilere ihtiyaç duyar. Yetkisiz çalıştırmada sonuçlar sınırlı olabilir.
- Ortam farkı: bazı dağıtımlarda fuser yerine fuser5, lsof veya ss gibi araçlar eşdeğer bilgiler sunabilir. Duruma göre alternatif araçları da doğrulamak faydalı olur.
- Performans: yoğun trafikte anlık dinleme yaparken komutlar kısa süreli saptama sağlar; sürekli izlemek için bir izleme skripti veya nagios-like uyarılar düşünmek daha doğrudur.
Örnek senaryo ve komut akışı
1) 8080 portunu hangi süreçlerin kullandığını görmek:
KOD
1fuser -n tcp 8080 -v2) Çıktıda PID’ler göründüyse, bunların hangi kullanıcıya ait olduğunu inceleyin:
KOD
1ps -fp 3) İhtiyaç varsa süreçleri güvenli şekilde sonlandırın (uygulama güvenliği gözetilerek):
KOD
1fuser -k -n tcp 8080Sonuç ve kapanış
Port kullanımı ile ilgili hızlı bir fikir edinmek için fuser doğru araç setinin ilk adımıdır. Hangi süreçlerin hangi porta bağlı olduğunu net bir şekilde görmek, sorunun kaynağını belirleme ve müdahale sırasını planlama açısından kritik bir avantaj sağlar. Bu yöntemi, hizmet kesintileri öncesi ve sonrası doğruladığınız testlerle pekiştirmek, operasyonel güvenilirliği artırır. Siz kendi ortamlarınızda hangi portlar için fuser’u en çok kullanıyorsunuz, ve hangi senaryolarda alternatif araçlarla doğrulama yapıyorsunuz diye merak ediyorum.
