tcpdump出现permission denied
- 在使用
tcpdump -i eth0 src host 192.168.0.184 and ip and port 22 -nn -w ping.pacp
命令抓包并把抓到的数据保存到ping.pacp时,出现了权限错误的报错。 - 但实际上我这里用的是root用户执行的命令。
-
查阅man手册发现:
-
在tcpdump中,-Z选项用于在启动数据包捕获后降低程序的权限,从而增强系统的安全性。默认开启
-
如果tcpdump以root用户身份运行,它将在打开用于捕获数据包的设备或输入保存文件后,更改其运行时的用户ID(UID)和组ID(GID)。它会切换到指定的user的UID和该user的主组GID。
-
这样做的目的是减少tcpdump拥有的权限,因为以root身份运行的进程如果被恶意利用,可能会对系统造成严重的安全风险。
-
那么如果使用root用户遇到这个问题,可以使用-Z root指定root身份执行tcpdump,从而关掉这个默认选项