Monday, August 26, 2013

WireShark'ı Root Yetkileri Olmadan Çalıştırma

Uyarı Mesajı : "There are no interfaces on which a capture can be done"

Linux'da wireshark'ı yeni kurup, paketleri dinlemeye başlayacaktım ki yukarıdaki uyarı mesajı beni karşıladı.

Sorun WireShark'ın mesaj trafiğini dinlemesi için Linux üzerinde yeterli yetkilerinin olmaması, yani Root yetkileri ile çalıştırdığınızda bu sorun ortada kalkmış oluyor. Fakat WireShark 1.5 milyon satır kaynak koda sahip devasa bir program ve Root yetkileri ile çalıştırmak sisteminizi beklenmedik tehlikelere atacağı için kesinlikle tavsiye edilen birşey değil.

Bunun yerine kendi kendi kullanıcınıza belli yetkiler vererek bunu halledebilirisiniz. WireShark paket trafiğini izlemek için "dumcap" adlı ayrı bir program kullanıyor. Kendi kullanıcınıza "dumcap" için gerekli izinleri verdiğiniz taktirde WireShark'ı root yetkilerini kullanmaksızın açabilirsiniz.

 

Nasıl yapılıyor?

WireShark için dumpcap'i çalıştırmak üzere bir yetki grubu tanımlıyoruz ve bu yetki grubuna kendi kullanıcımızı dahil ediyoruz :  

$ sudo -s
# groupadd wireshark
# usermod -a -G wireshark kullanıcı_adı
# chgrp wireshark /usr/bin/dumpcap
# chmod 4750 /usr/bin/dumpcap

Yukarıda kullanıcı_adı kısmına mevcut kullanmakta olduğunuz kullanıcı hesabına ait ismi girmeniz gerekiyor. Kullanıcı isminizin ne olduğundan emin değilseniz, root terminalinden çıkıp, aşağıda belirtilen :  
>echo "$USER"
komutu ile mevcut kullacı adın öğrenebilirsiniz.

Bu komutları çalıştırdıktan sonra mevcut kullanıcınızdan çıkıp tekrar login olmanız gerekiyor.

Faydalı bağlantılar :

https://blog.wireshark.org/2010/02/running-wireshark-as-you/
http://packetlife.net/blog/2010/mar/19/sniffing-wireshark-non-root-user/

No comments: