12

「tcpdump -w 1.pcap」を実行するときにファイル サイズを制限する必要があります。キー「-C」を使用してこれを実行しようとしましたが、追加すると「許可が拒否されました」というエラーが表示されます。そう:

> sudo tcpdump -w 1.pcap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C821 packets captured
847 packets received by filter
24 packets dropped by kernel

しかし:

> sudo tcpdump -C 100 -w 1.pcap
tcpdump: 1.pcap: Permission denied

ホームディレクトリからコマンドを実行し、別の権限でコマンドを実行する前にファイルを削除して作成しようとしましたが、最終的には次のようになりました。

-rwxrwxrwx 1 root root 0 Aug  5 10:30 1.pcap

また

-rwxrwxrwx 1 fd8 users 0 Aug  5 10:30 1.pcap

2番目のケースでファイルに書き込めない理由を教えてください。

4

3 に答える 3

13

あなたがする必要があります-Z root。マニュアルページを読んでください:

   -Z     Drops privileges (if root) and changes user ID to user and the group ID to the primary group of user.

          This behavior is enabled by default (-Z tcpdump), and can be disabled by -Z root.
于 2014-01-07T01:27:45.820 に答える
6

Ubuntu 12.04 LTS で同様の問題が発生し、以下の手順でケースが修正されました。

sudo apt-get install apparmor-utils

このパッケージには、user2704275 によって参照された aa-complain コマンドが含まれています。

環境が RedHat/CentOS ディストリビューションの場合は、yum で同じコマンドを実行できます。

sudo aa-complain /usr/sbin/tcpdump

これにより、tcpdump の AppArmor モードが「enforce」から「complain」に変更されます。/sys/kernel/security/apparmor/profiles で AppArmor のステータスを確認できます。

その後、sudo で tcpdump を取得できます。

tcpdump を取得した後、セキュリティ上の理由から、以下のコマンドで apparmor ステータスを以前のモードに戻すことができます。

sudo aa-enforce /usr/sbin/tcpdump

よろしく。

于 2013-10-01T10:47:10.633 に答える
4

ファイルから読み込もうとしたときに、同様の問題が発生しました。

tcpdump -r example.cap 'icmp[icmptype] = icmp-echo'

私にとっては、AppArmor が原因で、「tcpdump」で「強制」モードから「苦情」モードに切り替える必要がありました。root として次のコマンドを実行します。

aa-complain /usr/sbin/tcpdump
于 2013-08-21T15:34:58.573 に答える