「wiresharkで一般ユーザでもパケットキャプチャ可能にする」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
[[Wireshark>http://www.wireshark.org/]]というパケットキャプチャのソフトがある。一般ユーザだとキャプチャーするインターフェースを選択する際にエラーがでてキャプチャーできないため、これまではsudoやgksuコマンドを使ってスーパーユーザー(root権限)で実行していた。
先日Ubuntuを10.10から11.04にupgradeしたところ、スーパーユーザーでWiresharkを起動すると、以下のエラーが出るようになった。
Lua: Error during loading:
[string "/usr/share/wireshark/init.lua"]:45: dofile has been disabled
メッセージにある”init.lua”の45行目を見てみると、以下のようになっており、スーパーユーザーで起動するとエラーがでるようになっている。たぶんupgradeにより変更になったのだろう。
40 -- disable potentialy harmful lua functions when running superuser
41 if running_superuser then
42 local disabled_lib = {}
43 setmetatable(disabled_lib,{ __index = function() error("this package has been disabled") end } );
44
45 dofile = function() error("dofile has been disabled") end
現状でも警告メッセージを無視すれば使えるのだが、わざわざ警告するからには、一般ユーザで実行する方法があるはずだと考え、調べてみた。
以下のWebページが見つかった。
http://www005.upp.so-net.ne.jp/develop-tom/deb/wireshark-deb.html
Wiresharkはキャプチャ時に”/usr/bin/dumpcap”というコマンドを使っているので、dumpcapに対して以下の[[ケーバビリティ>http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/capabilities.7.html]]を許可すればよいらしい。
: CAP_NET_ADMIN | 各種のネットワーク関連の操作を実行する。
: CAP_NET_RAW | RAW ソケットと PACKET ソケットを使用する。
具体的には、以下のように実行すればよいことがわかった。
>$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
これで、エラーもでなくなった。
[[Wireshark>http://www.wireshark.org/]]というパケットキャプチャのソフトがある。一般ユーザだとキャプチャーするインターフェースを選択する際にエラーがでてキャプチャーできないため、これまではsudoやgksuコマンドを使ってスーパーユーザー(root権限)で実行していた。
先日Ubuntuを10.10から11.04にupgradeしたところ、スーパーユーザーでWiresharkを起動すると、以下のエラーが出るようになった。
Lua: Error during loading:
[string "/usr/share/wireshark/init.lua"]:45: dofile has been disabled
メッセージにある”init.lua”の45行目を見てみると、以下のようになっており、スーパーユーザーで起動するとエラーがでるようになっている。たぶんupgradeにより変更になったのだろう。
40 -- disable potentialy harmful lua functions when running superuser
41 if running_superuser then
42 local disabled_lib = {}
43 setmetatable(disabled_lib,{ __index = function() error("this package has been disabled") end } );
44
45 dofile = function() error("dofile has been disabled") end
現状でも警告メッセージを無視すれば使えるのだが、わざわざ警告するからには、一般ユーザで実行する方法があるはずだと考え、調べてみた。
以下のWebページが見つかった。
http://www005.upp.so-net.ne.jp/develop-tom/deb/wireshark-deb.html
Wiresharkはキャプチャ時に”/usr/bin/dumpcap”というコマンドを使っているので、dumpcapに対して以下の[[ケーバビリティ>http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/capabilities.7.html]]を許可すればよいらしい。
: CAP_NET_ADMIN | 各種のネットワーク関連の操作を実行する。
: CAP_NET_RAW | RAW ソケットと PACKET ソケットを使用する。
具体的には、以下のように実行すればよいことがわかった。
>$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
これで、エラーもでなくなった。
----
#comment()
----